article
README
🚀 SuperiorAPIs MCP 服务器工具
这是一款基于 Python 开发的 MCP 服务器,它能够从 SuperiorAPIs 动态获取插件定义,并依据 OpenAPI 模式自动生成 MCP 工具函数,为 MCP 服务器的搭建和运行提供了高效便捷的解决方案。
🚀 快速开始
运行 MCP 服务器,可按以下步骤操作:
- 克隆项目并安装依赖:
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 服务器的操作。
✨ 主要特性
- SuperiorAPIs 的动态插件加载:可灵活加载 SuperiorAPIs 的插件,提升服务器的扩展性。
- 基于 OpenAPI 模式的工具函数自动生成:依据 OpenAPI 模式自动创建 MCP 工具函数,提高开发效率。
- 使用
aiohttp的异步 API 执行:借助aiohttp实现异步 API 执行,增强服务器的响应能力。 - 运行时 MCP 工具注册:支持在运行时注册 MCP 工具,方便灵活配置。
- 支持环境配置:可通过环境变量进行服务器的相关配置。
- 准备用于 UVX 平台部署:为在 UVX 平台部署做好了准备。
📦 安装指南
克隆项目并安装依赖:
git clone https://your-repo-url.git
cd your-repo
pip install -r requirements.txt
💻 使用示例
基础用法
运行 MCP 服务器:
python main.py
该服务器将完成以下操作:
- 从 SuperiorAPIs 获取插件数据
- 动态生成 MCP 工具函数
- 注册工具
- 启动 MCP 服务器
示例生成工具函数
@mcp.tool()
async def post_example_tool(param1: Optional[str] = None, param2: Optional[int] = None) -> str:
"""
工具描述 | API 概要。
# 参数:
param1 (string, 可选): param1 的描述。
param2 (integer, 可选): param2 的描述。
# 返回值:
200 (object): API 响应。
"""
📚 详细文档
项目结构
.
├── main.py # MCP 服务器核心逻辑
├── requirements.txt # Python 依赖列表
├── setup.py # 包装设置
├── Dockerfile # (可选)Docker 容器构建文件
└── README.md # 项目文档
环境变量
运行前设置以下环境变量:
- 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
API 端点
插件定义从以下地址获取:
https://superiorapis-creator.cteam.com.tw/manager/module/plugins/list_v2
通过 token 头进行授权。
依赖项
aiohttp>=3.8.6
pydantic>=2.5.3
mcp-sdk>=0.1.0
包装(可选)
构建包:
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
错误处理
如果 API 调用失败或返回 status: 0,程序将退出并显示:
❌ 错误:API 返回无数据或状态为 0。请检查 API 是否正常工作。
📄 许可证
MIT License(或您自定义的许可证)
👨💻 作者
您的姓名 / 您的公司
联系邮箱:your_email@example.com
微信扫一扫