Fundamentos de MCP para Agentes de IA
Qué cubre este artículo sobre MCP
- Qué es el Model Context Protocol y por qué importa.
- Cómo MCP conecta agentes de IA con herramientas externas.
- Qué componentes forman el cliente, servidor y transporte.
- Cómo construir un servidor MCP simple.
- Ventajas, limitaciones y obstáculos típicos.
Introducción: Fundamentos de MCP para Agentes de IA
Los agentes de IA necesitan interactuar con el mundo. Deben leer archivos, llamar APIs, consultar bases de datos o ejecutar comandos. Hasta ahora, cada una de estas conexiones era específica del proyecto. El Model Context Protocol, o MCP, busca cambiar eso. Es un estándar abierto que conecta agentes y herramientas de forma estandarizada.
MCP funciona como un enchufe universal. Un agente habla MCP, una herramienta ofrece un servidor MCP. Así se pueden combinar herramientas y agentes sin reprogramar cada conexión. Quien construye agentes se beneficia de un ecosistema en crecimiento de servidores MCP.
¿Por qué necesito MCP?
Hasta ahora, cada aplicación de agentes debía escribir sus propios adaptadores para herramientas. Una herramienta de Discord, una de base de datos, una del sistema de archivos, todas con interfaces diferentes. MCP reduce este esfuerzo. El agente habla MCP, el servidor implementa la herramienta. Ventajas:
- Reutilización: Un servidor funciona para muchos clientes.
- Intercambiabilidad: Los servidores se reemplazan fácilmente.
- Seguridad: Protocolos y permisos claros.
- Apertura: Sin ataduras de fabricantes.
- Flexibilidad: Las herramientas nuevas se integran rápidamente.
MCP en pocas palabras
MCP se basa en un modelo cliente-servidor. El cliente es la aplicación de IA, el servidor proporciona recursos y herramientas. La comunicación usa JSON-RPC.
Términos clave:
- Host: La aplicación que ejecuta el agente.
- Client: Conexión del host a un servidor MCP.
- Server: Proporciona herramientas, recursos y prompts.
- Tool: Función que el agente puede invocar.
- Resource: Datos que el agente puede consultar.
- Prompt: Entradas predefinidas para el modelo.
- Transport: Vía de transmisión, por ejemplo stdio o SSE.
¿Para quién es MCP?
- Para desarrolladores que conectan agentes con herramientas.
- Para equipos que quieren proporcionar herramientas propias.
- Para arquitectos que diseñan sistemas de IA modulares.
- Para cualquiera que quiera evitar ataduras de fabricantes.
Términos importantes en torno a MCP
- JSON-RPC: Estándar para llamadas a procedimientos remotos.
- stdio: Transporte a través de entrada y salida estándar.
- SSE: Server-Sent Events para transporte HTTP.
- Capability: Capacidad que ofrece un servidor.
- Schema: Descripción de herramientas y recursos.
- StdioClientTransport: Conexión a través de tuberías de proceso.
Estructura de un Sistema MCP
- Host: Inicia el agente y los clientes MCP.
- Clients: Se conectan con servidores MCP.
- Servers: Proporcionan herramientas y recursos.
- Model: Selecciona herramientas y las ejecuta a través de los clientes.
- Transport: Proporciona la comunicación.
Ejemplo Práctico: Servidor MCP Simple en Python
from mcp.server import Server
from mcp.types import TextContent
server = Server('mein-server')
@server.tool()
def addiere(a: int, b: int) -> TextContent:
return TextContent(text=str(a + b))
@server.resource('greeting://welt')
def greeting() -> TextContent:
return TextContent(text='Hallo, Welt!')
if __name__ == '__main__':
server.run()
El servidor ofrece una herramienta y un recurso. Un cliente MCP puede invocar ambos.
Ejemplo Práctico: Cliente en Python
from mcp import ClientSession, StdioServerTransport
transport = StdioServerTransport('python', ['mein_server.py'])
async with ClientSession(transport) as session:
tools = await session.list_tools()
ergebnis = await session.call_tool('addiere', {'a': 2, 'b': 3})
print(ergebnis)
El cliente inicia el servidor como un subproceso e invoca la herramienta.
Seguridad en MCP
- Permisos: Los servidores deben permitir solo lo necesario.
- Sandbox: Aísla procesos de servidor.
- Autenticación: Importante para transporte HTTP.
- Auditoría: Registra qué herramientas se invocan.
- Aprobación manual: No ejecutes operaciones críticas automáticamente.
Obstáculos Típicos en MCP
- Descripción de herramientas incompleta: Los modelos necesitan esquemas bien definidos.
- Manejo de errores complejo: Errores de red y proceso.
- Subestimar la seguridad: Un servidor con acceso al sistema de archivos es potente.
- Elección de transporte: stdio para local, SSE para remoto.
- Compatibilidad de versiones: MCP aún es joven y evoluciona.
- Debugging difícil: La comunicación asincrónica complica el trazado.
Enlaces e Información Adicional
- BotServ.de Agentes de IA
- BotServ.de Tool-Calling
- BotServ.de Agentes de Coding
- MCP Spec
- MCP SDK Python
FAQ: MCP
¿MCP solo funciona con Claude? No. Es un estándar abierto que pueden usar varios clientes.
¿Necesito Python? No. Hay SDKs para TypeScript, Python y otros lenguajes.
¿MCP solo puede ejecutarse localmente? No. HTTP/SSE también permite servidores remotos.
¿Son seguros los servidores MCP? Solo con permisos, sandbox y auditoría. Tienen acceso directo a las herramientas.
¿Cuál es la diferencia con Function Calling? MCP estandariza la integración. Function Calling es la capacidad del modelo para invocar funciones.
Fuentes y Lecturas Adicionales
- Model Context Protocol: https://modelcontextprotocol.io/
- Python SDK: https://github.com/modelcontextprotocol/python-sdk
- TypeScript SDK: https://github.com/modelcontextprotocol/typescript-sdk
Resumen: Fundamentos de MCP para Agentes de IA
MCP es un estándar abierto que conecta agentes de IA de forma modular con herramientas. Cliente, servidor y transporte forman una arquitectura limpia. Los SDKs de Python y TypeScript facilitan el inicio. Lo importante es contar con buenas descripciones de herramientas, permisos y seguridad. Quien use MCP puede construir agentes que se expandan fácilmente con nuevas capacidades.


