mcp-openapi-proxy is a small, powerful idea: take any API that publishes an OpenAPI specification and turn it into tools an AI agent can call — through configuration alone, with no custom integration code. It implements the Model Context Protocol (MCP), so any MCP-enabled agent can drive the API the moment you point the proxy at a spec.
Instead of hand-building (and forever maintaining) a bespoke connector for every SaaS product, you run one component, give it a spec URL, optionally scope it to the endpoints you care about, and tell it how the API authenticates. That’s it.
What we set out to prove
A clever idea is only worth as much as its evidence. So we ran a verification sweep: eleven real public APIs, each exposed through the proxy and exercised by nine different agent clients. Every result below comes from a live call.
The APIs it drove
| API | What an agent did through the proxy |
|---|---|
| Glama | Listed the MCP-server attribute taxonomy |
| APIs.guru | Queried the directory — 3,992 specs across 2,529 APIs |
| WolframAlpha | Computed a query via the LLM API |
| VirusTotal | Pulled an IP reputation report |
| Asana | Created a project and eleven tasks, then read them back |
| Render | Listed live hosted services |
| Notion | Created a page and read its title back |
| ElevenLabs | Generated speech (text-to-speech) as an MP3 |
| Fly.io | Listed apps and per-machine health |
| Slack | Confirmed identity and posted a message |
| NetBox | Registered IP addresses in IPAM and read them back |
Eleven very different APIs — different shapes, different auth schemes — and not a single line of per-API server code. The recurring work was tuning authentication and trimming large specs to the relevant endpoints, not writing integrations.
The agents that used it
The proxy was attached to a broad range of agent clients and verified end to end: Codex, Gemini, Qwen, Kilocode, opencode, Vibe, and the Letta platform (both self-hosted and cloud). Every one could discover and call tools natively. One honest caveat surfaced: while tool-calling was solid everywhere, the clients varied a lot in whether they expose MCP prompts and resources to the model — a gap in the client ecosystem, not the proxy, which advertises and serves both correctly.
What we fixed along the way
A real test finds real bugs. The sweep surfaced fourteen issues — strict clients seeing zero tools, a crash-loop when a spec was slow to download, authentication schemes that sent no header, whitelist matching that missed dot-style API paths, and more. Each was reproduced, fixed with tests, and shipped. The result is version 0.2.0 — the project’s first proper semantic-version release.
Try it
The package is on PyPI and needs nothing but a spec URL to start:
uvx mcp-openapi-proxy # with OPENAPI_SPEC_URL set in the environment
The credential-free Glama and APIs.guru examples require no setup at all.
- Source & examples: github.com/matthewhand/mcp-openapi-proxy
- PyPI: pypi.org/project/mcp-openapi-proxy
- The full technical write-up — API and client matrices, every defect and fix — is in the repository’s verification case study.
One proxy, any API, every MCP agent.