Fastapi MCP

Fastapi MCP

FastAPI-MCP 是一个将 FastAPI 端点作为模型上下文协议(MCP)工具暴露的库,支持灵活部署与 ASGI 传输,并内置身份验证功能,适用于快速构建安全、高效的模型服务。

78 浏览
2025-12-16 发布

详细介绍

FastAPI-MCP 是一个将 FastAPI 端点作为模型上下文协议(MCP)工具暴露的库,支持灵活部署与 ASGI 传输,并内置身份验证功能。它允许开发者快速将 FastAPI 应用程序集成到 MCP 生态系统中,无需手动编写复杂的代码,即可创建支持身份验证的 MCP 工具。

核心功能

FastAPI-MCP 提供了多项核心功能,使其成为构建模型服务的理想工具:

  • 内置身份验证:支持使用现有的 FastAPI 依赖项来保护 MCP 端点,确保服务的安全性。
  • FastAPI 原生集成:与 FastAPI 紧密集成,无需额外的 HTTP 调用,实现高效通信。
  • 零/最小配置:只需指向 FastAPI 应用即可快速启动,简化部署流程。
  • 保留请求和响应模型:自动保留请求和响应的 schema,确保数据结构的一致性。
  • 保留文档:完整保留 FastAPI 中的文档和注释,便于开发和维护。
  • 灵活部署:支持将 MCP 服务器挂载到同一应用,或独立部署,适应不同场景。
  • ASGI 传输:直接使用 FastAPI 的 ASGI 接口进行高效通信,提升性能。

安装方法

FastAPI-MCP 可通过 pip 或 uv 工具进行安装。推荐使用 uv 工具以获得更快的安装体验。

uv add fastapi-mcp
pip install fastapi-mcp

使用方法

使用 FastAPI-MCP 非常简单,只需几行代码即可将 FastAPI 应用转换为 MCP 服务器。

from fastapi import FastAPI
from fastapi_mcp import FastAPI_MCP

app = FastAPI()
mcp = FastAPI_MCP(app)
mcp.mount()

上述代码创建了一个 FastAPI 应用,并实例化了 FastAPI_MCP 对象,最后通过 mount() 方法将 MCP 服务器挂载到应用中。

使用示例

以下是一个完整的使用示例,展示如何快速部署 MCP 服务器并集成身份验证。

from fastapi import FastAPI, Depends
from fastapi_mcp import FastAPI_MCP

app = FastAPI()
mcp = FastAPI_MCP(app)
mcp.mount()

在另一个示例中,可以使用 FastAPI 的依赖项来保护 MCP 端点:

async def get_current_user():
    return {'user': 'admin'}

@router.post('/predict')
async def predict(data: dict, user: dict = Depends(get_current_user)):
    return {'result': '预测结果', 'user': user}

使用场景

FastAPI-MCP 适用于需要快速部署模型服务的企业和开发者,尤其是在以下场景中:

  • 金融领域:用于构建安全、高效的模型服务,支持身份验证和数据保护。
  • 医疗领域:快速部署模型服务,确保数据隐私和安全性。
  • 科研领域:简化模型服务的开发和部署流程,提高研究效率。

注意事项

在使用 FastAPI-MCP 时,需要注意以下几点:

  • 需要一定的 Python 开发基础。
  • 可能需要额外的资源监控,以确保服务的稳定性和性能。
  • 建议使用 uv 工具进行安装,以获得更快的安装速度。

FastAPI-MCP 通过其强大的功能和灵活的部署方式,为开发者提供了一个高效、安全的模型服务构建工具。

fastapi mcp 模型服务 身份验证

相关服务推荐

查看更多