Cristhian Villegas
Architecture12 min read1 views

¿Que son los MCP? Guia Completa del Model Context Protocol

¿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.

Diagrama del Model Context Protocol conectando IA con herramientas

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.

Definicion oficial: MCP es un protocolo abierto que estandariza como las aplicaciones proporcionan contexto a los LLMs. Piensa en MCP como un puerto USB-C para aplicaciones de IA — asi como USB-C proporciona una forma estandarizada de conectar dispositivos a perifericos, MCP proporciona una forma estandarizada de conectar modelos de IA a diferentes fuentes de datos y herramientas.

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

text
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".

Analogia practica: Si MCP fuera un restaurante, los Tools serian las acciones del chef (cocinar, cortar, hornear), los Resources serian los ingredientes disponibles en la cocina, y los Prompts serian el menu con las sugerencias del dia.

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

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

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);
Transporte: MCP soporta dos tipos de transporte: stdio (comunicacion via entrada/salida estandar, ideal para servidores locales) y SSE (Server-Sent Events sobre HTTP, para servidores remotos). La mayoria de los servidores locales usan stdio.

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):

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:

bash
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:

json
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
Directorio oficial: Puedes explorar todos los servidores MCP disponibles en el repositorio oficial de servidores MCP y en el sitio web del protocolo.

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.

Dato clave: En marzo de 2025, Sam Altman (CEO de OpenAI) confirmo el soporte de MCP diciendo: "Planeamos agregar soporte para MCP en nuestros productos." Esto fue un punto de inflexion para la adopcion masiva del protocolo.

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
Advertencia de seguridad: Nunca instales servidores MCP de fuentes no confiables. Un servidor MCP tiene acceso a las herramientas que expone y potencialmente al contexto de tu conversacion con el modelo. Trata los servidores MCP como tratarias cualquier software que instalas en tu computadora.

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.

Comunidad: "MCP es para la IA lo que HTTP fue para la web. Suena ambicioso, pero cuando ves como OpenAI, Google y Microsoft se suben al mismo protocolo creado por su competidor, sabes que algo grande esta pasando." — Desarrollador en la comunidad de MCP.
Share:
CV

Cristhian Villegas

Software Engineer specializing in Java, Spring Boot, Angular & AWS. Building scalable distributed systems with clean architecture.

Comments

Sign in to leave a comment

No comments yet. Be the first!

Related Articles