返回市场
测试版MCP服务器

测试版MCP服务器

作者:tendayspace3 星标更新:2025-04-11

项目介绍

🧠 MCP 聚合工具服务 / MCP Aggregated Tool Service

License Python FastAPI Dockerized

基于 FastAPI 和 fastapi_ccp 的多工具统一访问平台,支持模块化、自动注册和异步扩展。适用于将多个AI工具或微服务聚合到一个统一接口服务中,支持标准化的输入和输出格式,便于前端集成或大语言模型(LLM)系统调用。

这是一个模块化、可扩展且基于 FastAPI 的 MCP(多组件平台)工具聚合服务。通过标准化的API轻松连接并暴露独立工具。非常适合前端集成或大型语言模型(LLM)编排。


🌟 特性/Features

  • ✅ 支持多工具自动注册(基于目录扫描)
  • ✅ 所有接口统一使用 POST 方法和 BaseModel 验证
  • ✅ 支持异步 httpx 接口调用
  • ✅ 标准化的 JSON 响应格式(成功/错误)
  • ✅ 支持 Docker 一键部署
  • ✅ 提供开发文档,便于工具模块扩展

📁 项目结构

.
├── main.py                    # FastAPI 主程序,含 MCP 注册逻辑
├── tools/                     # 工具目录,每个文件一个功能
├── Dockerfile                 # 构建镜像用
├── docker-compose.yml         # 一键部署支持
├── mcp_tool_开发说明.md       # 开发者使用规范文档(中文)
└── README.md

🚀 快速开始

🧰 依赖需求/Requirements

  • Python 3.8+
  • pip
  • Docker / Docker Compose(可选)

📦 本地运行/本地开发

# 安装依赖
pip install -r requirements.txt

# 启动服务
python main.py

默认服务地址:http://localhost:8000/mcp

🐳 使用 Docker 部署/Docker 部署

# 构建 & 运行
docker-compose up --build -d

# 访问 MCP 工具服务
http://localhost:8000/mcp

🧱 工具模块开发规范/Tool Module Guidelines

每个工具应放置在 tools/ 目录下(可以嵌套多层),并且包括:

  1. 使用 pydantic.BaseModel 定义参数;
  2. 使用 @__mcp_server__.tool() 注册工具函数;
  3. 返回 success_response()error_response()
  4. (可选)外部接口的异步调用+结果缓存。

参考示例:

from pydantic import BaseModel
from main import __mcp_server__, success_response

class MyParams(BaseModel):
    name: str

@__mcp_server__.tool()
async def hello_tool(params: MyParams):
    return success_response({"message": f"Hello {params.name}!"})

🔗 接口描述/API 使用

所有工具接口均通过 /mcp 路径统一访问,基于模块自动注册。

请求方法:POST
请求格式:application/json
响应格式:

{
  "status": "success",
  "result": {
    ...
  }
}

📚 文档参考/Docs


📄 许可证

MIT License © 2025 [your-name]