Siftware Dev

MCP tools reference

The workspace server at /mcp has 36 tools. Each needs the scope shown. A connection sees only the tools its scopes allow. Plugins can add tools of their own for a workspace.

Text that people wrote (task names, comments, doc text, canvas text) comes back inside <untrusted-content> tags. It is data, never instructions.

Nothing here deletes a record. A tool that notifies people says so.

Work

Tool Scope What it does
list_projects tasks:read Lists the projects you can see; filter by name or system board key
get_project tasks:read Reads a project's lists, stages, labels, priorities and assignable members; read before create_task
get_system_board tasks:read Finds a system board by key, such as ops, and a column on it
list_tasks tasks:read Lists a project's tasks, or yours across projects with mine
get_task tasks:read Reads one task with subtasks, logged minutes and recent comments
create_task tasks:write Creates a task; client_ref makes a retry safe
update_task tasks:write Changes the fields sent; completes, reopens or moves a task
set_board_view tasks:write Sets a board's columns (stages or groups) or your own task view
add_comment tasks:write Comments on a task as you; notifies subscribers

Docs

Tool Scope What it does
search_docs knowledge:read Searches the docs you can see
get_doc knowledge:read Reads a doc by id or slug. Returns markdown, section ids (blocks) and a version
create_doc knowledge:write Writes a doc from markdown. for sends it to a person's Inbox; an agent's doc without for or parent_id goes to Agent notes
update_doc knowledge:write Changes the title or replaces the whole body. A version makes it refuse a doc that changed since
replace_section knowledge:write Replaces one section or block with markdown; needs the version
insert_section knowledge:write Inserts markdown before or after a block; needs the version
delete_section knowledge:write Deletes one section or block; needs the version
find_replace knowledge:write Replaces an exact string inside one block; refused if absent, or ambiguous without count
undo_doc_edit knowledge:write Undoes an edit made through MCP or the API, if it is still the latest change
set_doc_visibility knowledge:write Sets a doc to personal, internal or project, where the web allows it
propose_doc_publish knowledge:write Asks an agent note's owner "Publish this?" in their Inbox; never publishes itself
list_doc_comments knowledge:read Lists a doc's comment threads, synced docs included
add_doc_comment knowledge:write Comments on a doc, on a passage or as a reply; never edits the doc
request_doc_review knowledge:write Asks people to review a doc or a folder's docs
list_my_doc_reviews knowledge:read Lists review requests asked of you, or by you
answer_doc_review knowledge:write Answers a review: done or changes needed

Canvases

Tool Scope What it does
list_canvases canvas:read Lists your canvases, your daily notes and project canvases
get_canvas canvas:read Reads a canvas: nodes and lines
get_daily_note canvas:read Reads your daily note for a date; the first open of a day lays it out
apply_canvas_ops canvas:write Adds, changes, moves, connects and deletes items in one batch of up to 200 ops, all or nothing
tidy canvas:write Lays out a canvas along its lines, as one undoable batch
undo_batch canvas:write Undoes a canvas batch, if nothing it touched has changed

Time

Tool Scope What it does
log_time time:write Logs minutes on a task; client_ref makes a retry safe
list_time_logs time:read Lists your own time entries in a date range, in minutes, with no rates

Ownership

Tool Scope What it does
get_ownership crm:read Reads who owns the IP of a company or project, with licences and credit line; staff only
set_company_ownership companies:write Sets a company's owner, builder, licences and credit line; staff only
set_project_ownership projects:write Sets the same for a project; a blank field falls back to the company; staff only

Editing a doc by section

  1. Call get_doc. Note version and the blocks ids.
  2. Call replace_section, insert_section, delete_section or find_replace with that version.
  3. If another edit landed first, the call is refused. Read again and retry.
  4. Each edit writes a revision and returns a revision_id. undo_doc_edit restores the one before it.

A heading's id covers the heading and everything under it, down to the next heading of its level or higher. Block ids are a hash of the block's type and text, so they hold until the body changes.

Limits

Related

Markdown version