Awesome MCP FastAPI

Awesome MCP FastAPI

一个生产就绪的 MCP 服务器,使用 FastAPI 构建,为创建、管理和记录大型语言模型 (LLM) 的 AI 工具提供了一个增强的工具注册表。

AI内容生成
AI集成系统
访问服务器

README

Awesome MCP FastAPI

一个基于 FastAPI 的强大模型上下文协议 (MCP) 实现,具有增强的工具注册能力,并利用成熟的 FastAPI 生态系统。

概述

Awesome MCP FastAPI 是一个生产就绪的模型上下文协议实现,通过将其与 FastAPI 强大的生态系统集成,增强和扩展了标准 MCP 功能。 该项目提供了一个改进的工具注册系统,可以更轻松地为大型语言模型 (LLM) 创建、管理和记录 AI 工具。

为什么它比标准 MCP 更好

虽然模型上下文协议为将 AI 模型与工具和数据源连接起来提供了坚实的基础,但我们的实现提供了几个显着的优势:

FastAPI 的成熟生态系统

  • 生产就绪的 Web 框架:构建在 FastAPI 之上,这是一个高性能、现代的 Web 框架,具有自动 OpenAPI 文档生成功能。
  • 依赖注入:利用 FastAPI 强大的依赖注入系统来实现更易于维护和测试的代码。
  • 中间件支持:轻松集成身份验证、监控和其他中间件组件。
  • 内置验证:Pydantic 集成,用于强大的请求/响应验证和数据建模。
  • 异步支持:一流的异步/等待模式支持,适用于高并发应用程序。

增强的工具注册表

我们的实现改进了标准 MCP 工具注册表,具体如下:

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

附加功能

  • CORS 支持:准备好进行跨域请求,从而可以轻松地与 Web 应用程序集成。
  • 生命周期管理:通过 FastAPI 的生命周期 API 进行正确的资源初始化和清理。

开始使用

前提条件

  • 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 文档。

用法

创建工具

from fastapi import FastAPI
from src.utils.tools import auto_tool, bind_app_tools

app = FastAPI()
bind_app_tools(app)

@auto_tool(
    name="calculator",
    description="执行基本算术运算",
    tags=["math"]
)
@app.post("/api/calculator")
async def calculator(operation: str, a: float, b: float):
    """
    执行基本算术运算。
    
    参数:
    - operation: 要执行的操作 (add, subtract, multiply, divide)
    - a: 第一个数字
    - b: 第二个数字
    
    返回值:
    运算结果
    """
    if operation == "add":
        return {"result": a + b}
    elif operation == "subtract":
        return {"result": a - b}
    elif operation == "multiply":
        return {"result": a * b}
    elif operation == "divide":
        if b == 0:
            return {"error": "不能除以零"}
        return {"result": a / b}
    else:
        return {"error": f"未知操作:{operation}"}

通过 MCP 访问工具

LLM 可以通过模型上下文协议发现和使用您的工具。 使用 Claude 的示例:

您可以使用计算器工具执行计算。 尝试计算 42 * 13。

Claude 将自动查找并使用您的计算器工具来执行计算。

架构

我们的应用程序遵循模块化架构:

src/
├── api/              # API 端点
│   └── v1/           # API 版本 1
├── core/             # 核心功能
│   └── settings.py   # 应用程序设置
├── db/               # 数据库连接
│   └── models/       # 数据库模型
├── main.py           # 应用程序入口点
└── utils/            # 实用程序函数
    └── tools.py      # 增强的工具注册表

Docker 支持

使用 Docker 构建和运行:

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

贡献

欢迎贡献! 请随时提交拉取请求。

许可证

该项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
AIO-MCP Server

AIO-MCP Server

🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。

精选
本地
Knowledge Graph Memory Server

Knowledge Graph Memory Server

为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。

精选
本地
https://github.com/Streen9/react-mcp

https://github.com/Streen9/react-mcp

react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。

精选
本地
MCP Atlassian

MCP Atlassian

适用于 Atlassian Cloud 产品(Confluence 和 Jira)的 Model Context Protocol (MCP) 服务器。此集成专为 Atlassian Cloud 实例设计,不支持 Atlassian Server 或 Data Center 部署。

精选
any-chat-completions-mcp

any-chat-completions-mcp

将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。

精选
Exa MCP Server

Exa MCP Server

一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。

精选
AI 图像生成服务

AI 图像生成服务

可以用于 Cursor 集成 MCP 服务器。

精选