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:
Integra puntos finales MCP SSE (
/sse
y/messages/
) en una aplicación FastAPIProporciona rutas web estándar (
/
,/about
,/status
,/docs
,/redoc
).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:
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:
Opción 2: Instalación completa
Crear entorno virtual
Cree un entorno de Python aislado para el proyecto:
Activar entorno virtual
Activar el entorno virtual para utilizarlo:
Instalar dependencias
Instalar todos los paquetes necesarios:
Iniciar el servidor integrado
Inicie el servidor FastAPI integrado con la funcionalidad MCP SSE:
o
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:
Servidor principal: http://localhost:8000
Rutas web estándar:
Página de inicio: http://localhost:8000/
Página acerca de: http://localhost:8000/about
API de estado: http://localhost:8000/status
Documentación (interfaz de usuario de Swagger): http://localhost:8000/docs
Documentación (ReDoc): http://localhost:8000/redoc
Puntos finales de MCP SSE:
Punto final SSE: http://localhost:8000/sse
Publicación de mensajes: http://localhost:8000/messages/
Depurar con MCP Inspector
Para probar y depurar la funcionalidad de MCP, utilice el Inspector de MCP:
Conectarse a MCP Inspector
Abra el Inspector MCP en http://localhost:5173
Configurar la conexión:
Establecer el tipo de transporte en
SSE
Ingresar URL: http://localhost:8000/sse
Haga clic
Connect
Probar las funciones
Vaya a la sección
Tools
Haga clic
List Tools
para ver las funciones disponibles:get_alerts
: Recibe alertas meteorológicasget_forcast
: Obtener el pronóstico del tiempo
Seleccione una función
Introduzca los parámetros requeridos
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:
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"}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:
This server cannot be installed
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.
- ¿Qué es MCP?
- Descripción
- Características
- Arquitectura
- Opciones de instalación y uso
- Ampliación de la aplicación
- Integración con Continue
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA 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 -114Apache 2.0
- -securityFlicense-qualityA FastAPI server that implements the Model Context Protocol (MCP) using Server-Sent Events (SSE) transport to provide random cat facts on demand or as a continuous stream.Last updated -
- -securityFlicense-qualityA Model Context Protocol (MCP) server that enables AI assistants and LLMs to access real-time weather data and forecasts by connecting to the OpenWeatherMap API.Last updated -
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to fetch current weather, forecasts, and search for locations using WeatherAPI service through stdio communication.Last updated -3MIT License
Appeared in Searches
- A server for retrieving current weather information with HTTP streaming support
- A server for researching enterprise data, including founders and financial information, for investors
- Information about SSE (possible meanings: Scottish and Southern Energy, Server-Sent Events, etc.)
- Finding MCP servers that support SSE or Streamable HTTP, excluding stdio transport
- List of Publicly Available SSE (Server-Sent Events) Servers