Space MCP tools
Registered when the server starts with SPACE_API_URL set. 29 tools, listed with the description the server sends in tools/list.
| Tool | Description |
|---|---|
space_add_channel_members |
Add people to a PRIVATE channel. A public channel has no membership — every workspace member can already see it — so this refuses one. Every id must be a current workspace member. Use space_list_members for the user ids. |
space_attach_issue_image |
Pin an image that is ALREADY in this workspace’s Drive to a Space issue, so the issue shows what needs adjusting. Takes the Drive file id (see drive_list_files) — bytes cannot be uploaded through a tool call; a person does that in the Space web app, or dst space issue attach <file> from a terminal. An issue holds at most 50 images, and pinning the same file twice is refused rather than duplicated. |
space_comment_issue |
Post a comment on a Space issue’s thread. It appears under the authenticated user’s own name and cannot be unsent. |
space_create_channel |
Create a channel. A public channel is visible to the whole workspace; a private one only to the people listed in members (the caller is added automatically). |
space_create_issue |
Open a new issue (ticket) in Destesi Space. Returns its key (ENG-12), id and url — link the user to that url verbatim; the path is the SINGULAR /issue/<id>, and /issues/<id> is a different route that 403s. Needs a team — call space_list_teams first when the workspace has more than one and the user did not say which. |
space_create_label |
Create a label in a Destesi Space workspace. Colour is optional and defaults to grey. |
space_create_team |
Create a team in a Destesi Space workspace. A team owns issues and supplies their key prefix — the ENG in ENG-12 — so a workspace with no team cannot hold an issue yet. |
space_delete_issue |
Delete an issue and its whole thread. Only the issue’s creator or a workspace admin may (403 admin_required). There is no undo and no trash. To take an issue out of the way REVERSIBLY, set its status to cancelled with space_update_issue instead. |
space_delete_message |
Delete one of the CALLER’S OWN messages. The text is removed for everyone; the row survives so replies parented on it and the thread’s ordering stay intact. It cannot be undone, and only the author may do it. Prefer space_edit_message when the message just needs correcting. |
space_edit_message |
Rewrite one of YOUR OWN Space messages in place, keeping its position in the thread. Use it to correct a comment you just posted: posting again would leave the wrong one standing above it. The body REPLACES the old one — send the whole corrected message, not the change. Only the author may edit; anyone else’s message answers not-found. |
space_get_issue |
Fetch one Space issue by its key (ENG-12) or id. |
space_list_channels |
List the channels in a Destesi Space workspace. Each carries a thread_id that space_post_message accepts. |
space_list_dms |
List the caller’s direct-message conversations in a Destesi Space workspace. Each carries a thread_id that space_post_message accepts. |
space_list_issue_attachments |
List the images pinned to a Space issue. Each carries an id, a name and a ready-to-open url. Screenshots are how people say WHICH visual detail an issue is about, so read them before acting on one. |
space_list_issues |
List issues in a Destesi Space workspace, newest first. All filters are optional and combine with AND. Each issue carries its key (ENG-12), title, status, priority, assignee and thread_id. |
space_list_labels |
List the labels in a Destesi Space workspace. Returns each label’s id, name and colour. |
space_list_members |
List the people in a Destesi Space workspace. Use it to turn a name into the user_id that assignee_user_id takes. |
space_list_replies |
Read the replies hanging off ONE message. space_read_thread returns top-level messages with a reply_count; this is how to see what is inside one that reports replies. |
space_list_teams |
List the teams in a Destesi Space workspace. Returns each team’s id, key (the ENG in ENG-12) and name — the key is what space_create_issue’s ‘team’ argument accepts. |
space_list_unread |
What the caller has not read: one unread count per thread. This is the tool for “what did I miss?” — follow it with space_read_thread on the threads that have something. |
space_mark_read |
Advance the caller’s read cursor on a thread so it stops showing as unread. Private to the caller — nobody is told they read it. |
space_open_dm |
Open the direct-message conversation with one or more people and return its thread_id. Opening the same conversation twice lands in the same thread, so this is safe to call before every DM. The caller is always a participant; do not list them. |
space_post_message |
Post a message into a Space thread — a channel, a DM or an issue thread — as the caller. It goes out under their own name to other people and CANNOT be unsent. |
space_react |
Add or remove one of the caller’s emoji reactions on a message. Set remove to take a reaction back — it is wholly reversible, which is why it is not marked destructive. |
space_read_thread |
Read the messages in a thread — a channel, a DM or an issue. Returns top-level messages newest-last, each with its id, author, seq and reply_count. Thread ids come from space_list_channels, space_list_dms, space_open_dm and space_get_issue. |
space_remove_channel_member |
Remove someone from a PRIVATE channel. They lose access to it and to everything said in it. Anyone may remove themselves; removing someone else is for the channel’s creator or a workspace admin (403 admin_required). A public channel has no membership, and removing from one is refused rather than reported as done. |
space_remove_issue_attachment |
Unpin one image from a Space issue. The Drive file itself is NOT deleted — it stays in the workspace’s Drive and can be pinned again with space_attach_issue_image. |
space_update_channel |
Rename a channel, change its purpose, or archive it. Archiving is how a channel is retired — Space keeps history, so there is no delete. Omitted fields are left alone. Owners and admins only; an admin may also archive (only archive, by id) a private channel no current workspace member is in, without reading it. |
space_update_issue |
Change a Space issue’s status, priority, title, description or assignee. Omitted fields are left alone; pass assignee_user_id as an empty string to unassign. |