
Your orchestrator model is brilliant. It's also doing work an intern could handle. Every time Claude...
Your orchestrator model is brilliant. It's also doing work an intern could handle.
Every time Claude Code renames a variable, writes boilerplate tests, or greps through a codebase, you're paying Opus-tier (or Fable-tier) prices for a task a cheaper model would do just as well. Worse: while your top model is busy running that grunt work, it isn't doing the thing you actually hired it for — thinking about your architecture, your bug, your feature.
The fix isn't a smarter prompt. It's a division of labor: the expensive model directs, cheaper models execute. The orchestrator breaks the problem down, delegates the mechanical pieces, reviews the results, and keeps its context — and your budget — focused on the hard parts.
That's exactly what opencode-mcp does.
opencode-mcp is an MCP server that lets any MCP host — Claude Code, Codex, Cursor — drive an OpenCode instance and delegate tasks to its subagents, asynchronously and in parallel.
Your orchestrator stays in charge. OpenCode's agents — running whatever models you've configured, from budget tiers to specialized ones — do the heavy lifting.

You need Node.js 18+ and OpenCode installed with at least one provider configured. Then, for Claude Code:
claude mcp add opencode -- npx -y mcp-server-opencode
For Codex:
codex mcp add opencode -- npx -y mcp-server-opencode
That's it. No cloning, no building. Restart your host and the opencode_* tools are available.
Here's the demo that convinced me to build this. The prompt to Claude Code:
"Generate unit tests for blocks 1-5. Delegate the work to OpenCode agents and review the results when they're done."
What happens under the hood:
1. Claude starts a server and checks who's available.
Claude calls opencode_start_server, then opencode_list_agents to see which agents and models the OpenCode instance exposes.
2. Claude fires five tasks — and doesn't wait.
Five opencode_start_task calls go out, one per block. Each returns a task_id immediately. Each task runs in its own isolated OpenCode session, so the five agents can't step on each other.

This is the key design decision: delegation is asynchronous. Claude isn't blocked watching a progress bar. While the five subagents write tests, the orchestrator keeps moving — in my session, it used that time to review the service interfaces and draft the integration-test plan itself.
3. Claude waits for all five — with visibility.
When it's ready to collect, Claude calls:
opencode_wait_for_task
task_ids: [t1, t2, t3, t4, t5]
mode: "all"
include_progress: true
wait_for_task long-polls until every task finishes (or a timeout elapses). If something is still running when the timeout hits, include_progress returns a partial output snippet and the tool the subagent is executing right now — so you see "it's running the test suite", not a black box.
4. Claude reviews and iterates.
One of the five suites came back thin — missing edge cases on error paths. Instead of starting over, Claude calls opencode_continue_task on that session: "Add tests for the failure paths in retry()." The subagent picks up right where it left off, full context intact.

Total orchestrator involvement: break down the work, fire, review, refine. The mechanical writing happened elsewhere, on the models you chose for it.
Most "delegate to another agent" MCP servers make a blocking tool call: the host calls the tool, the tool runs the agent, and everybody waits. That breaks down fast:
start_task responds in milliseconds, and status is polled separately.get_task_status and wait_for_task with include_progress show partial output and the currently running tool mid-flight.continue_task keeps the subagent's session alive for iterative back-and-forth — you refine the result instead of re-running the task.One more piece worth highlighting: the server ships a delegate_task MCP prompt that includes a model selection guide — a mapping from each OpenCode model tier to the task difficulty it should handle. The point of delegation isn't just being able to hand off work; it's knowing what to hand off to whom. The prompt teaches your orchestrator exactly that.
Nine focused tools — servers, agents, and the task lifecycle:
| Tool | What it does |
|---|---|
opencode_start_server / opencode_stop_server | Start (or attach to) / stop an OpenCode instance |
opencode_list_agents | List available agents and models |
opencode_start_task | Delegate a task; returns a task_id immediately |
opencode_continue_task | Send a follow-up prompt to an existing task's session |
opencode_cancel_task | Abort a running task |
opencode_get_task_status | Poll status, optionally with partial progress |
opencode_get_task_result | Fetch the final result |
opencode_wait_for_task | Long-poll one or many tasks (mode: "all" / "any") |
That's deliberate. This server doesn't try to wrap every OpenCode capability behind seventy tools — it does one thing: async task delegation, done properly. The codebase backs that up with a 100% coverage threshold enforced in CI (lines, branches, functions, and statements — any uncovered line breaks the build).
The demo covered the parallel-tasks case, but the same pattern works for more:
claude mcp add opencode -- npx -y mcp-server-opencode
The repo is at github.com/alejandro-technology/opencode-mcp and the package is mcp-server-opencode on npm. Install it, delegate something, and tell me what you handed off — I want to hear what your orchestrator stopped doing itself.
cursorCursor Automations in 2026: wire event-triggered coding agents to Slack, CI, and...
aiThe specs exist. The AI just can't see them. I've always been the type who builds hobby...
amazonbedrockConnect Claude Code, Cursor and Codex to Amazon Bedrock's new console (2026) Summary. On 5...
aiThere is a weird uncanny valley with LLM-generated UI right now. The code functions perfectly, but if...
aiI went down a rabbit hole this morning reading the late-2025 Juejin AI roundups side by side, and the...
mcpInstall guide and config at curatedmcp.com Zendesk MCP: Let Claude Handle Your Support...
Workflows from the Neura Market marketplace related to this Cursor resource