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

MCP `steer`: say a word to one running crew run by its id, as the run page does #6242

shipped production is serving it opened this has it
opened this

POST /api/v1/repos/:owner/:name/runs/:id/steer (src/http/api.ts, steerRepoRun in src/actions/runs.ts) has no MCP tool: an agent or a phone can stop a run but cannot steer one.

Done:

  • [ ] src/http/mcp/tools/steer.ts, registered in the tool index: { repo, run, text }, writes: true, calling steerRepoRun exactly as the route does, so the refusals are the same (empty, not_agent, access).
  • [ ] Answers { says, outcome } in the same words as the route's outcome.
  • [ ] docs/MCP.md and /llms.txt's generated index list it.
  • [ ] A test in test/mcp-steer.test.ts: a writer's rw token steers a running agent run and the run's steering is recorded; an ro token, a reader, an empty text and a non-agent run are each refused.

Files: src/http/mcp/tools/steer.ts, the tool index, docs/MCP.md, a new test.

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