Volver a Aprende IA | Inicio
IA / Protocolo · Referencia educativa

Model Context Protocol

Cómo MCP proporciona a los modelos de IA una forma estandarizada de conectarse a herramientas externas, fuentes de datos y servicios — transformando un chatbot en un agente capaz y fundamentado.

Capa 1 · Arquitectura — Los Tres Componentes

Roles del protocolo
🧠
MCP Host
Claude Desktop, Claude Code, tu app
🔌
MCP Client
Integrado en el host, gestiona conexiones
📡
MCP Protocol
JSON-RPC 2.0 por stdio o HTTP+SSE
⚙️
MCP Server
Expone herramientas, recursos, prompts
🗃️
Sistemas Externos
APIs, bases de datos, sistemas de archivos
MCP Host La aplicación de IA con la que interactúa el usuario — Claude Desktop, Claude Code, o cualquier app personalizada construida con un SDK de MCP. El host controla a qué servidores MCP conectarse y qué capacidades puede usar el LLM.
MCP Client Vive dentro del host. Mantiene una conexión 1 a 1 con cada servidor MCP, habla el protocolo y media entre las solicitudes de llamada a herramientas del LLM y las respuestas del servidor. Un host puede gestionar muchos clientes simultáneamente.
MCP Server Un proceso ligero — cualquier lenguaje, cualquier máquina — que anuncia un conjunto de capacidades y las ejecuta bajo demanda. Los servidores pueden ser procesos hijos locales (stdio) o servicios remotos (HTTP+SSE). Están completamente aislados del host.

Capa 2 · Flujo de Llamada a Herramienta — Un Viaje de Ida y Vuelta

Por invocación de herramienta
💬
Prompt del Usuario
Solicitud en lenguaje natural
🧠
El LLM Decide
Selecciona herramienta + construye argumentos
📤
Solicitud de Herramienta
Llamada JSON-RPC por protocolo
El Servidor Ejecuta
Llama a API, BD, sistema de archivos
📥
Resultado de Herramienta
Devuelto al contexto del LLM
Respuesta Final
Basada en datos en tiempo real
Descubrimiento de capacidades Al conectarse, el cliente llama a tools/list, resources/list y prompts/list. Los esquemas de capacidades del servidor se inyectan en el prompt de sistema del LLM. El LLM nunca llama herramientas directamente — emite un bloque tool_use estructurado que el host intercepta.
Ejecución de herramientas El host enruta la salida de llamada a herramienta del LLM al cliente MCP correcto, que envía una solicitud JSON-RPC tools/call al servidor. El servidor ejecuta la lógica en aislamiento y devuelve un resultado content. Aquí se puede insertar aprobación humana antes de la ejecución.
Inyección del resultado El resultado de la herramienta se añade a la conversación como mensaje tool_result. El LLM retoma la generación con datos reales y frescos en su ventana de contexto. Se pueden encadenar múltiples herramientas secuencial o en paralelo dentro de un mismo turno.

Los Tres Primitivos

🔧

Herramientas

Funciones ejecutables que el LLM puede invocar para realizar acciones o recuperar datos dinámicos. Cada herramienta tiene un nombre, descripción y un esquema JSON para sus parámetros. El LLM lee el esquema y decide cuándo y cómo llamarla.

search_web run_query read_file call_api
📂

Recursos

Datos de solo lectura que el host puede cargar en el contexto — archivos, registros, configuraciones. A diferencia de las herramientas, los recursos son obtenidos por el host a su discreción, no llamados por el LLM. Piénsalos como inyección de contexto estructurado.

file://app.log db://users/42 config://env
💡

Prompts

Plantillas de prompt reutilizables con argumentos opcionales, expuestos como comandos slash o iniciadores de flujo de trabajo. Los autores del servidor empaquetan instrucciones de antemano para guiar al LLM hacia tareas específicas sin que el usuario las escriba cada vez.

/summarize /code-review /debug

❌ Sin MCP

Cada aplicación de IA construye sus propias integraciones a medida. Un asistente de código tiene código Git personalizado; un bot de soporte tiene código Zendesk personalizado — nada de eso es transferible. El contexto está desactualizado: el LLM solo puede saber lo que se incorporó en el entrenamiento o se pegó manualmente en el prompt. Añadir una nueva fuente de datos significa reescribir la app.

✅ Con MCP

Un servidor MCP se conecta a cualquier host compatible con MCP sin modificaciones. Un servidor de sistema de archivos funciona en Claude Desktop, Claude Code y tu app personalizada por igual. El LLM obtiene acceso en vivo a datos del mundo real bajo demanda, convirtiendo completaciones estáticas en respuestas fundamentadas, actualizadas y accionables.

Cómo Funciona — Paso a Paso

1

Arranque — El cliente se conecta y descubre capacidades

Cuando el host se lanza, se conecta a cada servidor MCP configurado y envía un handshake initialize. Luego llama a tools/list, resources/list y prompts/list para preguntar "¿qué puedes hacer?" El servidor responde con esquemas JSON de todo lo que expone. Estos esquemas se inyectan automáticamente en el prompt de sistema del LLM, de modo que conoce todas las herramientas disponibles y cómo llamarlas.

2

Enrutamiento — El LLM emite una llamada a herramienta estructurada

El LLM no ejecuta nada directamente. Cuando decide que necesita una herramienta, emite un bloque tool_use en su respuesta — con el nombre de la herramienta, argumentos en JSON y un ID de llamada único. El host intercepta esto antes de mostrar cualquier resultado al usuario. Este punto de interceptación es donde se puede insertar la aprobación humana: el host puede pausar y pedir al usuario que confirme antes de ejecutar la herramienta.

3

Ejecución — El servidor ejecuta la herramienta en aislamiento

El cliente MCP envía un mensaje JSON-RPC tools/call al servidor con el nombre de la herramienta y sus argumentos. El servidor ejecuta — consultando una base de datos, llamando a una API externa, leyendo un archivo, ejecutando un subproceso — y devuelve un bloque content con texto, datos estructurados o incluso imágenes. Esto se ejecuta dentro del proceso aislado del servidor, completamente separado del LLM y el host. El servidor no tiene acceso al historial de la conversación.

4

Fundamentación — El resultado entra en el contexto del LLM

El resultado de la herramienta se añade al hilo de la conversación como mensaje tool_result. El LLM retoma la generación con datos frescos y del mundo real en su ventana de contexto. Puede encadenar llamadas adicionales a herramientas — buscar, luego leer, luego resumir — o sintetizar una respuesta final que cite directamente los datos recuperados. El resultado está fundamentado en información en vivo, no en suposiciones del momento del entrenamiento.

Lectura Relacionada Pipeline RAG – Diagrama educativo Cómo los modelos de IA responden preguntas basadas en tus documentos