Skip to main content
Glama

FastAPI MCP SSE

by panz2018

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

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. ¿Qué es MCP?
    1. Descripción
      1. Características
        1. Arquitectura
          1. Opciones de instalación y uso
            1. Prerrequisitos
            2. Opción 1: Ejecución rápida sin instalación
            3. Opción 2: Instalación completa
            4. Puntos finales disponibles
            5. Depurar con MCP Inspector
            6. Conectarse a MCP Inspector
            7. Probar las funciones
          2. Ampliación de la aplicación
            1. Agregar rutas personalizadas
            2. Personalización de la integración de MCP
          3. Integración con Continue

            Related MCP Servers

            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that provides AI agents with tools to retrieve weather alerts and detailed forecasts for US locations using the National Weather Service API.
              Last updated -
              2
              80
              TypeScript
            • A
              security
              F
              license
              A
              quality
              An implementation of the Model Context Protocol (MCP) server using Server-Sent Events (SSE) for real-time communication, providing tools for calculations and dynamic resource templates.
              Last updated -
              1
              JavaScript
            • -
              security
              A
              license
              -
              quality
              A customizable Model Context Protocol server implementation that enables AI models to interact with external tools including weather queries, Google search, and camera control functionality.
              Last updated -
              8
              Python
              Apache 2.0
              • Linux
              • Apple
            • -
              security
              -
              license
              -
              quality
              A simple server that implements the Model Context Protocol, allowing AI models like Claude to fetch real-time weather information for any location using the wttr.in API.
              Last updated -
              JavaScript

            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/panz2018/fastapi_mcp_sse'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server