Model Context Protocol
Da a Codex acceso a herramientas y contexto de terceros
Model Context Protocol (MCP) conecta los modelos con herramientas y contexto. Úsalo para dar a ChatGPT o Codex acceso a documentación de terceros, o para permitirle interactuar con herramientas para desarrolladores, como tu navegador o Figma.
ChatGPT web puede usar herramientas remotas respaldadas por MCP y proporcionadas por plugins. Los clientes locales de Codex también pueden conectarse directamente a servidores MCP y compartir su configuración.
La aplicación de escritorio de ChatGPT, Codex CLI y la extensión para IDE admiten servidores MCP y comparten la configuración de MCP para el mismo host de Codex.
Las funciones de servidor admitidas que se indican a continuación se aplican a los servidores MCP configurados en un host de Codex. Las herramientas de plugins alojadas pueden tener capacidades diferentes.
Funciones de MCP admitidas
- Servidores STDIO: servidores que se ejecutan como un proceso local (iniciado mediante un comando).
- Variables de entorno
- Servidores Streamable HTTP: servidores a los que accedes mediante una dirección.
- Autenticación con token Bearer
- Autenticación OAuth
- Autenticación mediante la sesión de ChatGPT para servidores propios de confianza
- Instrucciones del servidor: Codex lee el campo
instructionsde MCP devuelto durante la inicialización y lo utiliza como orientación para todo el servidor junto con sus herramientas.
Si desarrollas o mantienes un servidor MCP para Codex, usa instructions para los flujos de trabajo entre herramientas, las restricciones y los límites de frecuencia que se aplican a todo el servidor. Procura que los primeros 512 caracteres sean autosuficientes para que la orientación más importante esté disponible cuando Codex decida cómo usar el servidor.
Conectar Codex a un servidor MCP
Codex almacena la configuración de MCP en config.toml junto con otros ajustes de configuración de Codex. De forma predeterminada, se encuentra en ~/.codex/config.toml, pero también puedes limitar los servidores MCP a un proyecto con .codex/config.toml (solo proyectos de confianza).
La aplicación de escritorio de ChatGPT, Codex CLI y la extensión para IDE comparten esta configuración. Una vez que configures tus servidores MCP, podrás alternar entre esos clientes sin tener que repetir la configuración.
Configurar en la aplicación de escritorio de ChatGPT
- Abre Configuración y selecciona Servidores MCP.
- Selecciona Agregar servidor.
- Introduce un nombre, elige STDIO o Streamable HTTP y proporciona el comando o la URL del servidor.
- Guarda el servidor y selecciona Reiniciar.
La lista de servidores muestra cuáles están habilitados y cuáles requieren OAuth. Selecciona
Autenticar cuando un servidor OAuth requiera iniciar sesión. En el cuadro de redacción, escribe /mcp
para ver los servidores conectados.
Configurar con config.toml
Para un control más detallado, edita ~/.codex/config.toml o un archivo .codex/config.toml limitado al proyecto. Consulta la referencia de configuración
para acceder a una lista consultable de todas las opciones de MCP admitidas.
Configura cada servidor MCP con una tabla [mcp_servers.<server-name>] en el archivo de configuración.
Servidores STDIO
command(obligatorio): el comando que inicia el servidor.args(opcional): argumentos que se pasarán al servidor.env(opcional): variables de entorno que se establecerán para el servidor.env_vars(opcional): variables de entorno que se permitirán y reenviarán.cwd(opcional): directorio de trabajo desde el que se iniciará el servidor.experimental_environment(opcional): establécelo enremotepara iniciar el servidor stdio mediante un entorno de ejecución remoto cuando haya uno disponible.
env_vars puede contener nombres de variables simples u objetos con un origen:
env_vars = ["LOCAL_TOKEN", { name = "REMOTE_TOKEN", source = "remote" }]Las entradas de cadena y source = "local" se leen del entorno local de Codex.
source = "remote" se lee del entorno de ejecución remoto y requiere
stdio de MCP remoto.
Servidores Streamable HTTP
url(obligatorio): la dirección del servidor.auth(opcional): autenticación que se intentará después de los tokens Bearer y los encabezados de autorización configurados. Usaoauth(el valor predeterminado) para las credenciales OAuth de MCP almacenadas. Usachatgptpara utilizar la sesión actual de ChatGPT con el origen propio de confianza de ChatGPT y recurrir a OAuth almacenado como alternativa.bearer_token_env_var(opcional): nombre de la variable de entorno de un token Bearer que se enviará enAuthorization.http_headers(opcional): asignación de nombres de encabezados a valores estáticos.env_http_headers(opcional): asignación de nombres de encabezados a nombres de variables de entorno (los valores se obtienen del entorno).
Si no se resuelve ninguna fuente de credenciales, Codex puede conectarse al servidor sin
autenticación. Ejecuta codex mcp login <server-name> por separado para iniciar un proceso de inicio de sesión
OAuth de MCP.
Otras opciones de configuración
startup_timeout_sec(opcional): tiempo de espera (en segundos) para que se inicie el servidor. Valor predeterminado:10.tool_timeout_sec(opcional): tiempo de espera (en segundos) para que el servidor ejecute una herramienta. Valor predeterminado:60.enabled(opcional): establecefalsepara deshabilitar un servidor sin eliminarlo.required(opcional): establecetruepara hacer que el inicio falle si este servidor habilitado no puede inicializarse.enabled_tools(opcional): lista de herramientas permitidas.disabled_tools(opcional): lista de herramientas denegadas (se aplica después deenabled_tools).default_tools_approval_mode(opcional): comportamiento de aprobación predeterminado para las herramientas de este servidor. Los valores admitidos sonauto,prompt,writesyapprove. El modowritessolicita aprobación para las herramientas que no están marcadas como de solo lectura.tools.<tool>.approval_mode(opcional): anulación del comportamiento de aprobación para cada herramienta.
Si tu proveedor de OAuth requiere un puerto de devolución de llamada fijo, establece la opción de nivel superior mcp_oauth_callback_port en config.toml. Si no se establece, Codex se vincula a un puerto efímero.
Si el flujo OAuth de MCP debe usar una URL de devolución de llamada específica (por ejemplo, una URL de entrada de Devbox remoto o una ruta de devolución de llamada personalizada), establece mcp_oauth_callback_url. Codex utiliza este valor como URL base de devolución de llamada y, a continuación, agrega un ID de devolución de llamada específico del servidor para generar el redirect_uri de OAuth que envía durante el inicio de sesión. Registra el redirect_uri derivado completo con tu proveedor de OAuth, incluido el ID de devolución de llamada agregado y cualquier ruta, consulta o puerto configurados, en lugar de registrar únicamente el host o la ruta base sin ese sufijo. Las URL de devolución de llamada locales (por ejemplo, localhost) se vinculan a la interfaz local; las URL de devolución de llamada no locales se vinculan a 0.0.0.0 para que la devolución de llamada pueda llegar al host.
Si el servidor MCP anuncia scopes_supported, Codex da preferencia a esos
ámbitos anunciados por el servidor durante el inicio de sesión OAuth. De lo contrario, Codex recurre a los
ámbitos configurados en config.toml.
Ejemplos de config.toml
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
env_vars = ["LOCAL_TOKEN"]
[mcp_servers.context7.env]
MY_ENV_VAR = "MY_ENV_VALUE"# Optional MCP OAuth callback overrides (used by `codex mcp login`)
mcp_oauth_callback_port = 5555
mcp_oauth_callback_url = "https://devbox.example.internal/callback"[mcp_servers.figma]
url = "https://mcp.figma.com/mcp"
bearer_token_env_var = "FIGMA_OAUTH_TOKEN"
http_headers = { "X-Figma-Region" = "us-east-1" }[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
enabled_tools = ["open", "screenshot"]
disabled_tools = ["screenshot"] # applied after enabled_tools
default_tools_approval_mode = "prompt"
startup_timeout_sec = 20
tool_timeout_sec = 45
enabled = true
[mcp_servers.chrome_devtools.tools.open]
approval_mode = "approve"Servidores MCP proporcionados por plugins
Los plugins instalados pueden incluir servidores MCP en su manifiesto. Esos
servidores se inician desde el plugin, por lo que la configuración del usuario no establece su
comando de transporte. La configuración del usuario puede seguir controlando el estado de activación y la política de herramientas
en plugins.<plugin>.mcp_servers.<server>.
[plugins."sample@test".mcp_servers.sample]
enabled = true
default_tools_approval_mode = "prompt"
enabled_tools = ["read", "search"]
[plugins."sample@test".mcp_servers.sample.tools.search]
approval_mode = "approve"Ejemplos de servidores MCP útiles
La lista de servidores MCP sigue creciendo. Estos son algunos habituales:
- OpenAI Docs MCP: busca y lee documentación para desarrolladores de OpenAI.
- Context7: conéctate a documentación actualizada para desarrolladores.
- Figma Local y Remoto: accede a tus diseños de Figma.
- Playwright: controla e inspecciona un navegador mediante Playwright.
- Herramientas para desarrolladores de Chrome: controla e inspecciona Chrome.
- Sentry: accede a los registros de Sentry.
- GitHub: administra GitHub más allá de lo que admite
git(por ejemplo, solicitudes de incorporación de cambios e incidencias).