MCP en OpenCode: servidores remotos en opencode.jsonServidores MCP: qué son y cómo conectar uno

MCP en OpenCode: servidores remotos en opencode.json

En corto: los servidores MCP de OpenCode se describen en el bloque mcp del archivo opencode.json. Un servidor remoto necesita "type": "remote" y url; para entrar, una clave en headers o opencode mcp auth. Abajo hay una configuración lista y aquello que las guías breves se saltan: cómo no inflar el contexto del agente con herramientas.

Qué le aporta MCP a un agente en la terminal

OpenCode ya sabe leer el proyecto, editar archivos y ejecutar comandos. MCP añade lo que está fuera del repositorio: documentación actual de las librerías sacada de internet, la lectura de la página que describe un error, la generación de iconos e imágenes para la interfaz sobre la marcha. Qué es MCP en general está en el repaso de los servidores MCP.

Paso 1. La clave

Si ya apuntaste OpenCode a nuestra API siguiendo el capítulo «opencode: configurar tu propio proveedor», ya tienes clave: la misma clave abre también los servidores MCP, con saldo común. Si no, consíguela aquí, sin registro:

Una clave para OpenCode

Consigue una clave sk-… en esta misma página

Una sola clave sirve para el modelo de OpenCode y para los servidores MCP. Elige serie: te vendrá bien si además quieres conectar el modelo.

Pulsa y obtén tu base_url y tu clave API.

Sin registro ni tarjeta.

Gratis. Tu clave aparecerá aquí mismo.

Guarda la clave en una variable de entorno para que no acabe en git:

Plantilla — así no va a funcionar~/.zshrc o ~/.bashrcLo resaltado son marcadores. El botón de arriba los emite en segundos, sin registro.
export TWELVER_API_KEY="sk-<tu-clave>"

Paso 2. El bloque mcp en opencode.json

La configuración global está en ~/.config/opencode/opencode.json; la del proyecto, en opencode.json en la raíz del repositorio. Añade los servidores:

Listo para usaropencode.jsonTu clave ya está puesta — cópialo tal cual. Lo azul no es un marcador: {env:…} lee una variable de entorno — déjalo tal cual.
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "twelver-web-search": {
      "type": "remote",
      "url": "https://twelver.app/api/mcp/v1/web-search",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:TWELVER_API_KEY}"
      }
    },
    "twelver-image": {
      "type": "remote",
      "url": "https://twelver.app/api/mcp/v1/image-generation",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:TWELVER_API_KEY}"
      }
    }
  }
}

Reinicia OpenCode y comprueba que los servidores se conectaron:

opencode mcp list

La variante sin clave: OAuth

Si quitas headers, OpenCode verá que el servidor pide acceso y te ofrecerá hacerlo desde el navegador. También se puede lanzar a mano:

opencode mcp auth twelver-web-search

Para entrar por OAuth hace falta una cuenta registrada. Si algo va mal, opencode mcp debug nombre-del-servidor muestra en qué paso se quedó el acceso, y opencode mcp logout borra los tokens guardados.

Paso 3. Compruébalo en una sesión

Pídele al agente algo que requiera una herramienta:

  • «Busca en la documentación cómo se configuran las cabeceras de caché en la última versión de Next.js y arregla next.config»: el agente irá a web-search, leerá la página y sólo después tocará el código.
  • «Genera un icono de aplicación 1:1 en estilo plano y deja el enlace en el README»: eso es text-to-image.

Cómo no sobrecargar al agente de herramientas

Cada servidor conectado añade las descripciones de sus herramientas a cada petición al modelo. Eso cuesta tokens y, peor aún, dispersa la atención del modelo: con veinte herramientas disponibles acierta menos al elegir. Tres reglas prácticas:

  • En la configuración global, sólo lo que hace falta en todas partes: normalmente, la búsqueda. La generación de imágenes, actívala en la configuración del proyecto de frontend.
  • Desactiva en vez de borrar: "enabled": false deja el servidor en la configuración pero no lo carga al arrancar.
  • Conecta el conjunto que encaje con la tarea. Los servidores de Twelver están separados por conjuntos justamente para esto: la búsqueda aparte, las imágenes aparte, el vídeo aparte.

El campo timeout no va de generaciones largas

En OpenCode, el timeout de un servidor MCP es el tiempo para obtener la lista de herramientas al conectar (5 segundos por defecto), no para ejecutar una llamada. Si un servidor no llega a responder al arranque, súbelo; sobre la duración de una generación no influye.

Modelo y herramientas con una sola clave

Lo que hace que valga la pena montar esta combinación: OpenCode puede tomar de Twelver tanto el modelo (mediante un proveedor compatible con OpenAI) como las herramientas (mediante MCP), con una clave y un saldo. El proveedor se configura en el capítulo «opencode: configurar tu propio proveedor» y MCP como aquí arriba; los dos bloques viven en el mismo opencode.json.

Si no funciona

SíntomaCausaQué hacer
El servidor aparece con estado de error en mcp listLa clave no se sustituyó desde el entornoComprueba echo $TWELVER_API_KEY en la misma shell desde la que arrancas OpenCode
No hay herramientas en la sesiónEl servidor está desactivado, o no se leyó la configuraciónRevisa "enabled": true y que el JSON sea válido
Timeout al arrancarLa lista de herramientas no cargó en 5 segundosSube el timeout del servidor, por ejemplo a 15000
El agente llama a la herramienta equivocadaHay demasiados servidores conectadosDesactiva los que sobren con "enabled": false
Formato de configuración contrastado con la documentación de OpenCode el 17 de septiembre de 2026.

¿No programas sólo en la terminal? El mismo esquema para Codex y Cursor, y una selección de lo que conviene conectar está en los mejores servidores MCP.

Preguntas frecuentes

¿Cómo conecto MCP a OpenCode?
Añade a opencode.json un bloque mcp con la entrada del servidor. Para uno remoto: "type": "remote", "url" y, si hace falta, "headers" con la clave; para uno local: "type": "local" y el comando de arranque. Reinicia OpenCode y comprueba la conexión con opencode mcp list.
¿Dónde está la configuración MCP de OpenCode?
En el mismo archivo que el resto de ajustes: global en ~/.config/opencode/opencode.json, de proyecto en opencode.json en la raíz del repositorio. La configuración de proyecto completa y sobrescribe la global.
¿Cómo le paso una clave de API al servidor MCP en OpenCode?
Con el campo headers: "Authorization": "Bearer {env:NOMBRE_VARIABLE}". La forma {env:…} sustituye el valor de la variable de entorno al arrancar, así que la clave no entra en el archivo.
¿OpenCode admite OAuth para MCP?
Sí. Si un servidor remoto pide acceso, OpenCode ofrece hacerlo desde el navegador; a mano se lanza con opencode mcp auth nombre-del-servidor y se reinicia con opencode mcp logout.
¿Los servidores MCP ralentizan OpenCode?
Sólo al arrancar, mientras carga la lista de herramientas. Lo importante es otra cosa: las descripciones de las herramientas de todos los servidores activos se le envían al modelo en cada petición, lo que sube la factura de tokens. Mantén activos sólo los servidores que necesita el proyecto actual.

Pruébalo tú mismo

Todo lo de esta guía funciona en Twelver

Un chat para texto, imágenes, vídeo, música y voz — sin servicios ni suscripciones aparte.

Abrir el chat de Twelver
Califica tu experiencia