MCP tools & prompts
You rarely call these by name — ask your agent in plain words and it picks the tool. Wherever a tool takes ref, use name#n (sb#22), a bare number when unambiguous, or a path; collection accepts a name, an alias or a folder path.
Collections
| Tool | Parameters | Does |
|---|---|---|
create_collection | path, name?, aliases?, title?, summary?, owner?, link?, agent?, docs?, types?, tags?, statuses?, ignore? | Marks a folder as a collection (creating it if needed). The first one in a repo also returns the AGENTS.md snippet. |
update_collection | collection, status?, and the same details | Edits the collection README's front-matter. Its name can't be changed here. Takes dimensions, graph, columns and folders too — refused if they wouldn't read cleanly; null removes one. |
use_worktree | path? | Switches the server to another worktree of the repo for this session, so edits land where the agent is building; no path switches back. Every result names its checkout and branch; until you switch, it also lists the other worktrees, and writes warn that they're landing in the starting checkout. |
ignore | collection, add?, remove?, dry_run? | Adds or removes .gitignore-style patterns for numbered files that aren't initiatives; dry_run previews. |
fix | collection?, dry_run? | Repairs findings with one obvious fix — a broken link to an initiative that moved (one match by filename), dependencies written in front-matter — editing text only. Plans unless dry_run: false. |
rename_collection | collection, to, dry_run? | Moves a collection to a new folder, rewriting links into and out of it, and name#n references when its name follows the folder. |
renumber | ref, to?, dry_run? | Gives an initiative a new number (default: the next free one) — the fix for a number collision after a merge. Renames its file and asset folder and rewrites links and name#n references to it. Pass one file of a colliding pair by path. |
tidy | collection, dry_run? | For a collection with folders:, moves every initiative into its status's folder (or the top), rewriting links. Plans unless dry_run: false. |
repad | collection, width?, dry_run? | Pads every number in a collection to one width (01-), renaming files and asset folders and rewriting links across the repo. Plans only unless dry_run: false. |
collections | — | Every collection with aliases, counts by status, number ready and ignored files. |
Reading
| Tool | Parameters | Does |
|---|---|---|
fields | collection?, ref? | Every front-matter field a collection understands and the values it accepts — statuses and aliases, types, tags, scoring dimensions with their order and default. |
list | collection?, type?, status?, tag?, owner?, ready?, where?, order_by? | Initiatives, filtered — where by scoring dimensions ({ priority: [critical, high] }) — and ordered by them with order_by ([priority, impact]). |
get | ref | One initiative in full: dependency report, dependants, questions, acceptance criteria, themes, and every scoring dimension with its value and allowed values. |
ready | collection?, type? | What can be picked up now, prerequisites first. |
check_ready | ref | Whether one initiative is complete and ready to work on, check by check. Fails if it's already being built elsewhere. |
graph | collection?, ref?, tag?, include_done?, and related?, themes?, show?, external?, direction?, arrows? to override the collection's graph settings | Dependency graph as data and Mermaid. |
report | since?, until?, collection?, out?, palette?, mode?, branches?, worktrees? | Writes the one-page progress report and returns its path and figures — per collection and combined: complete, in progress, not started, scope, parked, what was delivered, added and taken out this period, and what needs attention. |
questions | collection?, ref?, include_implementation? | Unresolved open questions — not those of abandoned or superseded work, unless asked for by ref. A question that looks like several decisions is marked compound. |
next_question | ref, after? | The next blocking question to discuss, and how many remain; compound when it should be split first. |
tags | — | Every tag, with descriptions, counts and theme docs. |
validate | collection?, rules?, docs? | Problems with initiatives and collection structure. See Validation rules. |
check_docs | paths? | History phrasing, design debate and initiative links in project docs. |
version | — | The server's version. |
Writing
Every write touches only the initiative (or collection README) concerned, plus the regenerated README blocks — and reports every file it touched, ready to commit.
| Tool | Parameters | Does |
|---|---|---|
create | collection, title, type?, tags?, goal?, depends_on?, related?, why?, owner? | Coins the next number and writes the skeleton; dependencies become links. A folder path that isn't a collection yet is marked as one. |
update | ref, title?, type?, owner?, tags?, status_note?, docs?, status?, dimensions?, section?, content? | Edits front-matter or the H1, or replaces a body section — on done initiatives too, to refine settled work. status records the status of an initiative whose front-matter has none (for adopted files); changing a recorded status is set_status's job. dimensions sets scoring values ({ priority: "high" }, null clears). content is the section's body; a leading heading naming the section is dropped. |
batch_update | entries, dry_run? | update for many initiatives at once — e.g. status: "from-text" across an adopted folder. All or nothing: if any entry fails, nothing is written and every failure is listed. |
set_status | ref, status, superseded_by?, force?, reason?, outcome? | Changes status within the lifecycle rules. Aliases like parked are accepted. Abandoning needs a reason, shown in a callout under the title and in the README; outcome goes into ## Outcome. Starting work records the branch (or pass branch), and is refused if it's already in progress in another worktree or branch. |
add_question | ref, text, implementation? | Adds an open question; a blocking one sends a designed initiative back to draft. Warns when the text looks like more than one decision (several ?, or a nested list). |
split_question | ref, index or match, into, record_in?, mode? | Replaces one question with its parts, in place — each text or { text, implementation?, answer? }. A part with an answer is settled as it's written, like resolve_question. |
resolve_question | ref, index or match, answer, record_in?, mode? | Removes the question and records the decision (or ticks it, with mode: tick). |
set_dependencies | ref, add?, remove?, related_add?, related_remove?, why? | Adds or removes links under ## Dependencies / ## Related. Removes bullets only: a link in a paragraph stays, and the warning gives its line to edit by hand. Refuses cycles. |
complete | ref, docs_impact | Marks it done. docs_impact lists the project docs changed (paths from the repo root, not initiative files), or none: <reason> (spikes default to none). Reports what became ready. |
regenerate_readmes | collection?, check? | Rebuilds generated README blocks; check only reports stale ones. |
Prompts
| Prompt | Argument | For |
|---|---|---|
design-review | ref | Working through open questions with you, one at a time, grounded in the code. |
implement | ref | Handing an initiative to an agent to build. Starts with a readiness check. |
spike | ref | Running a spike: measure, record findings, keep the code on its own branch. |
triage | collection? | Reviewing what's stale, blocked, undecided and next. |
Whether prompts appear as slash commands depends on your MCP client.
Resources
| URI | Content |
|---|---|
brindley://index | Overview of every collection, cross-collection dependencies and themes. |
brindley://collection/<name> | One collection's tables and graph. |
brindley://initiative/<name>/<n> | One initiative's Markdown. |
brindley://tag/<tag> | A theme: its overview doc, then every tagged initiative. |