ControlAPI-MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ControlAPI-MCPconnect to the Petstore API at https://petstore.swagger.io/v2/swagger.json"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ControlAPI-MCP
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.
Related MCP server: OpenAPI MCP Server
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.shUse 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-mcpSetup (Development)
pip install -e .Building Binary
./build.shCreates 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_urlexecute_requestto/auth/login→ get tokenset_variablekey="token" value="Bearer xyz..."execute_requestwithAuthorization: {{token}}Switch servers:
set_server_configto test on different environment
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceConverts any OpenAPI/REST API into MCP tools with dynamic server switching, variable substitution, and runtime configuration. Enables seamless interaction with multiple API environments through natural language without pre-configuration.Last updated125MIT
- Alicense-qualityCmaintenanceA generic MCP server that dynamically converts OpenAPI-defined REST APIs into tools for LLMs like Claude. It supports multiple authentication methods and transport protocols, enabling seamless interaction with any OpenAPI-compliant API.Last updated28MIT
- Alicense-qualityDmaintenanceA universal MCP server that connects any REST API to AI assistants via OpenAPI or Postman specifications. It enables dynamic tool creation with GraphQL-style field selection and automatic schema inference for efficient data retrieval.Last updated475Inno Setup
- Alicense-qualityDmaintenanceA dynamic MCP server that automatically discovers and generates tools from any REST API using OpenAPI/Swagger specifications, enabling instant endpoint access with zero manual configuration.Last updatedMIT
Related MCP Connectors
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
A basic MCP server to operate on the Postman API.
APIs.guru MCP — keyless directory of 2,500+ public APIs and their OpenAPI specs.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dili414/ControlAPI-openapi2mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server