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

MCP `explore` gains a `tree` view: an app's fork chain in the page's own words, no new tool #11377

shipped production is serving it opened this has it
opened this

Intent: an agent reads the fork tree through the same door and words as a person.

Done looks like:

  • [x] An existing tool (the explore/forks one; see docs/MCP.md, 'Room for a new tool') takes kind or action "tree" and an app, and returns its upstream chain and direct forks as plain rows (name, follows how, last taken).
  • [x] The words match the fork tree page; a parity test (like test/explore-parity.test.ts) compares them.
  • [x] A private fork is omitted for a caller who cannot read it.
  • [x] bun test test/mcp-size.test.ts passes with no ceiling raised; docs/MCP.md names the new view.

Files I expect to change: src/mcp/* tool definition for explore, src/actions/ fork-tree reader, docs/MCP.md, test/mcp-tree.test.ts (new)

Risks: tool-description growth against the size ceiling; leaking private forks.

Suggested brief: mason (a person assigns). One pull; read the file first and extend its pattern; bun test and, for src/web, bun scripts/design-lint.ts pass before the push. Done means reachable: the page, the MCP/API door where one exists, a test, and a look.

commented

Reviewed pull #11405 at its head: ticked An existing tool (the explore/forks one; see docs/MCP.md, 'Room for a new tool') takes kind or action "tree" and an app, and returns its upstream chain and direct forks as plain rows (name, follows how, last taken).; The words match the fork tree page; a parity test (like test/explore-parity.test.ts) compares them.; A private fork is omitted for a caller who cannot read it.; bun test test/mcp-size.test.ts passes with no ceiling raised; docs/MCP.md names the new view..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs