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

MCP tools/list pages with nextCursor, so adding a tool never busts one response's budget #6355

shipped production is serving it opened this has it
opened this

Part of #6217, the decision it asks for: page tools/list, as the MCP spec allows, rather than raising the budget.

Done:

  • [ ] tools/list answers at most one page of tools within the budget, plus nextCursor when more remain. A request with that cursor answers the next page. An unknown cursor is a JSON-RPC invalid-params error.
  • [ ] test/mcp-size.test.ts checks the budget per page, so a new tool cannot fail it.
  • [ ] Tests: walking every page lists every tool exactly once; a bad cursor is refused.
  • [ ] docs/MCP.md says tools/list is paged.

Files: src/http/mcp.ts, test/mcp-size.test.ts, docs/MCP.md.

Risk: check that the Claude Code and OpenCode plugins under plugins/ follow nextCursor; if one does not, say so in the pull.

Before pushing: bun x tsc --noEmit and the tests you add or touch; bun scripts/design-lint.ts if src/web/ changes. Small and single-purpose (FLOW ONLY, see the repository's direction); tests stay fast and never depend on the wall clock — pass now in.

commented

Parked by the steward, 2026-10-26 (owner: "get us unclogged now then resume everything else"). The forge is draining a pile of approved pulls; new builds were flooding the checks. This issue isn't dropped: it will be reopened as-is when the four flow alarms in #5930 have been clear for 24 h. The list is kept in the steward's parked-2026-10-26 file.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs