OpenAPI Proxy
STDIOHTTP-SSETool converting OpenAPI services to MCP servers for AI agent integration
Tool converting OpenAPI services to MCP servers for AI agent integration
A command-line tool that transforms any OpenAPI service into a Model Context Protocol (MCP) server, enabling seamless integration with AI agents and tools that support the MCP specification.
[!NOTE] This tool is still in early development stage. Roadmap is here
Model Context Protocol (MCP) is a standardized protocol for AI agents to interact with external tools and services. It provides a consistent way for AI models to discover, understand, and utilize various capabilities through a unified interface, making it easier to build AI-powered applications that can interact with multiple services.
OpenAPI (formerly known as Swagger) is a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful web services. It allows both humans and computers to discover and understand the capabilities of a service without needing to access the source code or additional documentation.
This middleware acts as a bridge between OpenAPI services and MCP clients. It:
This enables any existing REST API with an OpenAPI specification to be immediately accessible to AI agents that understand MCP, without requiring any modifications to the original service.
npm install -g openapi-mcp-proxy
npx openapi-mcp-proxy --spec ./path/to/openapi.yml --target http://your-api.com --port 3000
-s, --spec <path> (required): Path to your OpenAPI specification file (env: OMP_OPENAPI_SPEC_FILE)-t, --target <url> (optional): Target URL of the API service (default: "http://localhost:8080", env:OMP_TARGET_BASE_URL)-p, --port <number> (optional): Port to run the MCP server on (default: "3000", env: PORT)-V, --version: Display version number-h, --help: Display help for commandStart an MCP server for the Petstore API
npx openapi-mcp-proxy --spec resources/petstore.openapi.yml --target https://petstore.swagger.io/v2
To test your MCP server, you can use the Model Context Protocol:
npx @modelcontextprotocol/inspector
/mcp like
http://localhost:3000/mcpIt's easier to use this with VS Code's built-in agent mode:
Cmd/Ctrl + Shift + PCmd/Ctrl + Shift + Phttp://localhost:3000/mcp ending with /mcpfor more information on how to use MCP servers with VS code, see this
Contributions are welcome! Please feel free to submit a Pull Request. Roadmap is here
MIT