Skip to main content
Glama

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:

🧪 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

A complete working example of Model Context Protocol servers that exposes tools and functions over streamable HTTP, allowing AI assistants like Cursor to access capabilities such as web search via Tavily.

  1. 📁 Folder Structure

    Related MCP Servers

    • A
      security
      A
      license
      A
      quality
      A Model Context Protocol server enabling advanced search and content extraction using the Tavily API, with rich customization and integration options.
      Last updated -
      4
      574
      6
      JavaScript
      MIT License
    • -
      security
      A
      license
      -
      quality
      A Model Context Protocol server that performs comprehensive web research by combining Tavily Search and Crawl APIs to gather extensive information and provide structured JSON output tailored for LLMs to create detailed markdown documents.
      Last updated -
      14
      15
      JavaScript
      MIT License
    • A
      security
      A
      license
      A
      quality
      A Model Context Protocol compliant server that facilitates comprehensive web research by utilizing Tavily's Search and Crawl APIs to gather and structure data for high-quality markdown document creation.
      Last updated -
      1
      14
      9
      JavaScript
      MIT License
    • -
      security
      F
      license
      -
      quality
      A Model Context Protocol server that provides AI models with structured access to external data and services, acting as a bridge between AI assistants and applications, databases, and APIs in a standardized, secure way.
      Last updated -
      1
      Python

    View all related MCP servers

    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