mcpgen: Turn any OpenAPI spec into an MCP server in seconds
I got tired of manually writing MCP tools for every REST endpoint I wanted to expose to an LLM. So I automated it. mcpgen reads an OpenAPI JSON or YAML file and generates a complete, ready‑to‑run MCP server in Python.
What it does
- Parses OpenAPI 3.0 / 3.1 specs
- Creates one MCP tool per endpoint (with
snake_casenames) - Handles auth automatically (API key, Bearer, etc.)
- Outputs a clean, human‑readable Python script
- Zero runtime surprises – just
mcpandhttpx
Quick start
pip install mcpgen
mcpgen my-api.json -o my-mcp-server
python my-mcp-server/server.py
The generated server runs over stdio – ready to plug into Claude Desktop or any MCP client.
Real‑world test
Recently a contributor added an OpenAPI 3.1 fixture (Xquik API) with lookupTweet and getUser endpoints. The tool generated the correct tools, including path parameters and x-api-key auth, on the first try. All 18 tests pass. It works.
Why you might want it
If you’re building LLM agents that need to interact with APIs, mcpgen eliminates the boilerplate. You don’t have to write a single @app.tool() decorator by hand. It also makes it dead simple to experiment – change your API spec, regenerate the server, and you’re done.
Links
- GitHub: JnanaSrota/mcpgen
- PyPI:
pip install mcpgen - MIT licensed, open to contributions
Feedback
If you try it with your own API spec and something breaks (or works beautifully), I’d love to hear about it. Drop a comment or open an issue. Thanks for reading!
Comments
No comments yet. Start the discussion.