MCP tools
55 tools at /api/mcp, grouped by the permission that gates them
This list is fetched from Motir when the page is requested, so it is whatever the server ships right now. The authoritative surface is still the one the server answers with — a tools/list handshake against /api/mcp, which carries each tool's full description. Which of these a given token may call depends on the grant it carries, so the list your client shows is already scoped to you.
View project
Open the project and read its work items, boards, backlog and reports. · granted by default
dispatch_promptThe server-generated coding-agent prompt for one item — the same text the CLI hands an agent.
get_planA plan with the proposals it bundles: what the planner actually proposed, not just how much.
get_plan_statusWhat became of a submitted planning job — its state, and how many proposals it produced.
get_project_stateA project's planning preconditions — established, code connected, indexed, repo set — before you plan.
get_work_itemOne item in full — description, status, parent and children, dependency edges, and a readiness verdict.
get_work_item_activityOne page of an item's discussion and change trail: comment threads and history, interleaved.
list_projectsEvery project this token can reach, each with the projectKey every other tool takes.
list_readyThe ready-to-start set for a project — every item whose dependencies are all satisfied, paginated.
list_sprintsA project's sprints with state, goal, window and issue count, and the ids the sprint tools take.
next_readyThe single highest-ranked ready item, as a full dispatch payload. The “what do I do next” call.
search_work_itemsSearch a project's items with the same filter grammar the advanced filter builder writes.
search_work_items_semanticHas this already been built? Search by MEANING rather than substring — keys, titles and scores only.
skeletonThe whole project's tree shape in one read — every item's key, kind, title, status and parent, with no paging loop.
validate_planWould approve TAKE this plan, and is it finishable? Both, before `final: true` — nobody else will ask.
validate_sprintIs this sprint finishable? Names every in-sprint item still gated by work outside it.
validate_work_itemIs this epic, story, task or bug finishable? Names the out-of-subtree work still gating it.
whoamiWho this token is: the owning user, the active workspace, and the scopes granted. Call it first.
View the lesson library
Read what the project's AI planner learned from its own planning work. · granted by default
search_lessonsSearch recorded lessons by meaning — the shared corpus and this project's own — before you plan or build.
Change the lesson library
Retire a lesson or add one — both change the standing instructions the planner is given. · granted by default
add_lessonRecord a lesson for this project, so later plans for it are given the lesson. This project only.
Record a lesson recurrence
Note that a lesson's mistake happened again. It changes nothing the lesson says. · granted by default
reinforce_lessonRecord that a lesson you found describes something that just went wrong — whether or not you also change it.
Edit work items
Create, update, assign and move work items, and transition them on the board. · granted by default
attach_filePut a file ON a work item — a research findings document, a review’s notes — so a reader sees the deliverable on the work item instead of hunting for a pull request.
change_kindReclassify a leaf's kind when it is mis-filed — subtask to task, and back.
claim_next_readyAtomically claim the next ready subtask in the active sprint and flip it to In Progress. Race-safe.
claim_work_itemAtomically claim ONE named work item and flip it to In Progress. A lost claim says WHO holds it.
complete_sessionClose out a session branch after its PR merged: every item recorded on it moves to Done.
create_planOpen a plan to propose into — the reviewable container an agent fills instead of writing items.
create_work_itemCreate an epic, story, task, bug or subtask; points, estimate, type, executor and repo in one call.
link_pull_requestDeclare which work item a pull request delivers — call it right after opening one, once per work item it delivers. The association is a SET, so a second call ADDS rather than moving, and it works before any webhook delivery has arrived.
link_work_itemsCreate an edge between two items — blocked_by is the one that holds an item out of the ready set.
mark_integratedRecord that an item's work landed — the branch, the PR and the commit that carried it.
move_to_parentRe-parent an item, enforcing the kind-parent matrix and refusing a cycle.
publish_design_resultPut the design RESULT on a design work item — the note sections you changed, the mock and the .png export, in one call. It is the deliverable a reviewer opens, and nothing else publishes it.
transition_statusMove an item to another status. An illegal move comes back naming the ones that are legal.
unlink_pull_requestUndo ONE `link_pull_request` — remove the delivery recorded between a work item and a pull request. A delivery is a row, so re-linking the right work item ADDS rather than corrects; this removes exactly the one pair you name and leaves every other delivery alone.
unlink_work_itemsRemove an edge, given the same relationship used to create it.
update_work_itemEdit any subset of an item's fields, including the explanation body create cannot set.
Archive work items
Archive a work item and restore it later. Affects that item only — its children stay. · granted by default
archive_work_itemSoft-remove an item: it leaves the ready set and search, and stays fully restorable.
unarchive_work_itemRestore an archived item — the inverse of archive.
Delete work items
Permanently delete a work item and everything beneath it. Cannot be undone.
delete_work_itemPermanently delete an item and its whole subtree. Irreversible, and off by default.
Add comments
Post comments on work items, and edit or delete your own. · granted by default
add_commentPost a Markdown comment as the token owner. Mentions notify the member named.
Manage sprints
Start and complete Sprints, and rank the backlog. · granted by default
complete_sprintComplete the active sprint.
create_sprintCreate a planned sprint on a project, with an optional name, goal and planned window.
delete_sprintDelete a planned or complete sprint.
move_to_backlogMove items out of their sprint and back to the backlog.
move_to_sprintAdd items to a sprint in one atomic move, appended in the order given.
start_sprintStart a planned sprint, making it the project's active one.
update_sprintRename a sprint, change its goal, or adjust its planned window.
Run AI planning
Submit a planning job that spends the workspace’s AI credits and proposes plan changes. · granted by default
append_plan_turnAdd one turn to a project's planning conversation — what you want changed about the plan.
expand_itemSubmit an AI expansion of one container item. Spends the owner's credits; proposals await approval.
open_plan_sessionOpen — or resume — a project's planning conversation, and read its thread.
submit_plan_sessionSend the conversation's accumulated intent to the planner as one change set.
Author AI plans
Add proposals to a generated plan and close it for review. Reading a plan needs only project access. · granted by default
add_plan_itemsAppend proposals to a plan — or close it with an empty final batch; ids come back in order, so the next batch can hang children off them.
update_plan_itemFill in a proposal you appended — the deepen turn, while the plan is still being written.
update_plan_proposalCorrect a proposal — including its parent, its dependency edges and its repo pin (name and role) — even after the plan is in review.
withdraw_plan_proposalTake one proposal off a plan, instead of asking a reviewer to decline the whole thing.
MCP server covers wiring an agent to the endpoint and the token it needs.