Token导航 LogoToken导航TokenDH.com
Awesome MCP FastAPI logo
AI代理stdio官方级别未说明来源级核验

Awesome MCP FastAPI

MCP Server

一个基于FastAPI的模型上下文协议(MCP)实现,提供增强的工具注册功能和自动文档生成,适用于AI工具管理和大型语言模型集成。

工具数

0

提示词数

0

GitHub Stars

33

资源数

0
大型语言模型PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

MR-GREEN1337

提供方

MR-GREEN1337

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

![Website](https://mr-green1337.github.io/awesome-mcp-fastapi/)

出色的MCP快速API

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

概述

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

为什么这比标准MCP更好

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

FastAPI成熟的生态系统

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

增强的工具注册表

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

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

附加功能

  • CORS支持:为跨源请求做好准备,使其易于与web应用程序集成。
  • 寿命管理:通过FastAPI的生命周期API进行适当的资源初始化和清理。

入门指南

先决条件

  • Python 3.10+

安装

# Clone the repository
git clone https://github.com/yourusername/awesome-mcp-fastapi.git
cd awesome-mcp-fastapi

# Create a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
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="Perform basic arithmetic operations",
    tags=["math"]
)
@app.post("/api/calculator")
async def calculator(operation: str, a: float, b: float):
    """
    Perform basic arithmetic operations.
    
    Parameters:
    - operation: The operation to perform (add, subtract, multiply, divide)
    - a: First number
    - b: Second number
    
    Returns:
    The result of the operation
    """
    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": "Cannot divide by zero"}
        return {"result": a / b}
    else:
        return {"error": f"Unknown operation: {operation}"}

通过MCP访问工具

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

You can perform calculations using the calculator tool. Try calculating 42 * 13.

Claude会自动找到并使用您的计算器工具进行计算。

建筑

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

src/
├── api/              # API endpoints
│   └── v1/           # API version 1
├── core/             # Core functionality
│   └── settings.py   # Application settings
├── db/               # Database connections
│   └── models/       # Database models
├── main.py           # Application entry point
└── utils/            # Utility functions
    └── tools.py      # Enhanced tool registry

Docker支持

使用Docker构建和运行:

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

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

目录标签

目录标签

大型语言模型PythonClaudeFastAPI本地部署模型上下文协议AI工具管理自动文档生成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP