Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

fastapi_mcp_sse

MCP.Pizza Chef: panz2018

fastapi_mcp_sse is a FastAPI-based MCP server example implementing Server-Sent Events (SSE) to provide real-time, streaming context updates to AI models. It demonstrates how to integrate MCP with FastAPI, enabling models to receive live data and interact with external tools and APIs through a standardized protocol. This server facilitates interoperability and extensibility in AI workflows by leveraging SSE for efficient, continuous context delivery.

Use This MCP server To

Stream real-time context updates to AI models via SSE Integrate external APIs and tools with AI models using MCP Build AI applications with live data feeds in FastAPI Enable continuous context delivery for multi-step AI reasoning Demonstrate MCP implementation using FastAPI and SSE

README

FastAPI MCP SSE

English | 简体中文

A Server-Sent Events (SSE) implementation using FastAPI framework with Model Context Protocol (MCP) integration.

What is MCP?

The Model Context Protocol (MCP) is an open standard that enables AI models to interact with external tools and data sources. MCP solves several key challenges in AI development:

  • Context limitations: Allows models to access up-to-date information beyond their training data
  • Tool integration: Provides a standardized way for models to use external tools and APIs
  • Interoperability: Creates a common interface between different AI models and tools
  • Extensibility: Makes it easy to add new capabilities to AI systems without retraining

This project demonstrates how to implement MCP using Server-Sent Events (SSE) in a FastAPI web application.

Description

This project demonstrates how to implement Server-Sent Events (SSE) using the FastAPI framework while integrating Model Context Protocol (MCP) functionality. The key feature is the seamless integration of MCP's SSE capabilities within a full-featured FastAPI web application that includes custom routes.

Features

  • Server-Sent Events (SSE) implementation with MCP
  • FastAPI framework integration with custom routes
  • Unified web application with both MCP and standard web endpoints
  • Customizable route structure
  • Clean separation of concerns between MCP and web functionality

Architecture

This project showcases a modular architecture that:

  1. Integrates MCP SSE endpoints (/sse and /messages/) into a FastAPI application
  2. Provides standard web routes (/, /about, /status, /docs, /redoc)
  3. Demonstrates how to maintain separation between MCP functionality and web routes

Installation & Usage Options

Prerequisites

Install UV Package Manager - A fast Python package installer written in Rust:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Option 1: Quick Run Without Installation

Run the application directly without cloning the repository using UV's execution tool:

uvx --from git+https://github.com/panz2018/fastapi_mcp_sse.git start

Option 2: Full Installation

Create Virtual Environment

Create an isolated Python environment for the project:

uv venv
Activate Virtual Environment

Activate the virtual environment to use it:

.venv\Scripts\activate
Install Dependencies

Install all required packages:

uv pip install -r pyproject.toml
Start the Integrated Server

Launch the integrated FastAPI server with MCP SSE functionality:

python src/server.py

or

uv run start

Available Endpoints

After starting the server (using either Option 1 or Option 2), the following endpoints will be available:

Debug with MCP Inspector

For testing and debugging MCP functionality, use the MCP Inspector:

mcp dev ./src/weather.py

Connect to MCP Inspector

  1. Open MCP Inspector at http://localhost:5173
  2. Configure the connection:

Test the Functions

  1. Navigate to Tools section
  2. Click List Tools to see available functions:
    • get_alerts : Get weather alerts
    • get_forcast : Get weather forecast
  3. Select a function
  4. Enter required parameters
  5. Click Run Tool to execute

Extending the Application

Adding Custom Routes

The application structure makes it easy to add new routes using FastAPI's APIRouter:

  1. Define new route handlers in routes.py using the APIRouter:

    @router.get("/new-route")
    async def new_route():
        return {"message": "This is a new route"}
  2. All routes defined with the router will be automatically included in the main application

Customizing MCP Integration

The MCP SSE functionality is integrated in server.py through:

  • Creating an SSE transport
  • Setting up an SSE handler
  • Adding MCP routes to the FastAPI application

Integration with Continue

To use this MCP server with the Continue VS Code extension, add the following configuration to your Continue settings:

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "name": "weather",
          "type": "sse",
          "url": "http://localhost:8000/sse"
        }
      }
    ]
  }
}

fastapi_mcp_sse FAQ

How does fastapi_mcp_sse use Server-Sent Events (SSE)?
It uses SSE to stream real-time context updates from the FastAPI server to connected AI models, enabling continuous data flow without repeated requests.
Can fastapi_mcp_sse be used with different AI model providers?
Yes, it supports any MCP-compatible AI models including OpenAI, Anthropic Claude, and Google Gemini by providing standardized context streaming.
What are the prerequisites for running fastapi_mcp_sse?
You need Python with FastAPI installed, along with dependencies for SSE support and MCP integration.
How does fastapi_mcp_sse handle scalability for multiple clients?
It leverages FastAPI's asynchronous capabilities and SSE's lightweight connection model to efficiently manage multiple simultaneous client streams.
Is fastapi_mcp_sse suitable for production use?
It is a working example intended for development and prototyping; additional hardening and scaling may be required for production environments.
How can I extend fastapi_mcp_sse with new data sources?
You can add new MCP servers or adapters within the FastAPI app to expose additional structured data or APIs to the MCP client.
Does fastapi_mcp_sse support secure communication?
Security depends on the deployment environment; you should use HTTPS and authentication layers as needed to protect SSE streams.
How does fastapi_mcp_sse improve AI model context limitations?
By streaming live, external data continuously, it overcomes static training data limits and keeps AI models up-to-date.