内容
FastAPI SSE MCP
一个演示如何在 Fast中使用服务器端事件(SSE)上下文协议(MCP) FastAPI 应用。
## 概述
该项目展示了如何在 FastAPI服务器端事件(SSE)作为 MCP 的传输层。它提供了一个简单的服务,可以:
- 处理 HTTP 请求
- 使用 MCP python-sdk 实现 MCP 工具、资源和## 要求
- Python.12+
- FastAPI 0.115.11+
- MCP.4.1+
## 安装
1. 克隆此仓库:
git clone https://github.com/ragieai/fastse-mcp.git
api-sse-mcp
. 安装依赖:
``` uv sync --dev
运行应用程序
启动 FastAPI
```bash
uv run uv app.main:app --reload
```
服务器将在 <http://127.0.1:8000> 上可用。
## API 端点
- `GET /` - 返回一个简单的 JSON 问候
- `GET /sse/` - 用于建立连接的 SSE 端点
- `POST /messages/` - 用于通过 SSE 发送消息的端点
## 示例
应用程序提供了三个示例 MCP 函数:
1. **工具函数**:回声消息
```python
@mcp.tool()
def echo_tool(message: str) -> str:
"""作为工具回 return f"工具回声:{message}"
```
2. **提示函数**:创建回声提示
```python
@mcp.prompt()
def echo_prompt(message: str) -> str:
"""创建回声提示"""
return f"请处理此消息:{message}"
```
3. **资源函数**:处理资源请求
```python
@mcp.resource("echo://{message}")
def echo_resource(message: str) -> str:
"""作为资源回声 return f"资源:{message}"
许可证
MIT 许可证
(c) Ragie Corp
特任何获得本软件及其副本(以下简称“软件”免费许可,以无限制的方式使用但不限于使用、复制、修改、合并、发布、分发许可和/或出售软件副本的权利,并允许任何获得软件做,但须遵守以下条件:
上述版权声明和本许可声明在所有副本或软件的实质性部分中。
软件以“原样”提供,不提供任何形式的保证,明示或暗示,包括但不限于适销性、特定用途的非侵权性的保证。在任何情况下,作者或版权持有人均不承担因软件或软件的使用或其他交易而产生的任何索赔、损害或其他责任,无论是在合同诉讼、侵权诉讼诉讼中。