ControlAPI OpenAPI
FreeNot checkedConverts OpenAPI specifications into executable MCP tools with dynamic server switching
About
Converts OpenAPI specifications into executable MCP tools with dynamic server switching
README
MCP server that exposes any OpenAPI/REST API as MCP tools with dynamic server switching and variable substitution.
🚀 One-Click Install
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.
Quick Start (Auto-Download)
Zero installation - automatically downloads and runs the latest release:
- Download the auto-run script:
curl -O https://raw.githubusercontent.com/fellowabhi/ControlAPI-openapi-to-mcp/main/auto-run.sh
chmod +x auto-run.sh
- Use it in your MCP config:
{
"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
Setup (Development)
pip install -e .
Building Binary
./build.sh
Creates a standalone executable at dist/controlapi-mcp (16MB)
MCP Configuration
Using Binary
{
"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"
}
}
}
}
Using Python (Development)
{
"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.
Features
Cross-Platform Support
- Linux (x86_64) - Full support
- macOS (Intel & Apple Silicon) - Full support
- Windows - Use Python or WSL
Dynamic Server Switching
- Connect to any OpenAPI server at runtime
- Switch between multiple APIs (dev, staging, production)
- Server context tracking with history
- Automatic schema reloading
Available Tools
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 schema
Variable Substitution
Use {{variable_name}} in headers, body, or path:
{
"headers": {
"Authorization": "{{token}}"
}
}
Example Workflow
- First time:
set_server_configwith openapi_url execute_requestto/auth/login→ get tokenset_variablekey="token" value="Bearer xyz..."execute_requestwithAuthorization: {{token}}- Switch servers:
set_server_configto test on different environment
Installing ControlAPI OpenAPI
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/fellowabhi/controlapi-openapi-to-mcpFAQ
Is ControlAPI OpenAPI MCP free?
Yes, ControlAPI OpenAPI MCP is free — one-click install via Unyly at no cost.
Does ControlAPI OpenAPI need an API key?
No, ControlAPI OpenAPI runs without API keys or environment variables.
Is ControlAPI OpenAPI hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install ControlAPI OpenAPI in Claude Desktop, Claude Code or Cursor?
Open ControlAPI OpenAPI on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare ControlAPI OpenAPI with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
