🚀 FastAPI MCP 服务器

🚀 FastAPI MCP 服务器

site icon
2025.05.05 2
PythonAI模型交互实时通信会话管理开发效率
FastAPI MCP服务器是一个专为大型语言模型设计的Model Context Protocol (MCP) 集成应用,基于FastAPI框架开发,提供高性能的服务器端事件(SSE)通信、智能工具注册和完善的会话管理功能。它是一个轻量级、高性能的MCP服务器实现,旨在简化AI模型与用户应用程序之间的交互。
View on GitHub

Overview

基本能力

产品定位

FastAPI MCP服务器是一个专为大型语言模型设计的Model Context Protocol (MCP) 集成应用,基于FastAPI框架开发,提供高性能的服务器端事件(SSE)通信、智能工具注册和完善的会话管理功能。

核心功能

  • FastAPI + MCP整合:将FastAPI的高性能与MCP协议无缝集成,提供标准化的模型交互接口
  • 高效SSE实时通信:基于服务器发送事件(SSE)实现毫秒级响应的单向实时数据流
  • 多用户会话隔离:完善的会话创建、存储和管理机制,确保多用户场景下的数据隔离
  • 灵活认证机制:支持多种认证方式,包括token、path和query参数,满足不同场景需求
  • 全异步处理架构:从请求处理到数据库操作均采用异步设计,支持高并发访问
  • 智能工具注册系统:简化AI工具函数的注册和管理,便于扩展模型能力

适用场景

  • AI模型与用户应用程序之间的交互
  • 实时数据流传输场景
  • 多用户并发交互场景

工具列表

  • MCP处理器:路由和处理MCP请求
  • 会话服务:管理用户会话
  • 工具函数:扩展模型能力

常见问题解答

  • 连接问题:检查端口是否被占用,尝试更改PORT环境变量
  • 工具注册问题:确保工具函数格式正确,并且已正确导入
  • 会话管理问题:检查数据库连接配置

使用教程

使用依赖

  • Python 3.13+
  • 支持异步的数据库(可选)
  • uv包管理器(推荐)

安装步骤

  1. 克隆代码库:
git clone [email protected]:purity3/fastapi-mcp-server.git
cd fastapi-mcp-server
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# 或者
.venv\Scripts\activate     # Windows
  1. 安装依赖: 使用uv安装(推荐):
# 如果尚未安装uv
pip install uv

# 使用uv安装依赖
uv pip install -e .

或使用pip安装:

pip install -e .
  1. 配置环境变量: 创建.env文件,参考.env.example设置必要的环境变量。

  2. 创建数据库:

# 确保database目录存在
mkdir -p database

# 创建空的session.db文件
touch database/session.db

# 应用程序首次运行时会自动创建必要的表结构
  1. 自定义鉴权逻辑: 在auth/credential.py中实现您自己的API密钥验证逻辑。

调试方式

启动服务器:

python -m main
# 或使用安装的入口点
start

使用uv启动:

uv run start

使用inspector模式启动(调试):

mcp dev server.py

服务器默认运行在 http://localhost:8000

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。