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

awesome-mcp-fastapi

Awesome MCP FastAPI是基于FastAPI框架实现的增强版模型上下文协议(MCP)服务,提供强大的工具注册功能和自动文档生成,利用FastAPI成熟生态实现高性能AI工具集成。

article

README

🚀 MCP FastAPI 优秀项目

本项目是一个基于 FastAPI 的强大 Model Context Protocol (MCP) 实现,结合增强工具注册表功能,充分利用了成熟的 FastAPI 生态系统,为相关开发提供了高效、便捷的解决方案。

🚀 快速开始

先决条件

  • Python 3.10+

安装

# 克隆仓库
git clone https://github.com/yourusername/awesome-mcp-fastapi.git
cd awesome-mcp-fastapi

# 创建虚拟环境
python -m venv .venv
source .venv/bin/activate  # 在 Windows 上:.venv\Scripts\activate

# 安装依赖项
pip install -e .

运行服务器

uvicorn src.main:app --reload

访问 http://localhost:8000/docs 查看 OpenAPI 文档。

✨ 主要特性

比标准 MCP 更具优势

尽管 Model Context Protocol 提供了连接 AI 模型与工具和数据源的良好基础,但本项目的实现提供了几个显著优势:

FastAPI 的成熟生态系统

  • 生产就绪的 Web 框架:基于 FastAPI,一个高性能、现代的 Web 框架,带有自动 OpenAPI 文档生成。
  • 依赖注入支持:利用 FastAPI 强大的依赖注入系统实现更易维护和测试的代码。
  • 中间件支持:轻松集成身份验证、监控和其他中间件组件。
  • 内置验证:通过 Pydantic 实现强大的请求/响应验证和数据建模。
  • 异步支持:对 async/await 模式的顶级支持,适合高并发应用。

增强的工具注册表

本项目的实现通过以下方式改进了标准 MCP 工具注册表:

  • 自动文档生成:工具会自动生成 MCP 格式和 OpenAPI 规范的文档。
  • 改进的类型提示:增强的类型信息提取,提升工具支持和 IDE 体验。
  • 更丰富的模式定义:更具表达性的 JSON Schema 定义工具输入和输出。
  • 更好的错误处理:结构化的错误响应,带有详细的信息。
  • 增强的文档字符串支持:更好地从 Python 文档字符串中提取信息。

额外功能

  • CORS 支持:准备支持跨域请求,便于与 Web 应用程序集成。
  • 生命周期管理:通过 FastAPI 的生命周期 API 实现资源的初始化和清理。

💻 使用示例

基础用法

创建工具

from fastapi import FastAPI
from src.utils.tools import create_tool

app = FastAPI()
my_tool = create_tool(...)
app.include_router(my_tool.router)

请求格式

发送 POST 请求到 /tools/your-tool-id,请求体如下:

{
  "inputs": {
    "param1": "value1",
    "param2": "value2"
  },
  "options": {
    "timeout": 3000,
    "some_option": true
  }
}

📚 详细文档

架构

项目使用模块化架构:

  • app:主应用入口。
  • tools:工具定义和注册。
  • routers:路由配置。
  • models:数据模型和验证。
awesome-mcp-fastapi/
├── app.py
├── models/
│   └── __init__.py
├── routers/
│   └── __init__.py
└── tools/
    └── __init__.py

Docker 支持

构建和运行:

docker build -t awesome-mcp-fastapi .
docker run -p 8000:8000 --env-file .env awesome-mcp-fastapi

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

📄 许可证

本项目在 MIT License 下许可,详情请参见 LICENSE 文件。

help

运行方式说明

cloud

托管运行

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

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

本地运行 / 其它方式

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

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