Command Palette

Search for a command to run...

UnylyUnyly
Browse all

ControlAPI OpenAPI

FreeNot checked

Converts OpenAPI specifications into executable MCP tools with dynamic server switching

GitHubEmbed

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:

📥 Install in VS Code

📥 Install in VS Code Insiders

💡 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_config tool to connect to your API.

Quick Start (Auto-Download)

Zero installation - automatically downloads and runs the latest release:

  1. 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
  1. 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, and SERVER_NICKNAME in env vars, or configure dynamically using the set_server_config tool.

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_config tool. The AI assistant will guide you through the setup.

🔍 Debug UI: Access browser-based request/response monitor at http://localhost:45133 (or custom DEBUG_PORT). URL available in get_server_info response.

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 status
  • get_server_history - View recent server switches
  • health_check - Test server connectivity
  • list_endpoints - List all API endpoints
  • search_schema - Search endpoints by keyword
  • execute_request - Make HTTP requests with variable substitution
  • set_variable - Store variable (e.g., auth token)
  • get_variables - View all stored variables
  • reload_schema - Reload current server's schema

Variable Substitution

Use {{variable_name}} in headers, body, or path:

{
  "headers": {
    "Authorization": "{{token}}"
  }
}

Example Workflow

  1. First time: set_server_config with openapi_url
  2. execute_request to /auth/login → get token
  3. set_variable key="token" value="Bearer xyz..."
  4. execute_request with Authorization: {{token}}
  5. Switch servers: set_server_config to test on different environment

from github.com/fellowabhi/controlapi-openapi-to-mcp

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-mcp

FAQ

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

Compare 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