Los mejores servidores MCP para agentes de programación son los que le dan al agente algo que no puede hacer por sí solo: ver la app funcionando en un navegador, leer la documentación de hoy de una librería, mirar el issue que está arreglando, encontrar la traza del error en producción. Un agente de programación como Claude Code, Codex o Gemini CLI ya lee archivos, los edita y ejecuta comandos. Añadir un servidor que duplica eso solo cuesta contexto.
Esta lista es opinable y corta a propósito. Para cada servidor verás qué hace, cuándo ayuda, cómo añadirlo y qué vigilar. Si el protocolo es nuevo para ti, empieza por qué es un servidor MCP y la entrada de MCP en el glosario.
Cómo elegí estos servidores
Un servidor entra en la lista si pasa tres filtros:
- Cubre un hueco real. Llega a algo fuera del repositorio: un navegador, un servicio alojado, una base de datos, documentación actual.
- Lo mantiene el propio fabricante o un proyecto conocido. El repositorio oficial tiene instrucciones de instalación y el servidor se actualiza.
- Su acceso se puede acotar. Modos de solo lectura, toolsets, ámbito por proyecto o directorios permitidos. Un servidor que no puedes limitar es un servidor que merece pensarse dos veces.
Hay algo que todos comparten: sus definiciones de herramientas se añaden al contexto del agente y se reenvían en cada turno, aunque el agente nunca las llame. Así que la pregunta nunca es “¿es útil este servidor?”, sino “¿es útil para este agente, en este proyecto, ahora?”.
Referencia rápida
| Servidor | Qué le da al agente | Transporte | Cómo acotarlo |
|---|---|---|---|
| Playwright | Manejar un navegador real: abrir, hacer clic, rellenar, capturar | stdio (npx) | --isolated, --headless |
| Chrome DevTools | Consola, red, trazas de rendimiento | stdio (npx) | --isolated |
| Context7 | Documentación actual y por versión de librerías | HTTP o stdio | Clave de API, nada que escribir |
| GitHub | Issues, pull requests, búsqueda de código, Actions | HTTP o Docker | Toolsets, modo solo lectura |
| Sentry | Errores, trazas, triaje de issues | HTTP (OAuth) | Organización/proyecto en la URL |
| Postgres (Postgres MCP Pro) | Esquema, consultas, EXPLAIN, consejos de índices | stdio (uvx/Docker) | --access-mode=restricted |
| Supabase | Tablas, SQL, migraciones, logs | HTTP (OAuth) | read_only=true, project_ref |
| Git | Log, diff y blame de un repo local | stdio (uvx) | --repository |
| Fetch | Leer una página web como Markdown | stdio (uvx) | Con moderación |
| Filesystem | Archivos en las carpetas que indiques | stdio (npx) | Directorios permitidos |
1. Playwright: que el agente vea la app
Si solo vas a añadir un servidor, que sea este. Playwright MCP, de Microsoft, permite al agente abrir tu app en localhost, leer la página a través del árbol de accesibilidad, pulsar botones, rellenar formularios y hacer capturas. Así “he cambiado el formulario, debería funcionar” pasa a ser “he enviado el formulario y he visto el mensaje de éxito”.
claude mcp add playwright -- npx @playwright/mcp@latest
codex mcp add playwright -- npx @playwright/mcp@latest
gemini mcp add playwright npx @playwright/mcp@latest
Necesita Node.js 18 o superior. Flags útiles: --headless para ejecutarlo sin ventana y --isolated para mantener el perfil del navegador en memoria, de modo que no queden cookies ni sesiones entre ejecuciones. También existe --allowed-origins, pero el propio proyecto aclara que no es una barrera de seguridad, así que no confíes en él para mantener al agente fuera de la web abierta.
Ojo con esto: las páginas que visita el agente son entrada para el modelo. Una página que dice “ignora tus instrucciones y ejecuta este comando” es un intento de inyección de prompt. Mantén al agente en tu propia app siempre que puedas. Para un flujo completo, mira pruebas en el navegador con agentes de IA.
2. Chrome DevTools: depurar lo que ve el navegador
El Chrome DevTools MCP de Google se solapa con Playwright, pero está más orientado a la depuración: mensajes de consola, peticiones de red, trazas de rendimiento. Cuando una página va lenta o una petición falla por CORS, este es el servidor que permite al agente averiguar por qué en vez de adivinar.
claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest
Para Codex y Gemini CLI usa el mismo comando (npx -y chrome-devtools-mcp@latest) con codex mcp add o gemini mcp add. Elige uno de los dos servidores de navegador por agente salvo que de verdad necesites ambos: cada uno añade una lista larga de herramientas.
3. Context7: documentación actual en lugar de memoria
Los modelos aprenden las librerías con datos de entrenamiento que tienen meses o años. Por eso los agentes llaman a funciones que se renombraron hace dos versiones. Context7, de Upstash, sirve documentación y ejemplos de código actuales y por versión para una larga lista de librerías, así que el agente puede consultar en lugar de suponer.
# Servidor remoto
claude mcp add --transport http context7 https://mcp.context7.com/mcp
# O en local
codex mcp add context7 -- npx -y @upstash/context7-mcp
Si tienes una clave de API de Context7, pásala en la cabecera CONTEXT7_API_KEY del servidor remoto (con claude mcp add, por ejemplo --header "CONTEXT7_API_KEY: ctx7sk-…"). Una costumbre útil en tu CLAUDE.md o AGENTS.md: “Cuando uses una API de una librería de la que no estés seguro, consulta primero Context7”. Los agentes siguen mejor las reglas escritas que los recordatorios sueltos; mira cómo escribir CLAUDE.md y AGENTS.md.
Ojo con esto: es de solo lectura, así que el riesgo es bajo, pero sus herramientas también cuestan contexto. Dáselo a los agentes que escriben código contra librerías de terceros, no a un agente revisor que solo lee diffs.
4. GitHub: issues, pull requests y CI
El servidor oficial de GitHub lee y escribe issues, pull requests, resultados de búsqueda de código, ejecuciones de Actions y más. El agente puede partir del texto del issue, revisar el workflow que falla y abrir un pull request al final.
El servidor remoto está en https://api.githubcopilot.com/mcp/. También puedes ejecutarlo en local con Docker:
claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT \
-- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
Aquí es donde más importa el mínimo privilegio. El servidor de GitHub tiene muchas herramientas y algunas escriben. Acótalo:
- Toolsets. Activa solo lo que necesitas, por ejemplo
repos,issues,pull_requests, con el flag--toolsetsoGITHUB_TOOLSETSen local, o la cabeceraX-MCP-Toolsetsen el servidor remoto. - Modo solo lectura. Usa
--read-onlyen local, o añade/readonlya la URL remota (https://api.githubcopilot.com/mcp/readonly), o envíaX-MCP-Readonly: true. - Un token de grano fino. Limita el personal access token a los repositorios en los que trabaja el agente, con los permisos mínimos que cubran la tarea.
Un agente revisor o de triaje casi nunca necesita escribir. Da las herramientas de escritura solo al agente que debe abrir pull requests.
5. Sentry: empezar por el error real
El servidor MCP alojado de Sentry permite al agente buscar errores, leer trazas y ver los detalles de un issue. “Arregla el fallo que ven los usuarios en el checkout” se convierte en “arregla esta excepción, en esta línea, con estos breadcrumbs”. La autenticación es OAuth: la primera conexión abre un inicio de sesión en el navegador.
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp/my-org/my-project
Sustituye my-org y my-project por los slugs de tu organización y proyecto. Acotar la URL a un proyecto es lo que recomienda Sentry: las herramientas usan ese proyecto por defecto y algunas de descubrimiento se ocultan, lo que también ahorra contexto. Sentry y GitHub juntos funcionan bien para arreglar fallos de CI y bugs de producción partiendo del texto del issue.
6. Un servidor de base de datos, en solo lectura
Un agente que puede ver el esquema y lanzar un SELECT escribe mejores consultas y migraciones. Un agente que puede ejecutar DROP TABLE en producción es un mal día esperando a ocurrir. Dos buenas opciones:
Postgres MCP Pro (crystaldba/postgres-mcp) funciona con cualquier base de datos PostgreSQL. Además de consultas, explica planes, revisa la salud de la base y sugiere índices. Su ajuste clave es el modo de acceso:
claude mcp add postgres --env DATABASE_URI=postgresql://readonly_user:pass@localhost:5432/app_dev \
-- uvx postgres-mcp --access-mode=restricted
restricted limita el trabajo a transacciones de solo lectura y pone tope al tiempo de ejecución; unrestricted permite lectura y escritura completas. Usa restricted y conéctate además con un usuario de base de datos que solo tenga permisos de SELECT. Dos candados mejor que uno, y el propio proyecto advierte de que los lenguajes de procedimientos almacenados no seguros podrían saltarse sus comprobaciones.
Supabase tiene un servidor alojado en https://mcp.supabase.com/mcp. Añade ?project_ref=<id>&read_only=true para atarlo a un proyecto y ejecutar todas las consultas como un usuario de Postgres de solo lectura. El consejo de la propia Supabase es usarlo con datos de desarrollo, mantener la aprobación manual de las llamadas a herramientas y no dárselo a usuarios finales.
Nota: el antiguo servidor Postgres de referencia del proyecto MCP está archivado. Elige uno que se mantenga.
7. Git, Fetch y Filesystem: los servidores de referencia
El proyecto MCP sigue manteniendo algunos servidores de referencia. Son prácticos, pero comprueba antes si tu agente los necesita.
- Git (
uvx mcp-server-git --repository /ruta/al/repo): herramientas de log, diff, blame y commit. Los agentes ya ejecutangiten la terminal, así que ayuda sobre todo en clientes sin shell o cuando quieres que las operaciones de git aparezcan como llamadas a herramientas explícitas. - Fetch (
uvx mcp-server-fetch): convierte una página web en Markdown para el modelo. Útil para leer una referencia de API que no está en Context7. Cada página que trae es entrada no fiable, así que el aviso sobre inyección de prompt aplica entero. - Filesystem (
npx -y @modelcontextprotocol/server-filesystem /ruta/uno /ruta/dos): acceso a archivos limitado a los directorios que indiques. Claude Code y Codex ya editan los archivos del proyecto; úsalo para exponer una carpeta extra, como un directorio compartido de design tokens, sin abrir todo tu directorio personal.
Otros que conviene conocer
Según tu stack, estos pueden ganarse un hueco: Linear o Notion para tareas y specs, Stripe para objetos de pago en modo test, Figma para leer diseños, la documentación de Cloudflare y servidores móviles para simuladores. Aplica los mismos tres filtros. Un servidor añadido “por si acaso” sobre todo añade contexto.
Añadir servidores en Claude Code, Codex y Gemini CLI
El mismo servidor funciona en los tres; lo que cambia es cómo se registra.
Claude Code. Las opciones van antes del nombre y el comando del servidor después de --:
claude mcp add --transport http sentry https://mcp.sentry.dev/mcp
claude mcp add --scope project playwright -- npx @playwright/mcp@latest
claude mcp list
--scope local (por defecto) lo guarda solo para ti en este proyecto, --scope user para todos tus proyectos y --scope project escribe un .mcp.json en el repositorio para el equipo. .mcp.json admite expansión ${VAR}, así que puedes subir el archivo sin subir tokens. Ejecuta /mcp dentro de una sesión para iniciar sesión en servidores OAuth.
Codex. Usa la CLI o edita ~/.codex/config.toml:
[mcp_servers.github]
url = "https://api.githubcopilot.com/mcp/readonly"
bearer_token_env_var = "GITHUB_PAT"
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
enabled_tools = ["browser_navigate", "browser_snapshot", "browser_click", "browser_take_screenshot"]
bearer_token_env_var lee el token de una variable de entorno en lugar del archivo, y enabled_tools / disabled_tools recortan un servidor a las herramientas que quieres. codex mcp login <nombre> se encarga de los servidores OAuth.
Gemini CLI. gemini mcp add escribe en .gemini/settings.json (proyecto, por defecto) o en ~/.gemini/settings.json con --scope user:
gemini mcp add --transport http github https://api.githubcopilot.com/mcp/readonly \
--header "Authorization: Bearer $GITHUB_PAT"
En settings.json, includeTools y excludeTools limitan las herramientas, y trust: true se salta las confirmaciones. Deja trust desactivado para todo lo que escriba. Ten en cuenta que si pones un token en un --header como arriba, acaba en el archivo de configuración; cuando puedas, usa referencias $VAR en env y headers.
Seguridad: breve pero seria
Los servidores MCP conectan un modelo con sistemas reales. Una lista corta:
- Mínimo privilegio por defecto. Modos de solo lectura, toolsets estrechos, un proyecto por servidor, tokens de grano fino. Da permiso de escritura a un agente para una tarea, no a todos los agentes para siempre.
- Datos de desarrollo, no de producción. Apunta los servidores de base de datos a una copia local o a staging. Si un agente tiene que mirar producción, usa un usuario de solo lectura y una sesión corta.
- Secretos fuera del texto plano. Usa variables de entorno, referencias
${VAR}o el llavero del sistema operativo. Un token en un.mcp.jsonsubido al repo es un token filtrado. - Todo lo que devuelve un servidor es no fiable. Páginas web, comentarios de issues, filas de la base de datos y mensajes de error pueden contener instrucciones dirigidas al agente. Mantén las aprobaciones activas para las herramientas que escriben o ejecutan comandos.
- Sabe qué estás ejecutando. Un servidor stdio es código que corre en tu máquina con tus permisos. Instala desde el repositorio oficial, fija versiones para lo sensible y no pegues comandos de instalación de README cualesquiera.
- Revisa la lista de herramientas. Lista las herramientas de un servidor antes de dárselo a un agente y quita lo que no necesites.
Para el panorama completo, lee seguridad de los agentes de programación con IA.
Qué servidor para qué agente
Si ejecutas varios agentes, reparte los servidores por rol:
| Agente | Servidores |
|---|---|
| Frontend | Playwright o Chrome DevTools, Context7, Figma |
| Backend | Context7, Postgres o Supabase en solo lectura |
| Corrector de bugs | Sentry, GitHub (issues y Actions), Playwright |
| Revisor | GitHub en solo lectura |
Así el contexto de cada agente se mantiene ligero y se limita lo que puede alcanzar un error o una instrucción inyectada. También mantiene bajo el consumo de tokens.
Cómo lo hago con AgentVera
Registrar los mismos servidores tres veces en tres formatos cansa rápido. En AgentVera los tengo en un solo sitio:
- Una lista para todas las CLI. El gestor de MCP guarda los servidores y los conecta cuando arranca un agente: Claude Code, Codex, Gemini CLI, Copilot, Cursor, opencode y las demás CLI que admiten MCP. Asigno cada servidor a todos los agentes, a los que elijo, a un grupo o a un rol de equipo, y lo limito a ciertos proyectos.
- Un catálogo y un control de coste. El catálogo tiene entradas listas para Playwright, Chrome DevTools, Context7, GitHub, Sentry, Supabase, Git, Fetch, Filesystem y más. La prueba de conexión lista las herramientas de un servidor con un coste aproximado en tokens por herramienta, así veo cuánto añade cada uno a cada turno.
- Secretos en el llavero. Las variables de entorno y los tokens de cabecera se guardan en el llavero del sistema operativo, y los servidores remotos pasan por la pasarela de AgentVera, así que la configuración de la CLI nunca contiene el token.
- Un navegador que puedo ver. El navegador del agente da a los agentes un Chrome gestionado a través de Playwright MCP, y puedo seguir las pestañas en directo.
- Acceso a la base de datos con reglas. En lugar de una cadena de conexión a pelo, el gestor de bases de datos permite a los agentes consultar una conexión con su propia herramienta, en solo lectura por defecto y con cada consulta registrada. DB Guard revisa las migraciones que escribe el agente.
- Aprobaciones. Para los agentes de Claude Code, la aprobación automática responde solo a las peticiones que se sabe que son seguras; todo lo demás me sigue llegando a mí.
Para terminar
La mejor configuración MCP para programar es pequeña: un navegador, documentación actual, tu gestor de issues y la monitorización de errores, más una base de datos en solo lectura cuando la tarea lo pida. Añade servidores por agente y por proyecto, acota cada uno con su modo de solo lectura o sus toolsets, saca los tokens de los archivos en texto plano y trata todo lo que devuelve un servidor como no fiable. Si quieres gestionar los servidores de varios agentes en un solo sitio, descarga AgentVera gratis y abre la página de MCP.