MCP — conectar servidores externos
Configurar en opencode.json
Sección titulada «Configurar en opencode.json»{ "mcp": { "github": { "type": "local", "command": ["npx", "@modelcontextprotocol/server-github"], "environment": { "GITHUB_TOKEN": "{env:GITHUB_TOKEN}" } }, "linear": { "type": "remote", "url": "https://mcp.linear.app/mcp" } }}{env:VAR} interpola una variable de entorno — igual idea que ${VAR} en Claude Code, sintaxis distinta.
Dos tipos de servidor
Sección titulada «Dos tipos de servidor»| Tipo | Campos |
|---|---|
local | command (array), cwd, environment, timeout |
remote | url, headers, oauth, timeout |
Más simple que Claude Code (que distingue stdio/http/sse/ws) — aquí solo local vs remote.
Desactivar tools puntuales
Sección titulada «Desactivar tools puntuales»{ "tools": { "github*": false }}Apaga todas las tools que empiecen con github sin sacar el servidor entero — útil para exponer solo lo necesario a un agente.
Resumen
Sección titulada «Resumen»| Config | Qué hace |
|---|---|
mcp.<nombre>.type: "local" | Servidor por comando (stdio) |
mcp.<nombre>.type: "remote" | Servidor por URL |
tools: {"servidor*": false} | Apaga tools específicas sin sacar el servidor |
Consideraciones
Sección titulada «Consideraciones»- No hay scopes separados (
local/project/user) como en Claude Code — el servidor vive donde esté declarado en la config, y la precedencia la define el orden de merge general deopencode.json(ver la referencia de config). - Tampoco hay un paso de aprobación interactiva para servidores compartidos por repo — si está en el
opencode.jsoncommiteado, se conecta directo.