Model Context Protocol (MCP) Server

Integrations

  • Provides a Python implementation of both MCP client and server components, allowing Python applications to expose and access MCP capabilities.

  • Employs WebSocket connections for real-time bidirectional communication between MCP clients and servers, supporting the complete MCP handshake and capability negotiation process.

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 MCP
    • server.py : servidor WebSocket que maneja solicitudes MCP y proporciona herramientas/recursos de muestra
  • client/ : Implementación del cliente MCP
    • client.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:

  1. Negociación de capacidad : Protocolo de enlace cliente-servidor mediante initialize
  2. Descubrimiento de capacidades : Listado de herramientas y recursos disponibles
  3. Invocación de herramienta : llamar a la herramienta add_numbers con parámetros
  4. Acceso a recursos : lectura del contenido textual de un recurso

Configuración

  1. Crear un entorno virtual:
    python3 -m venv .venv source .venv/bin/activate
  2. Instalar dependencias:
    pip install -r requirements.txt

Uso

  1. Inicie el servidor MCP (en una terminal):
    python server/server.py
  2. Ejecute 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étodoDescripción
initializeApretón de manos para establecer capacidades
tools/listLista de herramientas disponibles
tools/callLlamar a una herramienta con argumentos
resources/listLista de recursos disponibles
resources/readLeer el contenido del recurso
prompts/listLista 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

-
security - not tested
F
license - not found
-
quality - not tested

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.

  1. ¿Qué es MCP?
    1. Estructura del proyecto
      1. Características demostradas
        1. Configuración
          1. Uso
            1. Cómo funciona
              1. Servidor MCP
              2. Cliente MCP
            2. Detalles del protocolo
              1. Ampliación del proyecto
                1. Referencias

                  Related MCP Servers

                  • -
                    security
                    F
                    license
                    -
                    quality
                    Implements the Model Context Protocol (MCP) to provide AI models with a standardized interface for connecting to external data sources and tools like file systems, databases, or APIs.
                    Last updated -
                    90
                    Python
                    • Apple
                    • Linux
                  • -
                    security
                    A
                    license
                    -
                    quality
                    A 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 -
                    13
                    Python
                    MIT License
                  • -
                    security
                    F
                    license
                    -
                    quality
                    A simple demonstration project for the Model Control Protocol (MCP) server that provides tools for AI assistants to fetch news articles, perform calculations, retrieve weather data, and generate personalized greetings.
                    Last updated -
                    Python

                  View all related MCP servers

                  ID: 35niv312p3