Skip to content

FAQ

Answers to common questions about openapi-mcp-generator, Swagger support, hosting, credentials and MCP Cloud.

By Updated

Is it free?#

Yes. openapi-mcp-generator is MIT-licensed and free to use and self-host forever.

Which spec versions are supported?#

OpenAPI 3.0 and later, in JSON or YAML, from a file path or a URL.

Can I use a Swagger 2.0 file?#

Not directly. Since 5.0.0 the generator refuses Swagger 2.0 files with a clear error. Convert it to OpenAPI 3 first:

bash
npx swagger2openapi swagger.json -o openapi.json

What Node.js version do I need?#

The generator needs Node.js 22.19 or later. Generated projects need Node.js 22 or later.

Does the generator host my server?#

No. It writes a project you run yourself: locally, on your own servers, or on your own Cloudflare account. A hosted option, MCP Cloud, is in private beta and not live.

Where do my API credentials go?#

Into environment variables (.env) for Node transports, or Wrangler secrets for Workers. They are not written into the generated source. See Authentication.

Is my deployed server private?#

Not by default. HTTP and Worker endpoints are public unless you generate them with --inbound-auth bearer and set a token. See Security model.

My API has hundreds of endpoints. What should I do?#

Expose only what the agent needs with x-mcp and --default-include false. See Large APIs.

How do I try my server without installing a client?#

Open your server's root URL (for example http://localhost:3000/) for the built-in playground, or use the hosted playground for deployed servers. See Test in the browser.

Why are some tool names shortened?#

Some clients cap tool names at 64 characters. Longer names are abbreviated, then hash-truncated if needed. Change the limit with --max-tool-name-length.

Can I edit the generated code?#

Yes. It is a normal TypeScript project. Note that re-running the generator with --force overwrites files in the output directory.

How do I contribute?#

Fork the repository, create a feature branch, run npm run format.write, and open a pull request.