Skip to main content
Glama

SampleMCP

A simple Python project demonstrating how to build and connect MCP servers using FastMCP, LangChain MCP adapters, LangGraph, and OpenAI.

Features

  • Math MCP server using stdio

  • Weather MCP server using streamable-http

  • LangChain MCP client connecting to multiple MCP servers

  • LangGraph ReAct agent using MCP tools

  • Example tool calls for math and weather queries

Related MCP server: Server MCP

Project Structure

SampleMCP/
├── client.py          # MCP client + LangGraph agent
├── mathserver.py      # Math MCP server with add/multiply tools
├── weather.py         # Weather MCP server using streamable HTTP
├── main.py            # Basic sample entry point
├── pyproject.toml     # Project metadata and dependencies
├── requirements.txt   # Python dependencies
└── README.md

Requirements

  • Python 3.12+

  • OpenAI API key

  • Optional: Groq API key

Installation

Clone the repository:

git clone https://github.com/JayantPrakash/SampleMCP.git
cd SampleMCP

Install dependencies:

pip install -r requirements.txt

Or using uv:

uv sync

Environment Variables

Create a .env file in the project root:

OPENAI_API_KEY=your_openai_api_key
GROQ_API_KEY=your_groq_api_key

Running the MCP Servers

1. Start the Weather Server

The weather server uses streamable-http.

python weather.py

By default, it exposes the MCP endpoint at:

http://localhost:8000/mcp

2. Math Server

The math server uses stdio and is started automatically by the client through:

"command": "python",
"args": ["mathserver.py"],
"transport": "stdio"

Running the Client

In a separate terminal, run:

python client.py

The client connects to:

  • mathserver.py through stdio

  • weather.py through streamable_http

It then creates a LangGraph ReAct agent and asks:

what's (3 + 5) x 12?

and:

what is the weather in California?

MCP Tools

Math Server

Defined in mathserver.py.

add(a: int, b: int) -> int

Adds two numbers.

multiple(a: int, b: int) -> int

Multiplies two numbers.

Weather Server

Defined in weather.py.

get_weather(location: str) -> str

Returns a sample weather response for a given location.

Notes

  • mathserver.py uses transport="stdio".

  • weather.py uses transport="streamable-http".

  • In client.py, the streamable HTTP transport is configured as streamable_http.

  • Make sure the weather server is running before executing client.py.

Example Output

Math response: 96
Weather response: It's always raining in California

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Demonstrates an MCP server with calculate and text_stats tools over Streamable HTTP, integrating with LangChain/LangGraph and n8n agents.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides math and weather tools accessible via LangGraph agent using MCP protocol with stdio and streamable HTTP transports.
    1
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A model-agnostic MCP server exposing example tools (add1, multiply2, greet) for learning purposes, working with any LLM through stdio transport.
    -

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/JayantPrakash/SampleMCP'

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