Streamable Http
FreeNot checkedA step-by-step guide and complete working example for building and running an MCP server with streamable HTTP transport using Python, mcp, and FastAPI, enabling
About
A step-by-step guide and complete working example for building and running an MCP server with streamable HTTP transport using Python, mcp, and FastAPI, enabling AI assistants to access tools over HTTP.
README
📝 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 Streamable Http in Claude Desktop, Claude Code & Cursor
unyly install mcp-streamable-httpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add mcp-streamable-http -- uvx mcp-remoteFAQ
Is Streamable Http MCP free?
Yes, Streamable Http MCP is free — one-click install via Unyly at no cost.
Does Streamable Http need an API key?
No, Streamable Http runs without API keys or environment variables.
Is Streamable Http hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Streamable Http in Claude Desktop, Claude Code or Cursor?
Open Streamable Http on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Streamable Http with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
