Skip to main content
Glama

Multi-Server Model Context Protocol (MCP) Demo

Eine vollständige Demonstration zum Erstellen und Integrieren mehrerer Model Context Protocol (MCP)-Server mit einem LangGraph ReAct-Agenten, der von Groq und Echtzeit-OpenWeatherMap-Daten angetrieben wird.

Dieses Projekt zeigt, wie ein LLM-Agent dynamisch Tools über verschiedene MCP-Server und Transportprotokolle (stdio und streamable-http) in einem einheitlichen Arbeitsablauf entdecken und nutzen kann.


🏗️ Architektur

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

Komponenten

  1. Math MCP Server (mathserver.py):

    • Erstellt mit FastMCP.

    • Läuft über stdio-Transport.

    • Stellt arithmetische Tools bereit: add, sub, mul, div.

    • Wird automatisch als Hintergrund-Subprozess vom MCP-Client gestartet.

  2. Weather MCP Server (weatherserver.py):

    • Erstellt mit FastMCP, das über streamable-http-Transport unter http://127.0.0.1:8000/mcp läuft.

    • Verwendet httpx, um aktuelle meteorologische Daten von der OpenWeatherMap API abzurufen.

    • Stellt das Tool get_weather bereit (gibt Temperatur, Wetterbeschreibung, gefühlte Temperatur und Luftfeuchtigkeit zurück).

  3. Orchestrator-Client (client.py):

    • Verbindet sich gleichzeitig mit beiden MCP-Servern über MultiServerMCPClient aus langchain-mcp-adapters.

    • Stellt die Tools zusammen und treibt einen LangGraph ReAct-Agenten mit Groqs schneller LLM-Inferenz (ChatGroq) an.


Related MCP server: AIE8-MCP Server

📁 Projektstruktur

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

🚀 Erste Schritte

1. Voraussetzungen

2. Installation

Repository klonen und Abhängigkeiten installieren:

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. Umgebungskonfiguration

Erstellen Sie eine .env-Datei im Stammverzeichnis (oder kopieren Sie von .env.example):

GROQ_API_KEY=your_groq_api_key_here
OPENWEATHER_API_KEY=your_openweather_api_key_here

🧪 Anwendung ausführen

Schritt 1: Weather MCP Server starten

Da der Wetterserver über HTTP kommuniziert, starten Sie ihn zuerst in einem Terminal:

python weatherserver.py

Der Wetterserver beginnt mit dem Abhören von http://127.0.0.1:8000/mcp.

Schritt 2: Agent-Client ausführen

Öffnen Sie ein zweites Terminalfenster (stellen Sie sicher, dass Ihre virtuelle Umgebung aktiv ist) und führen Sie aus:

python client.py

Beispiel für erwartete Ausgabe

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%

📦 Abhängigkeiten


📄 Lizenz

Dieses Projekt ist Open Source und unter der MIT-Lizenz verfügbar.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Demonstrates custom MCP servers for math and weather operations, enabling multi-agent orchestration using LangChain, Groq, and MCP adapters for both local and remote tool integration.
    1
    -
  • F
    license
    B
    quality
    D
    maintenance
    An MCP server that provides web search capabilities through the Tavily API and weather data retrieval tools. It demonstrates how to integrate external APIs into AI applications and build agentic workflows with LangGraph.
    3
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides math tools (add, subtract, multiply) and a weather tool, with a LangChain agent client that uses Groq to answer natural language queries.
    -