Lección 05: Model Context Protocol, Servidores y Integraciones
- MCP (Model Context Protocol) es un estándar abierto que conecta modelos de IA con servicios externos mediante un protocolo unificado.
- La arquitectura sigue un patrón de tres capas: Host (Claude Code) → Client → Server → Servicio Externo.
- Tres primitivas fundamentales: tools (acciones ejecutables), resources (datos consultables) y prompts (plantillas reutilizables).
- Los servidores MCP se configuran en .claude/settings.json y se ejecutan localmente, dando control total sobre el flujo de datos.
Hasta ahora, Claude Code ha trabajado dentro de los límites de tu terminal: lee archivos, ejecuta comandos y edita código. Pero el desarrollo real involucra decenas de servicios externos: GitHub, bases de datos, Slack, APIs internas, buscadores web. MCP es el puente que conecta Claude con todo ese ecosistema sin salir de la terminal.
Qué es MCP (Model Context Protocol)
MCP es un estándar abierto creado por Anthropic y adoptado por la industria. Piensa en él como el USB-C de la inteligencia artificial: un conector universal que permite a cualquier modelo de IA comunicarse con cualquier servicio externo a través de una interfaz estandarizada.
Antes de MCP, cada integración requería código personalizado: parsear la API de GitHub de una forma, la de Slack de otra, la de Postgres de otra completamente distinta. MCP unifica todo bajo un solo protocolo con tres primitivas:
- Tools (Herramientas): Acciones que el modelo puede ejecutar. Crear un PR en GitHub, enviar un mensaje a Slack, insertar un registro en la base de datos.
- Resources (Recursos): Datos que el modelo puede consultar. El contenido de un fichero, los resultados de una query SQL, el estado de un pipeline de CI.
- Prompts (Plantillas): Templates reutilizables que encapsulan flujos complejos. Un prompt para revisar PRs que incluye las guías de estilo del equipo.
Arquitectura de MCP
La comunicación sigue una cadena de cuatro componentes. Haz clic en cada nodo del diagrama para explorar su rol:
USB-C para IA
Antes de USB-C, cada fabricante tenía su propio conector. MCP elimina ese problema para la IA: un protocolo, cualquier servicio, cualquier modelo. Los servidores MCP que escribes para Claude funcionan con cualquier host compatible.
Configurar Servidores MCP
Los servidores MCP se registran en el archivo .claude/settings.json de tu proyecto o en la configuración global. Cada servidor se define con su comando de ejecución y variables de entorno necesarias.
Estructura básica de configuración
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
}
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/dev/projects"]
},
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "BSAxxxxxxxxxxxx"
}
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:pass@localhost:5432/mydb"]
}
}
}Verificar servidores activos
Una vez configurados, Claude Code detecta automáticamente los servidores al iniciar una sesión. Puedes verificar cuáles están disponibles:
$ claude > MCP: 4 servers connected > github - 12 tools available > filesystem - 8 tools available > brave-search - 2 tools available > postgres - 5 tools available > Ready. Tú: /mcp > MCP Server Status: > github [connected] tools: create_pr, list_issues, ... > filesystem [connected] tools: read_file, write_file, ... > brave-search [connected] tools: brave_search, ... > postgres [connected] tools: query, list_tables, ...
Seguridad: Tokens en settings.json
Nunca commitees tokens o API keys directamente en .claude/settings.json. Usa variables de entorno del sistema o un gestor de secretos. Añade .claude/settings.json a tu .gitignore si contiene credenciales.
Casos de Uso Reales
MCP transforma Claude Code de un asistente de terminal a un agente conectado con toda tu infraestructura. Estos son los patrones más comunes en equipos de desarrollo:
1. Revisión de Pull Requests con GitHub
Claude accede directamente a GitHub para leer diffs, comentarios y el historial del PR. No necesitas copiar y pegar código:
Tú: Revisa el PR #142 del repo m8d/api-core. Enfócate en seguridad y rendimiento. > [MCP:github] get_pull_request(owner:"m8d", repo:"api-core", number:142) > [MCP:github] list_pull_request_files(...) > [MCP:github] get_file_contents(path:"src/auth/middleware.ts") > [Think] Analyzing 7 changed files... > Revisión del PR #142: > > SEGURIDAD: > - [CRÍTICO] El middleware de auth no valida el campo > "exp" del JWT. Un token expirado pasaría la validación. > - [MEDIO] La conexión a Redis no usa TLS. > > RENDIMIENTO: > - La query en UserService.findAll() hace N+1. > Recomiendo usar include/join. Tú: Deja esos comentarios directamente en el PR. > [MCP:github] create_review_comment(...) x3 > 3 comentarios publicados en PR #142.
2. Consultas a Base de Datos
Con el servidor MCP de Postgres, Claude puede explorar esquemas, ejecutar queries de solo lectura y analizar datos sin que salgas de la terminal:
Tú: Cuántos usuarios se registraron esta semana? Desglósalo por día y método de registro. > [MCP:postgres] list_tables() > [MCP:postgres] query("SELECT DATE(created_at) as dia, > auth_method, COUNT(*) as total FROM users > WHERE created_at >= NOW() - INTERVAL '7 days' > GROUP BY dia, auth_method ORDER BY dia") > Registros de la última semana: > > Lunes: OAuth: 23 | Email: 8 | Total: 31 > Martes: OAuth: 19 | Email: 12 | Total: 31 > Miércoles: OAuth: 27 | Email: 5 | Total: 32 > ... > > Total semanal: 198 usuarios (72% OAuth, 28% Email)
3. Búsqueda Web y Herramientas Internas
Otros patrones frecuentes incluyen:
- Brave Search: Investigar documentación, buscar soluciones a errores o comparar librerías sin abrir el navegador.
- Slack: Enviar notificaciones al canal del equipo cuando un deploy se completa o un test falla.
- Herramientas internas: Construir servidores MCP personalizados que conectan con APIs propietarias, dashboards internos o sistemas legacy.
Construir tu propio servidor MCP
Anthropic publica SDKs oficiales en Python y TypeScript. Un servidor MCP básico puede estar funcionando en menos de 50 líneas de código. Visita modelcontextprotocol.io para tutoriales paso a paso.
Preguntas Frecuentes
Sobre MCP y servidores de contexto