AA 

alejandro-ao/mcp-streamable-http
Developer tools31ย stars 0 forks Quality 90 Trend 90
๐ : MCP Servers over Streamable HTTP (Step-by-Step)
Overview
๐ : MCP Servers over Streamable HTTP (Step-by-Step)
README
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
- Install uv (recommended Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
- Install dependencies and set up environment
uv venv && source .venv/bin/activate
uv pip install -r pyproject.toml
- Run the basic MCP server This uses the Tavily API to expose a simple web_search tool.
uv run server.py
- Run the FastAPI app with multiple MCP servers
uv run fastapi_example/server.py
This will mount:
โธป
๐งช Debug with MCP Inspector
- Install CLI support
uv add 'mcp[cli]'
- 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.
โธป
Install
This server does not publish a one-line install command.
Open the repository installation guideConfiguration
{
"mcpServers": {
"tavily": {
"url": "http://localhost:8000/mcp/"
}
}
}