Skip to main content
Glama

Demostración del Protocolo de Contexto de Modelo (MCP) Multi-Servidor

Una demostración completa de la construcción e integración de múltiples servidores del Protocolo de Contexto de Modelo (MCP) con un agente LangGraph ReAct impulsado por Groq y datos en tiempo real de OpenWeatherMap.

Este proyecto muestra cómo un agente LLM puede descubrir y consumir dinámicamente herramientas a través de diferentes servidores MCP y protocolos de transporte (stdio y streamable-http) en un único flujo de trabajo unificado.


🏗️ Arquitectura

flowchart LR
    subgraph Agent["LangGraph ReAct Agent (client.py)"]
        ChatGroq["LLM: Groq (Qwen / ChatGroq)"]
        MultiMCP["MultiServerMCPClient"]
    end

    subgraph MathServer["Math MCP Server (mathserver.py)"]
        MathTools["Tools: add, sub, mul, div"]
    end

    subgraph WeatherServer["Weather MCP Server (weatherserver.py)"]
        WeatherTools["Tool: get_weather (OpenWeatherMap API)"]
    end

    MultiMCP -- "stdio transport (subprocess)" --> MathServer
    MultiMCP -- "streamable-http (http://127.0.0.1:8000/mcp)" --> WeatherServer

Componentes

  1. Servidor MCP de Matemáticas (mathserver.py):

    • Construido con FastMCP.

    • Se ejecuta sobre el transporte stdio.

    • Expone herramientas aritméticas: add, sub, mul, div.

    • Se lanza automáticamente como un subproceso en segundo plano por el cliente MCP.

  2. Servidor MCP del Clima (weatherserver.py):

    • Construido con FastMCP ejecutándose sobre el transporte streamable-http en http://127.0.0.1:8000/mcp.

    • Usa httpx para obtener datos meteorológicos en vivo de la API de OpenWeatherMap.

    • Expone la herramienta get_weather (devuelve temperatura, descripción del clima, sensación térmica y humedad).

  3. Cliente Orquestador (client.py):

    • Se conecta a ambos servidores MCP simultáneamente usando MultiServerMCPClient de langchain-mcp-adapters.

    • Ensambla las herramientas y potencia un agente LangGraph ReAct utilizando la inferencia rápida de LLM de Groq (ChatGroq).


Related MCP server: AIE8-MCP Server

📁 Estructura del Proyecto

Mcp_demo/
├── client.py           # ReAct Agent & Multi-Server MCP client orchestrator
├── mathserver.py       # FastMCP server running on stdio transport
├── weatherserver.py    # FastMCP server with OpenWeatherMap API on HTTP transport
├── requirements.txt    # Python package dependencies
├── pyproject.toml      # Project configuration & metadata
├── .env.example        # Environment variables template
├── .gitignore          # Git ignore rules (protects .env and caches)
└── README.md           # Project documentation

🚀 Primeros Pasos

1. Requisitos Previos

2. Instalación

Clona el repositorio e instala las dependencias:

git clone https://github.com/sreeshanthkprakash-stack/MCP-Server.git
cd MCP-Server

# Create and activate virtual environment
python -m venv .venv
# On Windows:
.venv\Scripts\activate
# On Linux/macOS:
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

3. Configuración del Entorno

Crea un archivo .env en el directorio raíz (o copia de .env.example):

GROQ_API_KEY=your_groq_api_key_here
OPENWEATHER_API_KEY=your_openweather_api_key_here

🧪 Ejecutando la Aplicación

Paso 1: Iniciar el Servidor MCP del Clima

Dado que el servidor del clima se comunica a través de HTTP, inícialo primero en una terminal:

python weatherserver.py

El servidor del clima comenzará a escuchar en http://127.0.0.1:8000/mcp.

Paso 2: Ejecutar el Cliente Agente

Abre una segunda ventana de terminal (asegúrate de que tu entorno virtual esté activo) y ejecuta:

python client.py

Ejemplo de Salida Esperada

math_response The result of the expression ((15*20)+200)/4 is 125.
weather_response Weather in Hyderabad: haze, temperature 29.5°C (feels like 32.1°C), humidity 65%

📦 Dependencias

  • mcp: SDK oficial del Protocolo de Contexto de Modelo (FastMCP)

  • langchain-mcp-adapters: Conecta LangChain a servidores MCP

  • langgraph: Entorno de orquestación de agentes basado en grafos

  • langchain-groq: Inferencia LLM de alta velocidad con Groq

  • httpx: Cliente HTTP asíncrono para solicitudes a la API del clima

  • python-dotenv: Carga segura de variables de entorno


📄 Licencia

Este proyecto es de código abierto y está disponible bajo la Licencia MIT.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.

View all MCP Connectors

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/sreeshanthkprakash-stack/MCP-Server'

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