Best for
- Developers and teams who want to integrate existing REST APIs described by OpenAPI into the MCP ecosystem.
- Scenarios where you need quick conversion of APIs to MCP tools with dynamic tool generation.
mcp-openapi-proxy is a practical generic proxy that dynamically converts OpenAPI-defined REST APIs into MCP tools, simplifying integration. It supports multiple authentication schemes and filtering options, with rich examples and verified client compatibility. However, tool lists are dynamic and cannot be enumerated upfront; some clients have limited prompts/resources support. Overall, it's a powerful tool for quickly connecting a wide range of REST APIs.
mcp-openapi-proxy is a Python package that implements a Model Context Protocol (MCP) server designed to dynamically expose REST APIs—defined by OpenAPI specifications—as MCP tools, facilitating seamless integration of OpenAPI-described APIs into MCP-based workflows. It offers two operational modes: Low-Level Mode (default) renders each valid endpoint as a tool; FastMCP Mode (simple mode) exposes a static set of tools (list_functions and call_function). It supports OpenAPI v3 (with potential v2 support), endpoint filtering via whitelist, flexible authentication (Bearer in Authorization header, custom schemes, api-key header), and payload token stripping via JMESPath. It also provides additional MCP resources (e.g., use-case documents) and prompts (summarize_spec, whimsical_blog).
Install from PyPI:\n\n``bash\nuvx mcp-openapi-proxy\n`\n\nConfigure within your MCP ecosystem's mcpServers settings:\n\n`json\n{\n "mcpServers": {\n "mcp-openapi-proxy": {\n "command": "uvx",\n "args": ["mcp-openapi-proxy"],\n "env": {\n "OPENAPI_SPEC_URL": "${OPENAPI_SPEC_URL}",\n "API_KEY": "${API_OPENAPI_KEY}"\n }\n }\n }\n}\n``\n\nSet the required OPENAPI_SPEC_URL environment variable and optional ones like API_KEY, TOOL_WHITELIST, etc.
{
"mcpServers": {
"mcp-openapi-proxy": {
"command": "uvx",
"args": [
"mcp-openapi-proxy"
],
"env": {
"OPENAPI_SPEC_URL": "${OPENAPI_SPEC_URL}",
"API_KEY": "${API_OPENAPI_KEY}"
}
}
}
}