Subsystem

Subroutine MCP tools

The 15 tools the pinned MCP server offers an agent, as its tools/list describes each one.

subroutine_list

List work. Reads only, and changes nothing.

List open items — tasks and documents — from the backlog. Newest first; order='-priority_score' is what to work on next, ranking assessed items above half-assessed above unranked.

Arguments

Search. Reads only, and changes nothing.

Find items by their words, and terms — 'type:bug deploy'. Tasks and documents both.

Arguments

subroutine_show

Read one item. Reads only, and changes nothing.

Read one task or document in full, with its links and its record. A ref may name either kind.

Arguments

subroutine_add

Add a task. Adds or changes, and never deletes.

Create a task from one line. Dates, tags, priority, estimate and repeats ('every other tuesday') are parsed out of it: 'Fix the boiler by friday !4/2 ~2h #home +web'. !importance/urgency are 1-5, ~ is a duration, # is a tag, + is a project. Anything not recognised stays in the title verbatim.

Arguments

subroutine_comment

Record what happened. Adds or changes, and never deletes.

Add to an item's record of what happened — what you did, what you found, what failed. A '#42' in the body is a reference, not a link — subroutine_show offers the link where one fits. For a conclusion the next session needs, write a document instead. Pass remove=true with words from a comment to take it back out.

Arguments

subroutine_document

Write or revise a document. Adds or changes, and never deletes.

Record a conclusion the next session needs — a decision, a finding, a design, a dead end. A comment is what happened; a document is what you concluded. What you write is in force at once, and what is in force is what subroutine://conventions delivers — give it a status to hold it back while you are still thinking. A '#42' in the body is a reference, not a link — subroutine_show offers the link where one fits. Pass ref to revise one rather than writing a second.

Arguments

subroutine_update

Change a task.

Change a task: priority, estimate, status, title, or the day it is planned for or hidden until. Set both priority axes — one alone sorts below everything ranked. Omitted fields are unchanged.

Arguments

Join two items.

Say how two items are related. 'blocks' is what readiness reads — a task with an unfinished blocker is not listed as ready. Pass remove=true to withdraw the link instead.

Arguments

subroutine_project

Projects. Adds or changes, and never deletes.

List the projects, or make one by passing a key and a title. A key is permanent and lower case, like web or web-sales. Work is filed under a project with '+KEY' in a captured line.

Arguments

subroutine_changes

What changed. Reads only, and changes nothing.

What has changed since you last looked, oldest first. Ask at the start of a session: nothing here tells you when your own knowledge went stale. Pass the seq of the last event you saw back as 'since' — it is inclusive, so you will see that one again. For a period rather than a resume, use 'filter'.

Arguments

subroutine_journal

What happened. Reads only, and changes nothing.

What happened over a period, with what people wrote and who did each thing. subroutine_changes says what *moved* and is what you resume from a seq; this is the same events joined to the comments, the actor names and what a change moved between. Ask it when somebody wants a period written up. Give it a 'filter' — without one you get the most recent.

Arguments

subroutine_claim

Take a task. Adds or changes, and never deletes.

Take a task so another worker does not start it too, or give one back. 'ready' listings hide what somebody else holds and never hide your own. A claim does not say work has begun: set status to in_progress when you do. A claim expires by itself, so say it again while you are still working.

Arguments

subroutine_whoami

Who am I. Reads only, and changes nothing.

The account these tools act as, and what it may do. Worth asking before your first write: a shell you run resolves its own credential and can be a different principal, which is silent when it is wrong.

subroutine_call_api

Call the API directly.

For what the tools above do not cover. Prefer them: they carry the conventions this instance expects, and subroutine_add's line grammar (!4/2 ~2h #home +web) is not applied to fields you send here. Read subroutine://meta for this workspace's keys and subroutine://docs/examples for worked calls. Paths are like '/v1/tasks'.

Arguments

subroutine_done

Finish a task. Adds or changes, and never deletes.

Mark a task complete by its ref number.

Arguments