loading…
Search for a command to run...
loading…
An MCP server that dynamically converts any OpenAPI or REST API into MCP tools, allowing for real-time server switching and schema reloading. It supports variab
An MCP server that dynamically converts any OpenAPI or REST API into MCP tools, allowing for real-time server switching and schema reloading. It supports variable substitution for headers and bodies, enabling seamless authentication and interaction with multiple API environments.
MCP server that exposes any OpenAPI/REST API as MCP tools with dynamic server switching and variable substitution.
Click to install directly in your editor - no configuration needed!
Linux / macOS:
💡 After Installation: The AI assistant will guide you to connect to an API server. Simply provide the OpenAPI URL when asked, or use the
set_server_configtool to connect to your API.
Zero installation - automatically downloads and runs the latest release:
curl -O https://raw.githubusercontent.com/fellowabhi/ControlAPI-openapi-to-mcp/main/auto-run.sh
chmod +x auto-run.sh
{
"servers": {
"controlapi-mcp": {
"type": "stdio",
"command": "/path/to/auto-run.sh"
}
}
}
Note: You can optionally set
OPENAPI_URL,BASE_URL, andSERVER_NICKNAMEin env vars, or configure dynamically using theset_server_configtool.
Download from releases or build:
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
Creates a standalone executable at dist/controlapi-mcp (16MB)
{
"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"
}
}
}
}
{
"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"
}
}
}
}
Optional: OPENAPI_URL, BASE_URL, SERVER_NICKNAME, DEBUG_PORT (default: 45133)
💡 No Configuration Needed: You can start with no environment variables and configure the server dynamically using the
set_server_configtool. The AI assistant will guide you through the setup.
🔍 Debug UI: Access browser-based request/response monitor at
http://localhost:45133(or customDEBUG_PORT). URL available inget_server_inforesponse.
set_server_config - Connect to an OpenAPI server (use this first if not configured)get_server_info - Check current server and connection statusget_server_history - View recent server switcheshealth_check - Test server connectivitylist_endpoints - List all API endpointssearch_schema - Search endpoints by keywordexecute_request - Make HTTP requests with variable substitutionset_variable - Store variable (e.g., auth token)get_variables - View all stored variablesreload_schema - Reload current server's schemaUse {{variable_name}} in headers, body, or path:
{
"headers": {
"Authorization": "{{token}}"
}
}
set_server_config with openapi_urlexecute_request to /auth/login → get tokenset_variable key="token" value="Bearer xyz..."execute_request with Authorization: {{token}}set_server_config to test on different environmentДобавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"controlapi-mcp": {
"command": "npx",
"args": []
}
}
}