article
README
🚀 FastAPI MCP SSE 实现
本项目使用FastAPI框架实现了Server - Sent Events (SSE),并集成了Model Context Protocol (MCP)功能,为AI模型与外部工具和数据源的交互提供了便利。
🚀 快速开始
本项目演示了如何在FastAPI框架中使用Server - Sent Events (SSE) 并集成Model Context Protocol (MCP) 功能。启动服务器后,你可以通过不同端点访问主服务器、标准网页以及MCP SSE相关功能。
✨ 主要特性
- 带有MCP的SSE实现。
- FastAPI框架与自定义路由的集成。
- 统一的网络应用,同时具有MCP和标准网页端点。
- 可定制的路由结构。
- MCP功能与网络功能之间的职责分明。
📦 安装指南
依赖项
安装UV包管理器 - 一个用Rust编写的快速Python包安装工具:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
选项1:无需安装的快速运行
直接使用UV执行工具运行应用:
uvx --from git+https://github.com/panz2018/fastapi_mcp_sse.git start
选项2:完整安装
创建虚拟环境
为项目创建一个隔离的Python环境:
uv venv
激活虚拟环境
激活虚拟环境以使用它:
.venv\Scripts\activate
安装依赖项
安装所有所需的包:
uv pip install -r pyproject.toml
启动集成服务器
启动具有MCP SSE功能的FastAPI服务器:
python src/server.py
或
uv run start
💻 使用示例
可用端点
启动服务器后(无论使用选项1还是选项2),将有以下端点可用:
- 主服务器:http://localhost:8000
- 标准网页路由:
- 主页:http://localhost:8000/
- 关于页面:http://localhost:8000/about
- 状态API:http://localhost:8000/status
- 文档(Swagger UI):http://localhost:8000/docs
- 文档(ReDoc):http://localhost:8000/redoc
- MCP SSE端点:
- SSE端点:http://localhost:8000/sse
- 消息发布:http://localhost:8000/messages/
使用Continue的集成
要将此MCP服务器与Continue VS Code扩展一起使用,请在Continue设置中添加以下配置:
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"name": "weather",
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
]
}
}
🔧 技术细节
MCP 是什么?
MCP(Model Context Protocol,模型上下文协议)是一项开放标准,使得AI模型能够与外部工具和数据源交互。MCP解决了AI开发中的几个关键挑战:
- 上下文限制:允许模型访问其训练数据之外的最新信息。
- 工具集成:提供了一种标准化方式让模型使用外部工具和API。
- 互操作性:创建了不同AI模型与工具之间的通用接口。
- 可扩展性:易于在AI系统中添加新功能而无需重新训练。
架构
该项目展示了一个模块化架构:
- 将MCP SSE端点(
/sse和/messages/)整合到FastAPI应用中。 - 提供标准网页路由(
/,/about,/status,/docs,/redoc)。 - 展示如何在MCP功能与网络路由之间保持分离。
扫码联系在线客服