Skip to main content
Glama

Multi-Server Model Context Protocol (MCP) Demo

A complete demonstration of building and integrating multiple Model Context Protocol (MCP) servers with a LangGraph ReAct agent powered by Groq and real-time OpenWeatherMap data.

This project showcases how an LLM agent can dynamically discover and consume tools across different MCP servers and transport protocols (stdio and streamable-http) in a single unified workflow.


๐Ÿ—๏ธ Architecture

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

Components

  1. Math MCP Server (mathserver.py):

    • Built with FastMCP.

    • Runs over stdio transport.

    • Exposes arithmetic tools: add, sub, mul, div.

    • Automatically launched as a background subprocess by the MCP client.

  2. Weather MCP Server (weatherserver.py):

    • Built with FastMCP running over streamable-http transport at http://127.0.0.1:8000/mcp.

    • Uses httpx to fetch live meteorological data from the OpenWeatherMap API.

    • Exposes the get_weather tool (returns temperature, weather description, feels like, and humidity).

  3. Orchestrator Client (client.py):

    • Connects to both MCP servers simultaneously using MultiServerMCPClient from langchain-mcp-adapters.

    • Assembles the tools and powers a LangGraph ReAct agent using Groq's fast LLM inference (ChatGroq).


Related MCP server: AIE8-MCP Server

๐Ÿ“ Project Structure

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

๐Ÿš€ Getting Started

1. Prerequisites

2. Installation

Clone the repository and install dependencies:

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. Environment Configuration

Create a .env file in the root directory (or copy from .env.example):

GROQ_API_KEY=your_groq_api_key_here
OPENWEATHER_API_KEY=your_openweather_api_key_here

๐Ÿงช Running the Application

Step 1: Start the Weather MCP Server

Since the weather server communicates over HTTP, start it first in a terminal:

python weatherserver.py

The weather server will start listening at http://127.0.0.1:8000/mcp.

Step 2: Run the Agent Client

Open a second terminal window (ensure your virtual environment is active), and run:

python client.py

Expected Output Example

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%

๐Ÿ“ฆ Dependencies


๐Ÿ“„ License

This project is open-source and available under the MIT License.

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