MCP tools
list_plans
Section titled “list_plans”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_tree
Section titled “show_tree”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 |
next_items
Section titled “next_items”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
Section titled “find_items”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
Section titled “check_plans”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
Section titled “tick_items”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. |
mark_item
Section titled “mark_item”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
Section titled “add_items”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_question
Section titled “answer_question”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_field
Section titled “set_field”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 |