Guías

Añadir un MCP server a cualquier agente de programación con IA: Claude Code, Cursor, Codex, Gemini CLI, VS Code y 8 más (2026)

¿Dónde guarda cada agente de programación con IA la configuración de sus MCP servers, y qué comando añade un server?

La mayoría de los agentes leen un archivo JSON con un objeto mcpServers: .cursor/mcp.json en Cursor, .mcp.json en Claude Code, .kiro/settings/mcp.json en Kiro, .factory/mcp.json en Factory Droid y .junie/mcp/mcp.json en Junie. Las excepciones son VS Code (una clave servers en .vscode/mcp.json), Codex (tablas [mcp_servers.NAME] en ~/.codex/config.toml), OpenCode (una clave mcp en opencode.json), Zed (context_servers en la configuración) y goose (extensions en config.yaml). Claude Code, Codex, Gemini CLI, Amp y Factory Droid también tienen un comando mcp add.

Esta página es una traducción de la guía en inglés. Los comandos, claves de configuración y el código no se modifican; si hay diferencias, prevalece la versión en inglés. Leer en inglés → · Otros idiomas: 简体中文 · 日本語 · 한국어 · Português (Brasil)

Entérate cuando cambie la configuración

Cuando cambie un ajuste, flag o regla de permisos de estas herramientas, te avisamos en un correo semanal (en inglés), verificado con la documentación oficial.

Respuesta rápida: dónde va la configuración en cada agente

  • Claude Code: claude mcp add --transport http NAME URL para un server remoto, o claude mcp add NAME -- COMMAND para uno local. El ámbito local es el predeterminado; --scope project escribe un .mcp.json compartido y --scope user hace que el server esté disponible en todos tus proyectos.
  • Cursor: mcpServers en .cursor/mcp.json para un proyecto, o ~/.cursor/mcp.json para todos los proyectos.
  • OpenAI Codex: codex mcp add NAME -- COMMAND, o una tabla [mcp_servers.NAME] en ~/.codex/config.toml.
  • Gemini CLI: gemini mcp add NAME COMMAND, que por defecto escribe en el .gemini/settings.json del proyecto. Añade -s user para ~/.gemini/settings.json.
  • VS Code (GitHub Copilot): un objeto servers de nivel superior en .vscode/mcp.json, o el archivo del perfil de usuario que se abre con MCP: Open User Configuration.
  • Copilot cloud agent en GitHub: Settings del repositorio, luego Copilot y luego MCP servers. Pega un JSON con un objeto mcpServers.
  • OpenCode: la clave mcp de nivel superior en opencode.json.
  • Cline: mcpServers en cline_mcp_settings.json. La CLI lo guarda en ~/.cline/data/settings/cline_mcp_settings.json.
  • Amp: amp mcp add NAME -- COMMAND o amp mcp add NAME URL, o amp.mcpServers en ~/.config/amp/settings.json o .amp/settings.json.
  • Kiro: mcpServers en .kiro/settings/mcp.json (workspace) o ~/.kiro/settings/mcp.json (usuario).
  • Factory Droid: droid mcp add NAME URL_OR_COMMAND --type stdio|http|sse, guardado en ~/.factory/mcp.json. Los equipos comparten servers en .factory/mcp.json.
  • Junie: mcpServers en .junie/mcp/mcp.json (proyecto) o ~/.junie/mcp/mcp.json (usuario).
  • Zed: context_servers en tu archivo de configuración de Zed.
  • goose: extensiones bajo la clave extensions de ~/.config/goose/config.yaml, o goose configure y luego Add Extension.

Las entradas locales y remotas se parecen mucho en todas partes

Un server local es un comando que el agente inicia en tu máquina y con el que se comunica por stdio. Un server remoto es una URL. En la mayoría de las configuraciones JSON, una entrada local tiene command, args y env, y una entrada remota tiene url y headers opcionales. Cursor, Kiro y Junie aceptan esta forma bajo mcpServers.

.cursor/mcp.json, .kiro/settings/mcp.json o .junie/mcp/mcp.json

{
  "mcpServers": {
    "context7": {
      "command": "npx",
      "args": ["-y", "@upstash/context7-mcp"]
    },
    "remote-server": {
      "url": "https://example.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Codex: ~/.codex/config.toml

[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]

[mcp_servers.figma]
url = "https://mcp.figma.com/mcp"

VS Code: .vscode/mcp.json

{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp"
    }
  }
}

OpenCode: opencode.json

{
  "mcp": {
    "context7": {
      "type": "local",
      "command": ["npx", "-y", "@upstash/context7-mcp"]
    },
    "remote-server": {
      "type": "remote",
      "url": "https://example.com/mcp"
    }
  }
}

Errores comunes al copiar una configuración de un agente a otro

  • VS Code usa servers, no mcpServers, en .vscode/mcp.json. A un archivo copiado de Cursor hay que renombrarle esa clave.
  • OpenCode espera type local o remote, y su command es un único array que incluye los argumentos.
  • Gemini CLI usa url para servers SSE y httpUrl para servers HTTP streamable.
  • Cline trata una entrada remota sin type como SSE antiguo. Configura type en streamableHttp para usar el transporte recomendado.
  • Copilot cloud agent necesita un array tools en cada server (usa ["*"] para todas las herramientas), y solo los secrets y variables cuyos nombres empiezan por COPILOT_MCP_ llegan a la configuración.
  • Zed pone los servers bajo context_servers, y un server remoto sin header Authorization inicia el flujo OAuth estándar de MCP.
  • Codex usa TOML, no JSON: una tabla [mcp_servers.NAME] por server.

Configuración de proyecto, aprobaciones y aprobación automática

  • Claude Code pide aprobación en las sesiones interactivas antes de usar servers con ámbito de proyecto de .mcp.json.
  • Amp requiere amp mcp approve NAME antes de que se ejecute un server de .amp/settings.json. Los servers de tu configuración global no necesitan aprobación.
  • Kiro fusiona los archivos de workspace y de usuario, y gana la configuración del workspace. autoApprove enumera las herramientas que se ejecutan sin confirmación, y "*" las aprueba todas.
  • Gemini CLI: trust: true en un server omite todas las confirmaciones de llamadas a herramientas de ese server. Úsalo solo con servers que controlas.
  • Cline: el array autoApprove enumera las herramientas que Cline puede llamar sin preguntar. Limítalo a herramientas seguras.
  • Factory Droid: los servers añadidos con droid mcp add van a tu configuración de usuario. Los servers de proyecto de .factory/mcp.json no se pueden quitar con droid mcp remove, así que edita el archivo.

Comprueba que el server se cargó

  • Claude Code: /mcp, que también es donde inicias sesión en servers OAuth.
  • Codex: /mcp en la TUI muestra los servers activos. codex mcp login NAME inicia sesión en servers OAuth.
  • Gemini CLI: /mcp muestra el estado de conexión de cada server.
  • Factory Droid: /mcp abre el gestor interactivo.
  • Junie CLI: /mcp enumera los servers con su ámbito y estado.
  • Amp: amp mcp doctor.

Guía completa de configuración de MCP para cada agente

Fuentes

Documentación oficial (en inglés) con la que se verificó esta guía. Versión en inglés revisada el: 2026-10-18

Más guías en español