Skip to main content
Glama
sriharsha-gvkss

MCP Server Example

MCP Servers over Streamable HTTP β€” Step-by-Step Guide

πŸ“ Read the full article here: MCP Servers over Streamable HTTP (Step-by-Step)


This repository contains a complete, working example of how to build and run an MCP (Model Context Protocol) server using Python, mcp, and FastAPI. You’ll learn how to:

  • Expose tools and functions over HTTP using the MCP protocol

  • Connect those tools to AI assistants like Cursor

  • Use streamable HTTP as the transport

  • Mount multiple MCP servers in a FastAPI app


πŸ“ Folder Structure

.
β”œβ”€β”€ docs/                        # Diagrams and assets (e.g., mcp-client-server.png)
β”œβ”€β”€ fastapi_example/            # Example mounting multiple MCP servers in FastAPI
β”‚   β”œβ”€β”€ echo_server.py          # A server exposing a simple echo tool
β”‚   β”œβ”€β”€ math_server.py          # A server exposing a math tool
β”‚   └── server.py               # FastAPI app that mounts both echo and math servers
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .python-version             # Python version (for tools like pyenv or uv)
β”œβ”€β”€ pyproject.toml              # Project config and dependencies
β”œβ”€β”€ readme.md                   # You're here!
β”œβ”€β”€ runtime.txt                 # Python runtime for platforms like Render
β”œβ”€β”€ server.py                   # Basic standalone MCP server using Tavily search
β”œβ”€β”€ uv.lock                     # Lockfile for uv dependency manager

βΈ»

πŸ›  Quickstart

  1. Install uv (recommended Python package manager)

curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Install dependencies and set up environment

uv venv && source .venv/bin/activate
uv pip install -r pyproject.toml
  1. Run the basic MCP server This uses the Tavily API to expose a simple web_search tool.

uv run server.py
  1. Run the FastAPI app with multiple MCP servers

uv run fastapi_example/server.py

This will mount:

  • http://localhost:8000/echo/mcp/

  • http://localhost:8000/math/mcp/

βΈ»

πŸ§ͺ Debug with MCP Inspector

  1. Install CLI support

uv add 'mcp[cli]'
  1. Launch the inspector

uv run mcp dev server.py

Then go to: http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=...

βΈ»

πŸ”Œ Connect to Cursor

In Cursor, add your MCP server under Chat Settings > MCP Servers:

{
  "mcpServers": {
    "tavily": {
      "url": "http://localhost:8000/mcp/"
    }
  }
}

βœ… Note: You must include the trailing / in the URL.

βΈ»

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/sriharsha-gvkss/mcp'

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