控制API MCP
将任何OpenAPI/REST API公开为具有动态服务器切换和变量替换的MCP工具的MCP服务器。
🚀 一键安装
单击以直接在编辑器中安装- 无需配置!
Linux/macOS:
💡 安装后: 人工智能助手将引导您连接到API服务器。只需在被询问时提供OpenAPI URL,或使用 set_server_config 工具连接到您的API。快速启动(自动下载)
零安装 -自动下载并运行最新版本:
- 下载自动运行脚本:
curl -O https://raw.githubusercontent.com/fellowabhi/ControlAPI-openapi-to-mcp/main/auto-run.sh
chmod +x auto-run.sh- 在MCP配置中使用它:
{
"servers": {
"controlapi-mcp": {
"type": "stdio",
"command": "/path/to/auto-run.sh"
}
}
}注意:您可以选择设置OPENAPI_URL,BASE_URL,以及SERVER_NICKNAME在env变量中,或使用set_server_config工具。
下载自 发布 或构建:
export OPENAPI_URL='http://your-api.com/openapi.json'
export BASE_URL='http://your-api.com' # optional
./dist/controlapi-mcp设置(开发)
pip install -e .构建二进制文件
./build.sh在以下位置创建独立可执行文件 dist/controlapi-mcp (16MB)
MCP配置
使用二进制
{
"servers": {
"controlapi-mcp": {
"type": "stdio",
"command": "/path/to/openapi-mcp-adapter/dist/controlapi-mcp",
"env": {
"OPENAPI_URL": "http://localhost:8000/openapi.json",
"BASE_URL": "http://localhost:8000",
"DEBUG_PORT": "45133"
}
}
}
}使用Python(开发)
{
"servers": {
"controlapi-mcp": {
"type": "stdio",
"command": "/path/to/project/.venv/bin/python",
"args": ["-m", "src.main"],
"cwd": "/path/to/project",
"env": {
"OPENAPI_URL": "http://localhost:8000/openapi.json",
"REFRESH_INTERVAL": "300",
"PYTHONPATH": "/path/to/project",
"BASE_URL": "http://localhost:8000",
"DEBUG_PORT": "45133"
}
}
}
}可选: OPENAPI_URL, BASE_URL, SERVER_NICKNAME, DEBUG_PORT (默认值:45133)
💡 无需配置: 您可以从没有环境变量开始,使用 set_server_config 工具。AI助手将指导您完成设置。🔍 调试UI: 访问基于浏览器的请求/响应监视器http://localhost:45133(或定制DEBUG_PORT).URL可用get_server_info回应。
特性
与跨平台支持
- Linux (x86_64)-完全支持
- macOS (英特尔和苹果硅)-全面支持
- 视窗 -使用Python或WSL
动态服务器切换
- 在运行时连接到任何OpenAPI服务器
- 在多个API之间切换(开发、测试、生产)
- 具有历史记录的服务器上下文跟踪
- 自动重新加载架构
可用工具
set_server_config-连接到OpenAPI服务器(如果未配置,请先使用此服务器)get_server_info-检查当前服务器和连接状态get_server_history-查看最近的服务器交换机health_check-测试服务器连接list_endpoints-列出所有API终结点search_schema-按关键字搜索端点execute_request-使用变量替换发出HTTP请求set_variable-存储变量(例如,身份验证令牌)get_variables-查看所有存储的变量reload_schema-重新加载当前服务器的架构
变量替换
使用 {{variable_name}} 在页眉、正文或路径中:
{
"headers": {
"Authorization": "{{token}}"
}
}工作流示例
- 第一次:
set_server_config使用openapi_url execute_request到/auth/login→ 获取令牌set_variablekey=“token”value=“Bearer xyz…”execute_request随着Authorization: {{token}}- 切换服务器:
set_server_config在不同环境下进行测试
