DEV Community

56 Prince Pal
56 Prince Pal

Posted on

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_case names)
  • Handles auth automatically (API key, Bearer, etc.)
  • Outputs a clean, human‑readable Python script
  • Zero runtime surprises – just mcp and httpx

🚀 Quick start


bash
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!
Enter fullscreen mode Exit fullscreen mode

Top comments (0)