Servidores MCP
Agrega herramientas MCP locales y remotas.
Puedes agregar herramientas externas a OpenCode usando el Model Context Protocol, o MCP. OpenCode admite servidores locales y remotos.
Una vez agregadas, las herramientas MCP estan automaticamente disponibles para el LLM junto con las herramientas integradas.
Advertencias
Cuando usas un servidor MCP, agrega al contexto. Esto puede sumarse rapidamente si tienes muchas herramientas. Por lo tanto, recomendamos tener cuidado con los servidores MCP que usas.
Ciertos servidores MCP, como el servidor MCP de GitHub, tienden a agregar muchos tokens y pueden exceder facilmente el limite del contexto.
Habilitar
Puedes definir servidores MCP en tu Configuracion de OpenCode bajo mcp. Agrega cada MCP con un nombre unico. Puedes referirte a ese MCP por nombre cuando solicites al LLM.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "name-of-mcp-server": { // ... "enabled": true, }, "name-of-other-mcp-server": { // ... }, },}También puedes desactivar un servidor configurando enabled en false. Esto es util si deseas desactivar temporalmente un servidor sin eliminarlo de tu configuracion.
Anular valores predeterminados remotos
Las organizaciones pueden proporcionar servidores MCP predeterminados a traves de su endpoint .well-known/opencode. Estos servidores pueden estar desactivados por defecto, lo que permite a los usuarios optar por los que necesitan.
Para habilitar un servidor especifico desde la configuracion remota de tu organizacion, agregalo a tu configuracion local con enabled: true:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "jira": { "type": "remote", "url": "https://jira.example.com/mcp", "enabled": true } }}Tus valores de configuracion local anulan los valores predeterminados remotos. Consulta precedencia de configuracion para mas detalles.
Local
Agrega servidores MCP locales usando type en "local" dentro del objeto MCP.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-local-mcp-server": { "type": "local", // O ["bun", "x", "my-mcp-command"] "command": ["npx", "-y", "my-mcp-command"], "enabled": true, "environment": { "MY_ENV_VAR": "my_env_var_value", }, }, },}El comando es como se inicia el servidor MCP local. Tambien puedes pasar una lista de variables de entorno.
Por ejemplo, aqui esta como puedes agregar el servidor MCP de prueba @modelcontextprotocol/server-everything.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "mcp_everything": { "type": "local", "command": ["npx", "-y", "@modelcontextprotocol/server-everything"], }, },}Y para usarlo puedo agregar use the mcp_everything tool a mis prompts.
use the mcp_everything tool to add the number 3 and 4Opciones
Aquí estan todas las opciones para configurar un servidor MCP local.
| Option | Type | Required | Description |
|---|---|---|---|
type | String | Y | Tipo de conexion MCP, debe ser "local". |
command | Array | Y | Comando y argumentos para ejecutar el servidor MCP. |
environment | Object | Variables de entorno para establecer al ejecutar el servidor. | |
enabled | Boolean | Habilitar o deshabilitar el servidor MCP al inicio. | |
timeout | Number | Tiempo de espera en ms para obtener herramientas del servidor MCP. Por defecto 5000 (5 segundos). |
Remoto
Agrega servidores MCP remotos configurando type en "remote".
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-remote-mcp": { "type": "remote", "url": "https://my-mcp-server.com", "enabled": true, "headers": { "Authorization": "Bearer MY_API_KEY" } } }}La url es la URL del servidor MCP remoto y con la opcion headers puedes pasar una lista de encabezados.
Opciones
| Option | Type | Required | Description |
|---|---|---|---|
type | String | Y | Tipo de conexion MCP, debe ser "remote". |
url | String | Y | URL del servidor MCP remoto. |
enabled | Boolean | Habilitar o deshabilitar el servidor MCP al inicio. | |
headers | Object | Encabezados para enviar con la solicitud. | |
oauth | Object | Configuracion de autenticacion OAuth. Consulta la seccion OAuth a continuacion. | |
timeout | Number | Tiempo de espera en ms para obtener herramientas del servidor MCP. Por defecto 5000 (5 segundos). |
OAuth
OpenCode maneja automaticamente la autenticacion OAuth para servidores MCP remotos. Cuando un servidor requiere autenticacion, OpenCode:
- Detectara la respuesta 401 e iniciara el flujo OAuth
- Usara el Registro dinamico de cliente (RFC 7591) si es compatible con el servidor
- Almacenara tokens de forma segura para solicitudes futuras
Automatico
Para la mayoria de servidores MCP compatibles con OAuth, no se necesita configuracion especial. Simplemente configura el servidor remoto:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-oauth-server": { "type": "remote", "url": "https://mcp.example.com/mcp" } }}Si el servidor requiere autenticacion, OpenCode te solicitara que te autentiques cuando intentes usarlo por primera vez. Si no, puedes activar manualmente el flujo con opencode mcp auth <server-name>.
Pre-registrado
Si tienes credenciales de cliente del proveedor del servidor MCP, puedes configurarlas:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-oauth-server": { "type": "remote", "url": "https://mcp.example.com/mcp", "oauth": { "clientId": "{env:MY_MCP_CLIENT_ID}", "clientSecret": "{env:MY_MCP_CLIENT_SECRET}", "scope": "tools:read tools:execute" } } }}Autenticacion
Puedes activar manualmente la autenticacion o administrar credenciales.
Autenticate con un servidor MCP especifico:
opencode mcp auth my-oauth-serverListar todos los servidores MCP y su estado de autenticacion:
opencode mcp listEliminar credenciales almacenadas:
opencode mcp logout my-oauth-serverEl comando mcp auth abrira tu navegador para autorizacion. Despues de autorizar, OpenCode almacenara los tokens de forma segura en ~/.local/share/opencode/mcp-auth.json.
Desactivar OAuth
Si deseas desactivar OAuth automatico para un servidor (por ejemplo, para servidores que usan claves API en su lugar), configura oauth en false:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-api-key-server": { "type": "remote", "url": "https://mcp.example.com/mcp", "oauth": false, "headers": { "Authorization": "Bearer {env:MY_API_KEY}" } } }}Opciones de OAuth
| Option | Type | Description |
|---|---|---|
oauth | Object | false | Objeto de configuracion OAuth o false para desactivar la deteccion automatica de OAuth. |
clientId | String | ID de cliente OAuth. Si no se proporciona, se intentara el registro dinamico de cliente. |
clientSecret | String | Secreto de cliente OAuth, si lo requiere el servidor de autorizacion. |
scope | String | Alcances OAuth a solicitar durante la autorizacion. |
Depuracion
Si un servidor MCP remoto falla al autenticarse, puedes diagnosticar problemas con:
# Ver estado de autenticacion para todos los servidores compatibles con OAuthopencode mcp auth list
# Depurar conexion y flujo OAuth para un servidor especificoopencode mcp debug my-oauth-serverEl comando mcp debug muestra el estado de autenticacion actual, prueba la conectividad HTTP e intenta el flujo de descubrimiento OAuth.
Administrar
Tus MCP estan disponibles como herramientas en OpenCode, junto con las herramientas integradas. Asi que puedes administrarlos a traves de la configuracion de OpenCode como cualquier otra herramienta.
Global
Esto significa que puedes habilitarlos o deshabilitarlos globalmente.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-mcp-foo": { "type": "local", "command": ["bun", "x", "my-mcp-command-foo"] }, "my-mcp-bar": { "type": "local", "command": ["bun", "x", "my-mcp-command-bar"] } }, "tools": { "my-mcp-foo": false }}Tambien podemos usar un patron glob para deshabilitar todos los MCP que coincidan.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-mcp-foo": { "type": "local", "command": ["bun", "x", "my-mcp-command-foo"] }, "my-mcp-bar": { "type": "local", "command": ["bun", "x", "my-mcp-command-bar"] } }, "tools": { "my-mcp*": false }}Aqui estamos usando el patron glob my-mcp* para deshabilitar todos los MCP.
Por agente
Si tienes una gran cantidad de servidores MCP, es posible que solo quieras habilitarlos por agente y deshabilitarlos globalmente. Para hacer esto:
- Desactivalo como herramienta globalmente.
- En tu configuracion de agente, habilita el servidor MCP como herramienta.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "my-mcp": { "type": "local", "command": ["bun", "x", "my-mcp-command"], "enabled": true } }, "tools": { "my-mcp*": false }, "agent": { "my-agent": { "tools": { "my-mcp*": true } } }}Patrones glob
El patron glob usa patrones simples de globbing de regex:
*coincide con cero o mas caracteres (por ejemplo,"my-mcp*"coincide conmy-mcp_search,my-mcp_list, etc.)?coincide exactamente con un caracter- Todos los demas caracteres coinciden literalmente
Ejemplos
A continuacion se presentan ejemplos de algunos servidores MCP comunes. Puedes enviar un PR si deseas documentar otros servidores.
Sentry
Agrega el servidor MCP de Sentry para interactuar con tus proyectos y problemas de Sentry.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "sentry": { "type": "remote", "url": "https://mcp.sentry.dev/mcp", "oauth": {} } }}Despues de agregar la configuracion, autenticate con Sentry:
opencode mcp auth sentryEsto abrira una ventana del navegador para completar el flujo OAuth y conectar OpenCode con tu cuenta de Sentry.
Una vez autenticado, puedes usar las herramientas de Sentry en tus prompts para consultar problemas, proyectos y datos de errores.
Show me the latest unresolved issues in my project. use sentryContext7
Agrega el servidor MCP de Context7 para buscar en la documentacion.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "context7": { "type": "remote", "url": "https://mcp.context7.com/mcp" } }}Si te has registrado para una cuenta gratuita, puedes usar tu clave API y obtener limites de velocidad mas altos.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "context7": { "type": "remote", "url": "https://mcp.context7.com/mcp", "headers": { "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}" } } }}Aqui asumimos que tienes la variable de entorno CONTEXT7_API_KEY configurada.
Agrega use context7 a tus prompts para usar el servidor MCP de Context7.
Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7Alternativamente, puedes agregar algo como esto a tu AGENTS.md.
When you need to search docs, use `context7` tools.Grep by Vercel
Agrega el servidor MCP Grep by Vercel para buscar en fragmentos de codigo en GitHub.
{ "$schema": "https://opencode.ai/config.json", "mcp": { "gh_grep": { "type": "remote", "url": "https://mcp.grep.app" } }}Dado que nombramos nuestro servidor MCP gh_grep, puedes agregar use the gh_grep tool a tus prompts para que el agente lo use.
What's the right way to set a custom domain in an SST Astro component? use the gh_grep toolAlternativamente, puedes agregar algo como esto a tu AGENTS.md.
If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.