Skip to content

MCP tools

List plans. Every plan in the folder with its progress: done and total, how many items are ready and waiting, how many are late, and its errors. The same as sprig tree --summary --json. Reads.

No arguments.

Show a plan. One plan as a resolved tree: every item with its status, progress, people, dates and what it waits on, grafts mounted. The tree format of spec/tree.schema.json. Reads.

Argument Type
file string required The plan, as list_plans names it, with or without .sprig

What to do next. Open work with nothing in its way, in progress first, then by priority and due date. Call this to decide what to work on. The same as sprig next --json. Reads.

Argument Type
who string optional Only work this person owns, with or without the @
limit integer optional At most this many

Find items. Items matching every term of a query: words from the text, @who, #tag, is:open|todo|doing|done|dropped|later|ask|blocked, and due:DATE, due:<DATE, due:<=DATE, due:>DATE or due:>=DATE, where DATE may be a shortcut such as fri or +2w. The same as sprig find --json. Reads.

Argument Type
query string required For example: is:blocked @dana

Check plans. Every problem in the folder’s plans: broken grafts, loops, unknown references and the rest, with file, line and a stable code. The same as sprig check --json. Run it before saying the plan is done. Reads.

No arguments.

Tick items. Mark items done, or reopen done ones; a recurring item’s due date moves to its next date instead. Returns the diff and what stopped waiting. Writes, through the edit API, and returns the diff.

Argument Type
refs list of string required An item: ^anchor, file^anchor, file.sprig:LINE, or words from its text that match one item. Refs come back in every result.

Set an item’s mark. Set an item’s status mark: - to do, ~ doing, x done, / dropped, > later, ? question (or the words todo, doing, done, dropped, later, ask). A group or a graft takes its status from its children and cannot be marked. Writes, through the edit API, and returns the diff.

Argument Type
ref string required An item: ^anchor, file^anchor, file.sprig:LINE, or words from its text that match one item. Refs come back in every result.
mark - ~ x / > ? todo doing done dropped later ask required

Add items. Add items, in order, under an item (as its last children) or after one (as siblings), indented to match; with neither, at the end of PLAN.sprig. A line without a mark becomes a to-do, and typed dates such as due:fri are written out. Each call and each session may add a limited number of items. Writes, through the edit API, and returns the diff.

Argument Type
items list of string required One line each, such as “Write the migration due:fri @me”
under string optional An item: ^anchor, file^anchor, file.sprig:LINE, or words from its text that match one item. Refs come back in every result.
after string optional An item: ^anchor, file^anchor, file.sprig:LINE, or words from its text that match one item. Refs come back in every result.

Answer a question. Settle a ? item with an answer line under it (= …). Only answer a question a person asked you to settle; a question that names a person is theirs. Writes, through the edit API, and returns the diff.

Argument Type
ref string required An item: ^anchor, file^anchor, file.sprig:LINE, or words from its text that match one item. Refs come back in every result.
text string required The answer

Set a field. Set a key:value field on an item, such as due, start, est, every or one of your own; an empty value removes it. A value with spaces is quoted. Writes, through the edit API, and returns the diff.

Argument Type
ref string required An item: ^anchor, file^anchor, file.sprig:LINE, or words from its text that match one item. Refs come back in every result.
key string required
value string required Empty to remove the field