Implementación del Protocolo de Contexto de Modelo (MCP) en Python
Este proyecto implementa un servidor y un cliente del Protocolo de Contexto de Modelo (MCP) en Python, siguiendo la especificación MCP antrópica. Demuestra los patrones clave del protocolo MCP mediante un ejemplo sencillo e interactivo.
¿Qué es MCP?
El Protocolo de Contexto de Modelo (MCP) es un estándar abierto basado en JSON-RPC 2.0 para conectar modelos de IA a fuentes de datos y herramientas externas. Define una arquitectura cliente-servidor donde una aplicación de IA se comunica con uno o más servidores MCP, cada uno de los cuales ofrece capacidades como:
Herramientas : Funciones ejecutables que realizan acciones
Recursos : Fuentes de datos que proporcionan información
Avisos : Plantillas o flujos de trabajo predefinidos
MCP estandariza cómo se descubren e invocan estas capacidades, y actúa como un "USB-C para IA" que permite que los modelos interactúen con sistemas externos de forma estructurada.
Related MCP server: MCP Server Python Template
Estructura del proyecto
server/: Implementación del servidor MCPserver.py: servidor WebSocket que maneja solicitudes MCP y proporciona herramientas/recursos de muestra
client/: Implementación del cliente MCPclient.py: Cliente de demostración que se conecta al servidor y ejercita todas las capacidades de MCP
Características demostradas
Esta implementación muestra el flujo principal del protocolo MCP:
Negociación de capacidad : Protocolo de enlace cliente-servidor mediante
initializeDescubrimiento de capacidades : Listado de herramientas y recursos disponibles
Invocación de herramienta : llamar a la herramienta
add_numberscon parámetrosAcceso a recursos : lectura del contenido textual de un recurso
Configuración
Crear un entorno virtual:
python3 -m venv .venv source .venv/bin/activateInstalar dependencias:
pip install -r requirements.txt
Uso
Inicie el servidor MCP (en una terminal):
python server/server.pyEjecute el cliente MCP (en otra terminal):
python client/client.py
El cliente se conectará al servidor, realizará el protocolo de enlace MCP, descubrirá capacidades y demostrará cómo invocar herramientas y acceder a recursos con salida formateada.
Cómo funciona
Servidor MCP
El servidor:
Acepta conexiones WebSocket
Responde a solicitudes JSON-RPC siguiendo la especificación MCP
Proporciona una herramienta de muestra (
add_numbers)Proporciona un recurso de muestra (
example.txt)Admite el protocolo de enlace MCP y el descubrimiento de capacidades
Cliente MCP
El cliente:
Se conecta al servidor a través de WebSocket
Realiza el protocolo de enlace MCP
Descubre las herramientas y recursos disponibles
Demuestra cómo llamar a una herramienta y leer un recurso.
Presenta los resultados en una pantalla formateada
Detalles del protocolo
MCP implementa estos métodos clave:
Método | Descripción |
| Apretón de manos para establecer capacidades |
| Lista de herramientas disponibles |
| Llamar a una herramienta con argumentos |
| Lista de recursos disponibles |
| Leer el contenido del recurso |
| Lista de indicaciones disponibles |
Ampliación del proyecto
Puede ampliar esta implementación mediante:
Agregar más herramientas con diferentes capacidades
Agregar recursos dinámicos que cambian en cada lectura
Implementación de plantillas de indicaciones para interacciones guiadas
Creación de aplicaciones de cliente más interactivas