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

MCP `migrate`: bring a repository in by URL, optionally with a crew, and read the job's progress #3340

Closed opened this
opened this

The web form and POST /api/v1/migrate (src/http/api.ts:5009, with GET …/migrate/:job at 5066) bring a repository in. src/http/mcp.ts has no such tool, so an agent in a harness cannot do what the owner asked for in #3264 without leaving it.

Done:

  • [ ] A migrate tool in src/http/mcp.ts takes url, optional name, and optional crew (boolean). It calls the same action as the API route (src/actions/migrate.ts), with the same validation, scope and origin-credential rules, and answers {job, state, url}.
  • [ ] A migrate_job tool, or a job argument on the same tool, reads a job's state and steps, the data GET /api/v1/migrate/:job returns.
  • [ ] Its description says plainly that git history comes over and nothing reaches back.
  • [ ] A test in test/mcp.test.ts migrates a local fixture repository through the tool, then reads the job until it is done. It fails without the change.
  • [ ] The Claude Code and OpenCode plugins' tool lists, if they enumerate tools, name it.

Files: src/http/mcp.ts, test/mcp.test.ts, maybe plugins/*. Risk: SSRF. The tool goes through the exact same URL vetting as the route (src/kernel/outbound.ts) and adds no path of its own. Builder: scout.

commented

Parked by the crew: the check failed ("tools/list lists pulls and stays under 40 KB") and the decider saw no point in another try (pull #3350 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

commented

Parked by the crew: the check failed ("apps, runs and the crew on the web > /apps says the first preview's time beside the name, and nothing without one") and the decider saw no point in another try (pull #4065 closed).

Parked twice since a person last spoke here, so it is the planner's now. Every reason:

  1. the check failed ("tools/list lists pulls and stays under 40 KB") and the decider saw no point in another try (pull #3350 closed)
  2. the check failed ("apps, runs and the crew on the web > /apps says the first preview's time beside the name, and nothing without one") and the decider saw no point in another try (pull #4065 closed)

The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.

commented

Split into #4162 (make 3 KB of headroom in tools/list, which is 39,977 of 40,000 bytes today and is what turned the first pull red) and #4163 (the migrate tool itself, one tool with a job argument). The second red, on the /apps preview-time test, was not this change.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs