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.
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
Referencias
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Una implementación en Python del servidor MCP que permite que los modelos de IA se conecten con herramientas externas y fuentes de datos a través de un protocolo estandarizado, admitiendo la invocación de herramientas y el acceso a recursos a través de JSON-RPC.
Related MCP Servers
- -security-license-qualityA Python-based MCP server that integrates OpenAPI-described REST APIs into MCP workflows, enabling dynamic exposure of API endpoints as MCP tools.Last updated -122MIT License
- -security-license-qualityA streamlined foundation for building Model Context Protocol servers in Python, designed to make AI-assisted development of MCP tools easier and more efficient.Last updated -13MIT License
- Asecurity-licenseAqualityA Python implementation of the Model Context Protocol (MCP) that connects client applications with AI models, primarily Anthropic's models, with setup instructions for local development and deployment.Last updated -4
- -security-license-qualityA dynamic MCP server that automatically discovers Python files in a directory and exposes them as tools to any MCP-compatible AI client, allowing users to easily create and deploy custom AI tools.Last updated -MIT License