Módulo 8

MCP (Model Context Protocol)


Es el estándar de lo que ya haces con el function calling: la forma reutilizable de exponer herramientas y datos a cualquier asistente o agente.

Tiempo de lectura: 3 min

Tools, resources y prompts

MCP (Model Context Protocol) es un protocolo abierto para conectar aplicaciones de IA con sistemas externos. Define tres primitivas que un servidor puede ofrecer: las tools, acciones que el modelo puede ejecutar (como consultar un pedido); los resources, datos que la aplicación puede leer y añadir al contexto (como un documento o un registro); y los prompts, plantillas reutilizables que el usuario puede invocar.

La diferencia es quién tiene el control: las tools las decide el modelo, los resources la aplicación y los prompts el usuario. En la práctica, la mayoría de servidores empiezan solo con tools, que es lo que más se parece al function calling.

Servidores y clientes

En MCP, el servidor es el programa que expone las capacidades de un sistema (tu aplicación de atención al cliente, una base de datos, un servicio externo), y el cliente es el que se conecta a él en nombre de una aplicación de IA, como un asistente de escritorio, un IDE o un agente propio. Una misma aplicación puede conectarse a muchos servidores a la vez.

Los servidores pueden funcionar en local (el cliente los arranca como un proceso y se comunica con ellos por la entrada y la salida estándar) o en remoto por HTTP, con autenticación. Un servidor remoto es, a efectos prácticos, una API: necesita autenticación, límites de peticiones y el mismo criterio de mínimo privilegio que cualquier otra.

MCP vs function calling

El function calling es el mecanismo para que un modelo pida herramientas dentro de una aplicación concreta, y las herramientas se definen en el código de esa aplicación. MCP estandariza cómo se exponen esas herramientas para que cualquier cliente compatible las pueda descubrir y usar sin código específico.

No son alternativas: por debajo, un cliente MCP acaba convirtiendo las tools del servidor en function calling para el modelo. La diferencia es de reutilización. Si las herramientas solo las usa tu aplicación, el function calling directo es más sencillo. Si quieres que tu sistema sea accesible desde varios asistentes y agentes, MCP te ahorra hacer una integración para cada uno.

Conectores

Un conector es un servidor MCP ya preparado para un servicio concreto (un gestor de correo, un calendario, un repositorio de código, una herramienta de tickets) que se puede añadir a un asistente con poca configuración o ninguna.

Son la forma más rápida de dar contexto real a un asistente, pero cada conector amplía lo que el modelo puede ver y hacer. Antes de activar uno, hay que revisar qué permisos pide, qué datos expone y quién lo mantiene: un conector con permisos de escritura es una puerta de entrada para el prompt injection indirecto.

Examínate de este módulo

Copia este prompt y pégalo en tu IA (ChatGPT, Claude, Gemini…). Te hará un test de 20 preguntas sobre los conceptos del módulo y después te propondrá un ejercicio práctico.

Actúa como examinador de la «Guía de Ingeniería IA» de Dani Pérez. Examíname del módulo «MCP (Model Context Protocol)» (https://daniperez.pro/resources/ai-engineering-guide/mcp).

Conceptos que entran en el examen:
- Tools, resources y prompts
- Servidores y clientes
- MCP vs function calling
- Conectores

Examen:
1. 20 preguntas tipo test, cada una con 4 opciones (a, b, c, d) y una sola respuesta correcta.
2. Pregunta sobre comprensión y criterio (para qué sirve cada cosa y cuándo NO usarla), no sobre memorizar definiciones.
3. Reparte la posición de la respuesta correcta de forma equilibrada entre a, b, c y d.
4. Hazme las preguntas en 4 tandas de 5. No pongas ningún ejemplo de respuesta (como "1a 2b 3c 4d 5a"): yo ya sé que debo responder con las letras. No me digas si he acertado hasta que haya respondido las 20.
5. Al final, corrígelas todas: para cada pregunta, mi respuesta, la correcta y una explicación breve. Dame la nota sobre 20 y dime qué conceptos debo repasar.

Ejercicio práctico (después de la corrección):
6. Pregúntame qué aplicación tengo o quiero construir, y con qué lenguaje y framework trabajo. Si no tengo ninguna, usa esta: la aplicación de atención al cliente de una tienda online, con tickets, clientes, pedidos y una base de conocimiento (FAQ y políticas de devolución). En ese caso, centra el ejercicio en: exponer la aplicación de atención al cliente como servidor MCP para que cualquier asistente o agente pueda consultar tickets y pedidos.
7. Propónme un ejercicio que aplique los conceptos de este módulo a esa aplicación: objetivo, requisitos, criterios para darlo por bueno y errores habituales a evitar.
8. No me lo resuelvas. Cuando te traiga mi solución, revísala con esos criterios.