Skip to content

Latest commit

 

History

History
121 lines (81 loc) · 3.85 KB

File metadata and controls

121 lines (81 loc) · 3.85 KB

Protocolo de Contexto de Modelo (MCP) Implementación en Python

Este repositorio contiene una implementación en Python del Protocolo de Contexto de Modelo (MCP), que muestra cómo crear una aplicación tanto de servidor como de cliente que se comuniquen usando el estándar MCP.

Resumen

La implementación de MCP consta de dos componentes principales:

  1. Servidor MCP (server.py) - Un servidor que expone:

    • Herramientas: Funciones que pueden ser llamadas de forma remota
    • Recursos: Datos que pueden ser recuperados
    • Prompts: Plantillas para generar prompts para modelos de lenguaje
  2. Cliente MCP (client.py) - Una aplicación cliente que se conecta al servidor y utiliza sus funcionalidades

Características

Esta implementación demuestra varias características clave de MCP:

Herramientas

  • completion - Genera completados de texto a partir de modelos de IA (simulado)
  • add - Calculadora simple que suma dos números

Recursos

  • models:// - Devuelve información sobre los modelos de IA disponibles
  • greeting://{name} - Devuelve un saludo personalizado para un nombre dado

Prompts

  • review_code - Genera un prompt para revisar código

Instalación

Para usar esta implementación de MCP, instala los paquetes requeridos:

pip install mcp-server mcp-client

Ejecutando el Servidor y el Cliente

Iniciando el Servidor

Ejecuta el servidor en una ventana de terminal:

python server.py

El servidor también puede ejecutarse en modo desarrollo usando la CLI de MCP:

mcp dev server.py

O instalarse en Claude Desktop (si está disponible):

mcp install server.py

Ejecutando el Cliente

Ejecuta el cliente en otra ventana de terminal:

python client.py

Esto conectará con el servidor y demostrará todas las funcionalidades disponibles.

Uso del Cliente

El cliente (client.py) demuestra todas las capacidades de MCP:

python client.py

Esto conectará con el servidor y utilizará todas las funciones, incluyendo herramientas, recursos y prompts. La salida mostrará:

  1. Resultado de la herramienta calculadora (5 + 7 = 12)
  2. Respuesta de la herramienta completion a "¿Cuál es el sentido de la vida?"
  3. Lista de modelos de IA disponibles
  4. Saludo personalizado para "MCP Explorer"
  5. Plantilla de prompt para revisión de código

Detalles de la Implementación

El servidor está implementado usando la API FastMCP, que provee abstracciones de alto nivel para definir servicios MCP. Aquí hay un ejemplo simplificado de cómo se definen las herramientas:

@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers together
    
    Args:
        a: First number
        b: Second number
    
    Returns:
        The sum of the two numbers
    """
    logger.info(f"Adding {a} and {b}")
    return a + b

El cliente usa la librería cliente MCP para conectarse y llamar al servidor:

async with stdio_client(server_params) as (reader, writer):
    async with ClientSession(reader, writer) as session:
        await session.initialize()
        result = await session.call_tool("add", arguments={"a": 5, "b": 7})

Aprende Más

Para más información sobre MCP, visita: https://modelcontextprotocol.io/

Aviso legal:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por la precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda la traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas derivadas del uso de esta traducción.