返回 MCP 目录
public公开dns本地运行

fastapi_mcp_sse

一个基于FastAPI框架实现服务器推送事件(SSE)的项目,集成了模型上下文协议(MCP)功能,提供AI模型与外部工具交互的标准化接口。

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系统中添加新功能而无需重新训练。

架构

该项目展示了一个模块化架构:

  1. 将MCP SSE端点(/sse/messages/)整合到FastAPI应用中。
  2. 提供标准网页路由(/, /about, /status, /docs, /redoc)。
  3. 展示如何在MCP功能与网络路由之间保持分离。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端