opencode-bridge
Lets Claude Code delegate coding tasks to external models running on a local opencode serve, preserving main agent tokens for planning and review.
README
opencode-bridge
An MCP server that lets Claude Code delegate coding tasks to external models running on a
local opencode serve, so the main agent's tokens go to planning and review instead of
mechanical implementation work.
Claude Code --MCP stdio--> opencode-bridge --HTTP/SSE--> opencode serve --> delegated model
Platform
This project is Windows-first. The MCP server itself (src/index.ts, a Node.js stdio
process) is portable to any OS Node runs on. What is not portable is the supervision layer: the
serve is kept alive by the Windows Task Scheduler, and the setup/maintenance scripts
(scripts/*.ps1) are PowerShell 7. Everything under SETUP.md, TROUBLESHOOTING.md and
docs/USO-NO-CLAUDE-CODE.md was written and measured on Windows.
Running this on Linux or macOS would require rewriting the supervision layer — a systemd
unit or a launchd agent in place of the scheduled task, and a shell equivalent of
scripts/install-serve-task.ps1, scripts/start-serve.ps1 and
scripts/sync-opencode-config.ps1. None of that exists in this repository today; this section
states what the gap is, not that it is filled.
Requirements
- Node.js 20+ and npm.
opencodeinstalled and onPATH, already authenticated with at least one provider.- PowerShell 7.3+ (
pwsh) — used by the setup and maintenance scripts. - Claude Code, to register the bridge as an MCP server.
Installation
- Clone the repository (the scheduled-task script assumes
%USERPROFILE%\opencode-bridgeby default — seeSETUP.md§2 if you clone elsewhere). npm install && npm run build.pwsh -File .\scripts\install-serve-task.ps1— generates the serve credential and registers the scheduled task that startsopencode serveat user logon.pwsh -File .\scripts\sync-opencode-config.ps1— mirrors the MCPs configured in Claude Code into opencode's config and restarts the serve.- Copy
bridge.config.example.jsontobridge.config.jsonand pointaliases/cheapModelat models your own opencode provider actually exposes (check withopencode models, or withlist_modelsonce step 6 is done). Without this file,delegate_taskstill works by passing a raw"provider/model", butbridge_health deep: truehas nocheapModelto probe with and fails.sync-overrides.jsonfollows the same copy-the-example pattern, if you need to change which MCPs the sync step excludes or adds. - Register
opencode-bridgeas an MCP server in Claude Code (exact JSON indocs/USO-NO-CLAUDE-CODE.md§1) and run thebridge_healthtool withdeep: trueuntil it comes back green.
Full walkthrough, including the serve's authentication model and what to adjust if you did not
clone into the default path: SETUP.md.
Tools
| Tool | What it does |
|---|---|
delegate_task |
Creates a session and delegates a task to an external model, waiting for the result. |
continue_task |
Sends a follow-up prompt to an existing session, with full history. |
task_progress |
Inspects a running session (tool-call count, todo list) without interrupting it. |
abort_task |
Stops the round in progress; keeps the session for inspection or resume. |
end_task |
Ends and deletes a session on the server. |
list_tasks |
Lists sessions known to the server, recovering ones the bridge's registry lost. |
list_models |
Lists every model the opencode server offers, plus your configured aliases. |
bridge_health |
Checks the whole delegation chain: credential, serve, auth, models, skills, and optionally a real MCP call. |
Detailed parameters, when to use each tool and when not to: docs/USO-NO-CLAUDE-CODE.md.
Documentation
SETUP.md— installation, the serve's authentication model, changing the delegated agent's MCP list.docs/USO-NO-CLAUDE-CODE.md— how to register the bridge in Claude Code, the tool catalog, environment variables, model selection.TROUBLESHOOTING.md— symptom → cause → the command that fixes it.docs/APRENDIZADOS.md— what building this taught about signals, gates and silent failure modes; useful even if you never run this bridge.
License
MIT — see LICENSE.
opencode-bridge (português)
Um servidor MCP que permite ao Claude Code delegar tarefas de código a modelos externos
rodando num opencode serve local, para que os tokens do agente principal sejam gastos em
planejamento e revisão, não em trabalho mecânico de implementação.
Claude Code --MCP stdio--> opencode-bridge --HTTP/SSE--> opencode serve --> modelo delegado
Plataforma
Este projeto é Windows-first. O servidor MCP em si (src/index.ts, um processo stdio em
Node.js) é portável para qualquer SO que rode Node. O que não é portável é a camada de
supervisão: o serve é mantido de pé pelo Agendador de Tarefas do Windows, e os scripts de
instalação/manutenção (scripts/*.ps1) são PowerShell 7. Tudo em SETUP.md,
TROUBLESHOOTING.md e docs/USO-NO-CLAUDE-CODE.md foi escrito e medido no Windows.
Rodar isto em Linux ou macOS exigiria reescrever a camada de supervisão — uma unit systemd
ou um agente launchd no lugar da tarefa agendada, e um equivalente em shell de
scripts/install-serve-task.ps1, scripts/start-serve.ps1 e
scripts/sync-opencode-config.ps1. Nada disso existe neste repositório hoje; esta seção diz
qual é a lacuna, não que ela está preenchida.
Requisitos
- Node.js 20+ e npm.
opencodeinstalado e noPATH, já autenticado em pelo menos um provider.- PowerShell 7.3+ (
pwsh) — usado pelos scripts de instalação e manutenção. - Claude Code, para registrar a ponte como servidor MCP.
Instalação
- Clone o repositório (o script da tarefa agendada assume por padrão
%USERPROFILE%\opencode-bridge— vejaSETUP.md§2 se você clonar em outro lugar). npm install && npm run build.pwsh -File .\scripts\install-serve-task.ps1— gera a credencial do serve e registra a tarefa agendada que sobe oopencode serveno logon do usuário.pwsh -File .\scripts\sync-opencode-config.ps1— espelha os MCPs configurados no Claude Code na config do opencode e reinicia o serve.- Copie
bridge.config.example.jsonparabridge.config.jsone apontealiases/cheapModelpara modelos que o seu provider do opencode realmente oferece (confira comopencode models, ou comlist_modelsdepois do passo 6). Sem esse arquivo,delegate_taskcontinua funcionando passando"provider/model"direto, masbridge_health deep: truefica semcheapModelpara testar e falha.sync-overrides.jsonsegue o mesmo padrão de copiar o exemplo, se você precisar mudar quais MCPs o passo de sync exclui ou acrescenta. - Registre
opencode-bridgecomo servidor MCP no Claude Code (JSON exato emdocs/USO-NO-CLAUDE-CODE.md§1) e rode a toolbridge_healthcomdeep: trueaté ela voltar verde.
Passo a passo completo, incluindo o modelo de autenticação do serve e o que ajustar se você não
clonou no caminho padrão: SETUP.md.
Tools
| Tool | O que faz |
|---|---|
delegate_task |
Cria uma sessão e delega uma task a um modelo externo, esperando o resultado. |
continue_task |
Manda um follow-up numa sessão existente, com o histórico inteiro. |
task_progress |
Inspeciona uma sessão em andamento (contagem de tool calls, todo list) sem interromper. |
abort_task |
Para a rodada em andamento; mantém a sessão para inspeção ou retomada. |
end_task |
Encerra e apaga uma sessão no servidor. |
list_tasks |
Lista sessões conhecidas pelo servidor, recuperando as que o registro da ponte perdeu. |
list_models |
Lista todo modelo que o servidor opencode oferece, mais os apelidos configurados. |
bridge_health |
Verifica a cadeia inteira de delegação: credencial, serve, auth, modelos, skills e, opcionalmente, uma chamada real de MCP. |
Parâmetros detalhados, quando usar cada tool e quando não usar: docs/USO-NO-CLAUDE-CODE.md.
Documentação
SETUP.md— instalação, modelo de autenticação do serve, troca da lista de MCPs do agente delegado.docs/USO-NO-CLAUDE-CODE.md— como registrar a ponte no Claude Code, catálogo de tools, variáveis de ambiente, escolha de modelo.TROUBLESHOOTING.md— sintoma → causa → o comando que resolve.docs/APRENDIZADOS.md— o que construir isto ensinou sobre sinais, gates e formas silenciosas de falha; útil mesmo que você nunca rode esta ponte.
Licença
MIT — veja LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.