FastAPI MCP SSE

Integrations

  • The MCP server is implemented using the FastAPI framework, providing a web application with both MCP and standard web endpoints.

  • The MCP server provides Swagger UI documentation through its /docs endpoint.

FastAPI MCP SSE

Una implementación de eventos enviados por el servidor (SSE) que utiliza el marco FastAPI con integración del Protocolo de contexto de modelo (MCP) .

¿Qué es MCP?

El Protocolo de Contexto de Modelo (MCP) es un estándar abierto que permite que los modelos de IA interactúen con herramientas externas y fuentes de datos. MCP resuelve varios desafíos clave en el desarrollo de IA:

  • Limitaciones de contexto : permite que los modelos accedan a información actualizada más allá de sus datos de entrenamiento
  • Integración de herramientas : proporciona una forma estandarizada para que los modelos utilicen herramientas y API externas
  • Interoperabilidad : crea una interfaz común entre diferentes modelos y herramientas de IA
  • Extensibilidad : facilita agregar nuevas capacidades a los sistemas de IA sin necesidad de volver a capacitarlos.

Este proyecto demuestra cómo implementar MCP utilizando eventos enviados por el servidor (SSE) en una aplicación web FastAPI.

Descripción

Este proyecto demuestra cómo implementar eventos enviados por el servidor (SSE) mediante el framework FastAPI, integrando al mismo tiempo la funcionalidad del Protocolo de Contexto de Modelo (MCP). La característica clave es la integración fluida de las capacidades SSE de MCP en una aplicación web FastAPI completa que incluye rutas personalizadas.

Características

  • Implementación de eventos enviados por el servidor (SSE) con MCP
  • Integración del marco FastAPI con rutas personalizadas
  • Aplicación web unificada con MCP y puntos finales web estándar
  • Estructura de ruta personalizable
  • Separación clara de preocupaciones entre MCP y la funcionalidad web

Arquitectura

Este proyecto muestra una arquitectura modular que:

  1. Integra puntos finales MCP SSE ( /sse y /messages/ ) en una aplicación FastAPI
  2. Proporciona rutas web estándar ( / , /about , /status , /docs , /redoc ).
  3. Demuestra cómo mantener la separación entre la funcionalidad MCP y las rutas web

Opciones de instalación y uso

Prerrequisitos

Instalar UV Package Manager : un instalador rápido de paquetes de Python escrito en Rust:

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

Opción 1: Ejecución rápida sin instalación

Ejecute la aplicación directamente sin clonar el repositorio utilizando la herramienta de ejecución de UV:

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

Opción 2: Instalación completa

Crear entorno virtual

Cree un entorno de Python aislado para el proyecto:

uv venv

Activar entorno virtual

Activar el entorno virtual para utilizarlo:

.venv\Scripts\activate

Instalar dependencias

Instalar todos los paquetes necesarios:

uv pip install -r pyproject.toml

Iniciar el servidor integrado

Inicie el servidor FastAPI integrado con la funcionalidad MCP SSE:

python src/server.py

o

uv run start

Puntos finales disponibles

Después de iniciar el servidor (utilizando la Opción 1 o la Opción 2), los siguientes puntos finales estarán disponibles:

Depurar con MCP Inspector

Para probar y depurar la funcionalidad de MCP, utilice el Inspector de MCP:

mcp dev ./src/weather.py

Conectarse a MCP Inspector

  1. Abra el Inspector MCP en http://localhost:5173
  2. Configurar la conexión:

Probar las funciones

  1. Vaya a la sección Tools
  2. Haga clic List Tools para ver las funciones disponibles:
    • get_alerts : Recibe alertas meteorológicas
    • get_forcast : Obtener el pronóstico del tiempo
  3. Seleccione una función
  4. Introduzca los parámetros requeridos
  5. Haga clic en Run Tool para ejecutar

Ampliación de la aplicación

Agregar rutas personalizadas

La estructura de la aplicación facilita agregar nuevas rutas utilizando APIRouter de FastAPI:

  1. Defina nuevos controladores de ruta en route.py usando APIRouter:
    @router.get("/new-route") async def new_route(): return {"message": "This is a new route"}
  2. Todas las rutas definidas con el enrutador se incluirán automáticamente en la aplicación principal

Personalización de la integración de MCP

La funcionalidad MCP SSE está integrada en server.py a través de:

  • Creación de un transporte SSE
  • Configuración de un controlador SSE
  • Agregar rutas MCP a la aplicación FastAPI

Integración con Continue

Para utilizar este servidor MCP con la extensión Continue VS Code, agregue la siguiente configuración a sus configuraciones de Continue:

{ "experimental": { "modelContextProtocolServers": [ { "transport": { "name": "weather", "type": "sse", "url": "http://localhost:8000/sse" } } ] } }
-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Una implementación de eventos enviados por el servidor que utiliza el marco FastAPI que integra el Protocolo de contexto de modelo (MCP), lo que permite que los modelos de IA accedan a herramientas externas y fuentes de datos como información meteorológica.

  1. What is MCP?
    1. Description
      1. Features
        1. Architecture
          1. Installation & Usage Options
            1. Prerequisites
            2. Option 1: Quick Run Without Installation
            3. Option 2: Full Installation
            4. Available Endpoints
            5. Debug with MCP Inspector
            6. Connect to MCP Inspector
            7. Test the Functions
          2. Extending the Application
            1. Adding Custom Routes
            2. Customizing MCP Integration
          3. Integration with Continue
            ID: 3cw73h6fyg