Skip to content

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 ​

ToolParametersDoes
create_collectionpath, 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_collectioncollection, status?, and the same detailsEdits 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_worktreepath?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.
ignorecollection, add?, remove?, dry_run?Adds or removes .gitignore-style patterns for numbered files that aren't initiatives; dry_run previews.
fixcollection?, 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_collectioncollection, 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.
renumberref, 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.
tidycollection, 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.
repadcollection, 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 ​

ToolParametersDoes
fieldscollection?, 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.
listcollection?, 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]).
getrefOne initiative in full: dependency report, dependants, questions, acceptance criteria, themes, and every scoring dimension with its value and allowed values.
readycollection?, type?What can be picked up now, prerequisites first.
check_readyrefWhether one initiative is complete and ready to work on, check by check. Fails if it's already being built elsewhere.
graphcollection?, ref?, tag?, include_done?, and related?, themes?, show?, external?, direction?, arrows? to override the collection's graph settingsDependency graph as data and Mermaid.
reportsince?, 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.
questionscollection?, 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_questionref, 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.
validatecollection?, rules?, docs?Problems with initiatives and collection structure. See Validation rules.
check_docspaths?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.

ToolParametersDoes
createcollection, 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.
updateref, 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_updateentries, 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_statusref, 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_questionref, 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_questionref, 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_questionref, index or match, answer, record_in?, mode?Removes the question and records the decision (or ticks it, with mode: tick).
set_dependenciesref, 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.
completeref, docs_impactMarks 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_readmescollection?, check?Rebuilds generated README blocks; check only reports stale ones.

Prompts ​

PromptArgumentFor
design-reviewrefWorking through open questions with you, one at a time, grounded in the code.
implementrefHanding an initiative to an agent to build. Starts with a readiness check.
spikerefRunning a spike: measure, record findings, keep the code on its own branch.
triagecollection?Reviewing what's stale, blocked, undecided and next.

Whether prompts appear as slash commands depends on your MCP client.

Resources ​

URIContent
brindley://indexOverview 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.

MIT licensed · Named after James Brindley, engineer of the Bridgewater Canal