I turned a real OpenAPI into an MCP server in 5 min (without losing custom code on regen) A developer released MCP-Generator 2.1.5, an open-source CLI that converts OpenAPI specs into MCP servers for TypeScript, Python, and Go. The update replaces the one-endpoint-per-tool approach with tag-based grouping that collapses 200 operations into roughly 8 tools, and adds marker-based 3-way merge so custom handler code survives regeneration. The project reports validation via npm run build and 196 tests across 11 suites. I built an OpenAPI to MCP server generator for TypeScript, Python and Go. The v1 mistake: 1 endpoint = 1 tool. On a real API with 200 operations, you get a 200-tool server. Nobody can use that. That was the exact feedback I got on Reddit, and it was right. What I changed in 2.1.5: 200 operations across 8 tags become ~8 tools. Each group routes internally by action . node dist/cli/index.js generate -i api.yaml -o ./out --group-by tag node dist/cli/index.js generate -i api.yaml -o ./out --include-tags pets --group-by tag Filter before you generate Only generate what you will use: node dist/cli/index.js generate -i api.yaml -o ./out --path-prefix "/users/ " node dist/cli/index.js generate -i api.yaml -o ./out --include-paths "/users/ ,/orders/ Regen without losing custom code Your code lives between markers and survives regen with a 3-way merge: // @@mcp-gen:start:get pets const user = await db.users.findById args.id ; return { content: { type: "text", text: JSON.stringify user } }; // @@mcp-gen🔚get pets node dist/cli/index.js generate -i api.yaml -o ./out --incremental Reusable logic goes in handlers.custom. — never overwritten without --force. Fase 0 P0 fixes in 2.1.5 TypeScript: real query serialization get pets { limit: 5 } - /pets?limit=5 Python: build query / build headers in --http mode, including grouped tools Go: --http wired to the real APIClient, no more not yet wired stubs Registry is v3-only with actionable errors for removed keys and v2 specs Try it with the repo example git clone https://github.com/ChristopherDond/MCP-Generator.git https://github.com/ChristopherDond/MCP-Generator.git cd MCP-Generator npm ci npm run build node dist/cli/index.js generate -i examples/petstore.yaml -l typescript -o ./my-server node dist/cli/index.js validate -i examples/petstore.yaml Or install directly: npm install -g @christopher dondici/ mcp-gen@2.1.5 mailto:mcp-gen@2.1.5 Repo: https://github.com/ChristopherDond/MCP-Generator https://github.com/ChristopherDond/MCP-Generator Validated with npm run build + npm test 11 suites, 196 tests .