¿Que son los MCP? Guia Completa del Model Context Protocol
El Problema: La IA Vive Aislada de tus Herramientas
Imagina que tienes un asistente de IA increiblemente inteligente, pero que no puede ver tu pantalla, no puede abrir archivos, no puede consultar tu base de datos y no puede enviar mensajes en Slack. Eso es basicamente lo que sucede hoy con la mayoria de los modelos de lenguaje: viven en una burbuja.
Cada vez que quieres que un LLM interactue con una herramienta externa — tu repositorio de GitHub, tu CRM, tu base de datos, tu calendario — necesitas construir una integracion personalizada. Y si cambias de modelo o de proveedor, tienes que reconstruir todo desde cero. Es un problema de N x M: N modelos de IA multiplicados por M herramientas, cada uno con su propia integracion.
![]()
Fuente: Model Context Protocol — Anthropic
Aqui es donde entra el Model Context Protocol (MCP).
Que es MCP: La Analogia del USB-C
El Model Context Protocol (MCP) es un protocolo abierto creado por Anthropic (la empresa detras de Claude) que estandariza la forma en que las aplicaciones de IA se conectan con fuentes de datos y herramientas externas.
La analogia mas clara es la del USB-C: antes de USB-C, cada dispositivo tenia su propio cargador y conector. USB-C unifico todo en un solo estandar. MCP hace lo mismo para la IA: en lugar de construir integraciones individuales para cada combinacion de modelo + herramienta, defines un solo protocolo que funciona con cualquier modelo compatible.
Arquitectura de MCP: Hosts, Clientes y Servidores
La arquitectura de MCP sigue un patron cliente-servidor con tres componentes principales:
MCP Hosts
Son las aplicaciones que el usuario utiliza directamente y que quieren aprovechar la IA con contexto externo. Ejemplos:
- Claude Desktop — La aplicacion de escritorio de Anthropic
- Claude Code — La CLI de desarrollo de Anthropic
- Cursor — El IDE con IA integrada
- IDEs con extensiones de IA — VS Code, JetBrains, etc.
MCP Clients
Viven dentro del host y mantienen una conexion 1:1 con un servidor MCP. Cada cliente se comunica con un servidor especifico usando el protocolo MCP (basado en JSON-RPC 2.0).
MCP Servers
Son programas ligeros que exponen capacidades especificas a traves del protocolo. Cada servidor se enfoca en una fuente de datos o herramienta:
- Un servidor MCP para GitHub (crear PRs, leer issues)
- Un servidor MCP para PostgreSQL (consultar tablas, ejecutar queries)
- Un servidor MCP para Slack (enviar mensajes, leer canales)
- Un servidor MCP para sistema de archivos (leer/escribir archivos locales)
Diagrama de la arquitectura
1
2┌─────────────────────────────────────────┐
3│ MCP HOST (Claude Desktop) │
4│ │
5│ ┌──────────┐ ┌──────────┐ ┌────────┐ │
6│ │ MCP │ │ MCP │ │ MCP │ │
7│ │ Client 1 │ │ Client 2 │ │ Client │ │
8│ └────┬─────┘ └────┬─────┘ └───┬────┘ │
9└───────┼──────────────┼────────────┼──────┘
10 │ │ │
11 ┌────▼─────┐ ┌────▼─────┐ ┌───▼──────┐
12 │ MCP │ │ MCP │ │ MCP │
13 │ Server │ │ Server │ │ Server │
14 │ (GitHub) │ │ (Postgres)│ │ (Slack) │
15 └──────────┘ └──────────┘ └──────────┘
Los Tres Pilares de MCP: Tools, Resources y Prompts
Un servidor MCP puede exponer tres tipos de capacidades:
1. Tools (Herramientas)
Son funciones que el modelo puede invocar. Equivalen a las function calls de OpenAI, pero estandarizadas. Ejemplo: create_issue, query_database, send_message.
2. Resources (Recursos)
Son datos que el servidor expone para que el modelo los lea. Similar a un endpoint GET en una API REST. Ejemplo: el contenido de un archivo, los registros de una tabla, el historial de un canal de Slack.
3. Prompts (Plantillas)
Son plantillas de prompts reutilizables que el servidor puede ofrecer. Ayudan a estandarizar como los usuarios interactuan con ciertos flujos. Ejemplo: un prompt predefinido para "analizar el rendimiento de esta query SQL".
Como Crear un Servidor MCP: Ejemplo Practico
Vamos a crear un servidor MCP sencillo que expone una herramienta para consultar el clima. Mostraremos ejemplos en Python y TypeScript.
Servidor MCP en Python
1
2# weather_server.py
3from mcp.server.fastmcp import FastMCP
4import httpx
5
6# Crear el servidor MCP
7mcp = FastMCP("WeatherServer")
8
9@mcp.tool()
10async def get_weather(city: str) -> str:
11 """Obtiene el clima actual de una ciudad."""
12 async with httpx.AsyncClient() as client:
13 response = await client.get(
14 f"https://wttr.in/{city}?format=%C+%t+%h"
15 )
16 return f"Clima en {city}: {response.text}"
17
18@mcp.resource("weather://cities")
19async def list_cities() -> str:
20 """Lista las ciudades disponibles para consulta."""
21 return "CDMX, Guadalajara, Monterrey, Cancun, Oaxaca"
22
23@mcp.prompt()
24def weather_report(city: str) -> str:
25 """Genera un prompt para obtener un reporte del clima."""
26 return f"Por favor, consulta el clima actual en {city} y dame un resumen amigable con recomendaciones de que vestir."
27
28if __name__ == "__main__":
29 mcp.run(transport="stdio")
Servidor MCP en TypeScript
1
2// weather-server.ts
3import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5import { z } from "zod";
6
7const server = new McpServer({
8 name: "WeatherServer",
9 version: "1.0.0",
10});
11
12// Definir una herramienta
13server.tool(
14 "get_weather",
15 "Obtiene el clima actual de una ciudad",
16 { city: z.string().describe("Nombre de la ciudad") },
17 async ({ city }) => {
18 const response = await fetch(
19 `https://wttr.in/${city}?format=%C+%t+%h`
20 );
21 const text = await response.text();
22 return {
23 content: [{ type: "text", text: `Clima en ${city}: ${text}` }],
24 };
25 }
26);
27
28// Definir un recurso
29server.resource(
30 "cities",
31 "weather://cities",
32 async (uri) => ({
33 contents: [{
34 uri: uri.href,
35 text: "CDMX, Guadalajara, Monterrey, Cancun, Oaxaca",
36 }],
37 })
38);
39
40// Conectar al transporte stdio
41const transport = new StdioServerTransport();
42await server.connect(transport);
Como Usar MCP con Claude Desktop, Claude Code y Cursor
Una vez que tienes un servidor MCP, necesitas configurar tu host para que lo reconozca. Cada host tiene su propio metodo de configuracion:
Claude Desktop
Edita el archivo de configuracion (claude_desktop_config.json):
1
2{
3 "mcpServers": {
4 "weather": {
5 "command": "python",
6 "args": ["weather_server.py"],
7 "cwd": "/ruta/a/tu/servidor"
8 },
9 "github": {
10 "command": "npx",
11 "args": ["-y", "@modelcontextprotocol/server-github"],
12 "env": {
13 "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_tu_token_aqui"
14 }
15 }
16 }
17}
Claude Code
Usa el comando de configuracion directamente en la terminal:
1
2# Agregar un servidor MCP a Claude Code
3claude mcp add weather -- python weather_server.py
4
5# Agregar el servidor de GitHub
6claude mcp add github -- npx -y @modelcontextprotocol/server-github
7
8# Ver servidores configurados
9claude mcp list
10
11# Remover un servidor
12claude mcp remove weather
Cursor
En Cursor, la configuracion se hace desde Settings > MCP o editando el archivo .cursor/mcp.json en tu proyecto:
1
2{
3 "mcpServers": {
4 "postgres": {
5 "command": "npx",
6 "args": ["-y", "@modelcontextprotocol/server-postgres",
7 "postgresql://user:pass@localhost:5432/mydb"]
8 }
9 }
10}
Casos de Uso Reales: MCP en Produccion
MCP no es solo teoria. Ya hay decenas de servidores MCP en produccion que conectan la IA con herramientas reales:
Desarrollo de software
- GitHub MCP Server: Crear PRs, revisar issues, buscar codigo, gestionar repositorios
- PostgreSQL/MySQL: Ejecutar queries, explorar esquemas, analizar datos
- Docker: Gestionar contenedores, ver logs, ejecutar comandos
- Filesystem: Leer, escribir y buscar archivos en tu sistema local
Productividad
- Slack: Enviar mensajes, buscar en canales, resumir conversaciones
- Google Drive: Buscar documentos, leer contenido, crear archivos
- Gmail: Leer correos, enviar respuestas, gestionar etiquetas
- Calendar: Ver eventos, crear reuniones, gestionar disponibilidad
Datos y analisis
- BigQuery: Ejecutar consultas SQL en data warehouses
- Sentry: Analizar errores, buscar excepciones, revisar trazas
- Grafana: Consultar dashboards, metricas y alertas
Quien ha Adoptado MCP: El Ecosistema Crece
Desde su lanzamiento por Anthropic en noviembre de 2024, MCP ha ganado traccion rapidamente en la industria:
- OpenAI: Anuncio soporte para MCP en su Agents SDK en marzo de 2025, validando el protocolo como estandar de la industria
- Google DeepMind: Integro MCP en Gemini y en sus herramientas de desarrollo
- Microsoft: Soporte de MCP en Copilot Studio y en herramientas de Azure AI
- AWS: Amazon Q Developer soporta servidores MCP para interactuar con servicios de AWS
- Block (Square): Contribuyo con su servidor MCP de codigo abierto llamado Goose
- Zed, Replit, Codeium, Sourcegraph: Integraron MCP en sus plataformas de desarrollo
El hecho de que OpenAI haya adoptado un protocolo creado por su competidor directo (Anthropic) es una señal poderosa de que MCP se esta convirtiendo en un estandar de facto para la industria de la IA.
Seguridad en MCP: Lo que Debes Saber
Como cualquier protocolo que conecta IA con herramientas reales, MCP tiene implicaciones de seguridad importantes:
Riesgos principales
- Inyeccion de prompts a traves de herramientas: Un servidor MCP malicioso podria manipular las respuestas del modelo
- Acceso excesivo a datos: Un servidor con permisos amplios podria exponer informacion sensible
- Ejecucion de codigo remoto: Servidores MCP que ejecutan comandos del sistema necesitan sandboxing adecuado
- Supply chain attacks: Instalar servidores MCP de terceros sin verificar su codigo
Mejores practicas de seguridad
- Principio de minimo privilegio: Dale a cada servidor MCP solo los permisos que necesita
- Revisa el codigo fuente: Antes de instalar un servidor MCP de terceros, revisa su repositorio
- Usa tokens con alcance limitado: Para GitHub, Slack, etc., crea tokens con los permisos minimos
- Sandboxing: Ejecuta servidores MCP en contenedores o entornos aislados
- Auditoria: Lleva logs de todas las acciones que ejecutan los servidores MCP
- No expongas servidores MCP a internet: Usa transporte stdio para servidores locales
El Futuro de MCP: Hacia un Ecosistema Conectado
MCP esta evolucionando rapidamente. Algunas areas de desarrollo activo incluyen:
- Autenticacion estandarizada: OAuth 2.0 integrado para servidores remotos, eliminando la necesidad de gestionar tokens manualmente
- Registro de servidores: Un directorio centralizado donde descubrir y verificar servidores MCP confiables
- Comunicacion entre agentes: MCP como puente para que multiples agentes de IA colaboren usando las mismas herramientas
- Streaming bidireccional: Soporte mejorado para operaciones de larga duracion con actualizaciones en tiempo real
- MCP Gateway: Proxies intermedios que agregan seguridad, cache y observabilidad
La vision a largo plazo es un ecosistema donde cualquier herramienta de software pueda ser accesible para cualquier modelo de IA a traves de un protocolo universal, de la misma forma que HTTP estandarizo la comunicacion en la web.
Conclusion: MCP Cambia las Reglas del Juego
El Model Context Protocol representa un cambio fundamental en como pensamos la integracion de IA con el mundo real. Ya no se trata de construir integraciones individuales para cada combinacion de modelo y herramienta, sino de hablar un lenguaje comun.
Los puntos clave para recordar:
- MCP es un protocolo abierto creado por Anthropic que estandariza la conexion IA-herramientas
- Sigue una arquitectura cliente-servidor con tres capacidades: Tools, Resources y Prompts
- Ya esta adoptado por OpenAI, Google, Microsoft y AWS
- Puedes crear tus propios servidores MCP en Python o TypeScript
- La seguridad es fundamental: principio de minimo privilegio y revision de codigo
Si eres desarrollador, este es el momento de explorar MCP. El ecosistema esta creciendo, las herramientas estan madurando y la comunidad es activa. Construir un servidor MCP hoy te posiciona en la vanguardia de la integracion de IA.
Para empezar, visita la documentacion oficial de MCP y explora los servidores de referencia.
Comments
Sign in to leave a comment
No comments yet. Be the first!