- Home
- MCP servers
- ControlAPI
ControlAPI
- typescript
4
GitHub Stars
typescript
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"fellowabhi-controlapi-openapi-to-mcp": {
"command": "/path/to/openapi-mcp-adapter/dist/controlapi-mcp",
"args": [],
"env": {
"BASE_URL": "http://localhost:8000",
"OPENAPI_URL": "http://localhost:8000/openapi.json",
"SERVER_NICKNAME": "dev-api"
}
}
}
}ControlAPI-MCP exposes any OpenAPI/REST API as MCP tools, enabling dynamic server switching and variable substitution. It lets you connect to multiple API servers at runtime, reuse endpoints across environments, and automate requests with stored variables like tokens. This makes testing, prototyping, and integrating external APIs into your MCP workflow straightforward and repeatable.
How to use
You use an MCP client to connect to one or more API servers and then perform operations as defined by the MCP toolset. Start by configuring a server, then list endpoints, execute requests with variable substitution, and store values (like authentication tokens) for reuse in subsequent calls. You can switch between development, staging, and production APIs on the fly and have automatic schema reloading when a server changes.
How to install
Prerequisites: Python is required for development setup, and you can also run a pre-built binary. You should have Python installed to run the development workflow, or use the provided binary for a quick start.
# Development setup (Python)
pip install -e .
# Build a standalone binary (produces dist/controlapi-mcp)
./build.sh
Additional notes
Two MCP configurations are demonstrated for ControlAPI-MCP. One uses a Python runtime and the other uses a standalone binary. Each config runs as a local stdio server and can expose the API via the MCP interface.
{
"servers": {
"controlapi": {
"type": "stdio",
"command": "/path/to/openapi-mcp-adapter/dist/controlapi-mcp",
"env": {
"OPENAPI_URL": "http://localhost:8000/openapi.json",
"BASE_URL": "http://localhost:8000"
}
}
}
}
{
"servers": {
"controlapi_py": {
"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"
}
}
}
}
Available tools
set_server_config
Connect to an OpenAPI server and establish the initial MCP context.
get_server_info
Check the current active server and its connection status.
get_server_history
View the history of recent server switches.
health_check
Test connectivity and responsiveness of the current server.
list_endpoints
List all available API endpoints from the active OpenAPI schema.
search_schema
Search endpoints by keyword within the loaded schema.
execute_request
Make HTTP requests with automatic variable substitution in headers and body.
set_variable
Store a value (for example, an auth token) for later use in requests.
get_variables
View all stored variables and their values.
reload_schema
Reload the current server's API schema after changes.