MCP-高级API
一个基于Python的MCP服务器,它动态地从SuperiorAPIs获取插件定义,并根据OpenAPI模式自动生成工具函数,从而实现与API服务的无缝集成。
服务介绍
SuperiorAPIs MCP 服务器工具
📖 描述
该项目是一个基于 Python 的 MCP 服务器,它能够从 SuperiorAPIs 动态获取插件定义,并根据 OpenAPI 模式自动生成 MCP 工具函数。
该服务器将:
- 获取插件元数据
- 解析模式
- 动态生成工具函数
- 运行 MCP 服务器
🚀 特性
- 从 SuperiorAPIs 动态加载插件
- 自动生成
pydantic模型和异步函数 - 使用
aiohttp执行异步 API - 在运行时注册 MCP 工具
- 支持基于环境的配置
- 准备好部署到 UVX 平台
📂 项目结构
.
├── main.py # MCP server core logic
├── requirements.txt # Python dependency list
├── setup.py # Packaging setup
├── Dockerfile # (Optional) Docker container build file
└── README.md # Project documentation
⚙️ 安装
克隆项目并安装依赖项:
git clone https://your-repo-url.git
cd your-repo
pip install -r requirements.txt
🌍 环境变量
在运行前,请设置以下环境变量:
Linux/macOS
export TOKEN=your_token_here
export APPLICATION_ID=your_application_id_here
Windows CMD
set TOKEN=your_token_here
set APPLICATION_ID=your_application_id_here
🖥️ 使用方法
运行 MCP 服务器:
python main.py
服务器将执行以下操作:
- 从 SuperiorAPIs 获取插件数据
- 动态生成 MCP 工具函数
- 注册这些工具
- 启动 MCP 服务器
🔗 API 端点
插件定义从这里获取:
https://superiorapis-creator.cteam.com.tw/manager/module/plugins/list_v2
需要通过 token 头进行授权。
🧠 示例生成的工具函数
@mcp.tool()
async def post_example_tool(param1: Optional[str] = None, param2: Optional[int] = None) -> str:
"""
Tool description | API summary.
# Args:
param1 (string, optional): Description of param1.
param2 (integer, optional): Description of param2.
# Returns:
200 (object): API response.
"""
📜 依赖
aiohttp>=3.8.6
pydantic>=2.5.3
mcp-sdk>=0.1.0
❗ 错误处理
如果 API 调用失败或返回 status: 0,程序将以如下方式退出:
❌ Error: API returned no data or status is 0. Please check if the API is working properly.
📦 打包(可选)
构建包:
python setup.py sdist bdist_wheel
安装包:
pip install dist/mcp-superiorapis-1.0.0-py3-none-any.whl
使用 Docker 运行(如需):
docker build -t superiorapis-mcp .
docker run -e TOKEN=your_token -e APPLICATION_ID=your_app_id superiorapis-mcp
📄 许可证
MIT 许可证(或您的自定义许可证)
👨💻 作者
您的名字 / 您的公司
联系:your_email@example.com