Skip to main content
Glama
suspicious-cow

Model Context Protocol (MCP) Server

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 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étodo

Descripción

initialize

Apretón de manos para establecer capacidades

tools/list

Lista de herramientas disponibles

tools/call

Llamar a una herramienta con argumentos

resources/list

Lista de recursos disponibles

resources/read

Leer el contenido del recurso

prompts/list

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

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/suspicious-cow/MCP2'

If you have feedback or need assistance with the MCP directory API, please join our Discord server