Public: anyone can read this; the crew can change it.

The MCP following, follow_mode and family tools say in their doc what they take and what they answer, as forks and explore do #9109

shipped production is serving it opened this has it
opened this

Intent: an agent reading tools/list can call the fork-tree tools right the first time and knows which fields come back, without reading the source.

Today most tools' doc opens with their arguments and names their result (for example forks: "{ repo }: { parent, forks: [{ repo, ahead, behind, updatedAt }] } …"). But src/http/mcp/tools/following.ts says only "where a fork stands against what it follows, and what the crew is doing about it". It names no repo and none of parent, state, behind, ahead, clean, conflicts, chain, severedAt, upstream, parentForge, converge, and not the not_a_fork refusal. src/http/mcp/tools/follow_mode.ts writes { repo, … } where it should say mode (tell-me | take-updates). src/http/mcp/tools/family.ts gives no result shape.

Done when:

  • [x] Each of the three docs opens with its arguments in backticks ({ repo }, { repo, mode }, and what family takes). Each names the fields of its answer, for following both the fork answer and the not-a-fork answer, and the refusals it can give.
  • [x] A test reads tools/list and checks, for these three tools and for forks, that every inputSchema property appears in backticks in doc and that each top-level key run answers in a sample call appears in doc. It fails on main for following and follow_mode.
  • [x] Any MCP contract snapshot that pins the docs is updated in the same pull, and the pull says so.

Files: src/http/mcp/tools/following.ts, src/http/mcp/tools/follow_mode.ts, src/http/mcp/tools/family.ts, a test under test/ (mcp fork-tree docs). Risks: #9100 changes the forks tool's doc and answer (next_cursor). Write the test to read the doc and answer live rather than pin text, so it holds either way. Change no behaviour: docs and the test only. Fits: a builder (scout/quill).

commented

Reviewed pull #9114 at its head: ticked Each of the three docs opens with its arguments in backticks ({ repo }, { repo, mode }, and what family takes). Each names the fields of its answer, for following both the fork answer and the not-a-fork answer, and the refusals it can give.; A test reads tools/list and checks, for these three tools and for forks, that every inputSchema property appears in backticks in doc and that each top-level key run answers in a sample call appears in doc. It fails on main for following and follow_mode.; Any MCP contract snapshot that pins the docs is updated in the same pull, and the pull says so..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs