Skip to content

openapi-mcp-generator vs Speakeasy

openapi-mcp-generator vs Speakeasy: generated TypeScript MCP servers, Speakeasy's hosted AI control plane, auth, curation, pricing and when to choose each.

By Updated

Disclosure: I maintain openapi-mcp-generator. Speakeasy facts below come from Speakeasy's own docs, pricing page and public repository, checked on 24 October 2026. I did not sign up for or run Speakeasy's CLI or platform.

TL;DR#

Choose Speakeasy if you are an API company shipping an MCP server to customers and want generation, hosting, managed OAuth, dynamic tool discovery, MCPB bundles and support from one vendor. Choose openapi-mcp-generator if you want a free, MIT-licensed generator with no account that writes a TypeScript project you own and deploy yourself. Speakeasy is two things (a standalone TypeScript generator and a hosted platform), so compare the part you would actually use.

What Speakeasy does better#

  • Hosting and governance. Speakeasy's AI control plane (the product formerly called Gram) can take an uploaded OpenAPI document, generate a tool for every operation, and run the MCP server with logs and access controls. openapi-mcp-generator has no hosted service you can use today.
  • OAuth for end users. Speakeasy documents authorization code flow with Dynamic Client Registration, an OAuth proxy for providers without DCR, and client credentials, and its product page advertises managed OAuth 2.1. openapi-mcp-generator 5.0.1 offers bearer-token inbound auth only.
  • Dynamic mode for large APIs. Generated Speakeasy servers can start with --mode dynamic, exposing list_tools, describe_tool, execute_tool and list_scopes instead of every tool. Its product page also advertises a code mode. openapi-mcp-generator has no equivalent yet.
  • Runtime scoping. Users can start a Speakeasy server with --scope read or --tool name to mount a subset without regenerating.
  • Distribution. Speakeasy generates an npm package, an optional Cloudflare Worker and an MCP Bundle (.mcpb) for drag-and-drop install in Claude Desktop.
  • SDKs alongside MCP. Speakeasy also generates SDKs (its November 2025 guide lists seven or more languages, a vendor claim). openapi-mcp-generator only generates MCP servers.

Comparison table#

Dimension Speakeasy openapi-mcp-generator
Language TypeScript MCP server (standalone generator) TypeScript MCP server
Model Codegen (speakeasy quickstart --mcp) and a hosted platform (AI control plane) Codegen only
OpenAPI versions Platform "works best" with 3.1.x and upgrades 3.0.x to 3.1.0 on upload; generator version support not verified 3.0.x and 3.1.x; 3.2.0 rejected and Swagger 2.0 refused (5.0.1, our test)
Transports stdio locally; on Cloudflare Workers /mcp and /sse endpoints stdio, Streamable HTTP, HTTP+SSE, Cloudflare Worker
Upstream auth Env vars in generated servers (e.g. API_TOKEN); platform environments for client credentials Per-operation from securitySchemes: API key, bearer, basic, OAuth2 client credentials and password grant, OIDC token; fails closed
Inbound auth OAuth via Cloudflare hosting or the platform (DCR, OAuth proxy, managed OAuth 2.1) --inbound-auth bearer, --header-passthrough
Tool curation x-speakeasy-mcp (disabled, name, title, scopes, description, hints); runtime --scope, --tool, --mode dynamic; platform curation x-mcp, x-mcp-title, x-mcp-annotations, tag and operation filters
Schema validation Zod response validation optional (validateResponse, default false); input validation details not verified Input validated with JSON Schema before every request; output enforced with --output-schema
Annotations Set per operation in x-speakeasy-mcp; documented defaults include destructiveHint: true, openWorldHint: true Derived from HTTP method, overridable with x-mcp-annotations
Hosting Your infrastructure (npm, Cloudflare, Docker per product page) or Speakeasy's platform Your infrastructure (Node or Cloudflare Workers)
Pricing / license Platform: pay as you go ($0.35 per million tokens of agent session storage, $0.99 per million tokens scanned for risk, $20 per GiB of MCP gateway egress) or Enterprise. Standalone generator pricing: not listed on the pricing page. CLI: Elastic License 2.0 Free, MIT, no account
Maintenance signals CLI v1.803.2 released 23 October 2026; docs updated 23 to 24 October 2026 npm 5.0.1 published 24 October 2026; 640 GitHub stars

Model: two Speakeasy products#

Speakeasy's standalone MCP generation is the closest match to openapi-mcp-generator. Both write a TypeScript server from your spec that you run yourself. Speakeasy's AI control plane is a different category: a hosted gateway and platform, priced by usage, aimed at organizations governing many MCP servers. If you want hosting and governance, compare Speakeasy against other platforms, not against a CLI. Speakeasy was not part of our open-source benchmark, which tested six self-hosted tools on the same specs.

Spec support#

Speakeasy's platform docs say it works best with OpenAPI 3.1.x and transparently upgrades 3.0.x documents to 3.1.0 on upload. I could not verify which versions the standalone generator accepts without running it. openapi-mcp-generator accepted 3.0.x and 3.1.x in our tests and refused Swagger 2.0 with a conversion hint.

Authentication#

This is where Speakeasy is strongest. Its OAuth guide covers DCR, an OAuth proxy and client credentials, though some proxy setups are arranged with Speakeasy's team. openapi-mcp-generator handles upstream credentials per operation and fails closed when they are missing, but leaves end-user OAuth on the MCP endpoint to a gateway for now.

Curation and large APIs#

Both use an OpenAPI extension to include, exclude and rename tools. Speakeasy adds scopes and a dynamic discovery mode chosen at server start, which matters for very large APIs. openapi-mcp-generator relies on generation-time filters and x-mcp.

Validation and output#

Speakeasy passes raw API responses through by default and can validate them with Zod when validateResponse: true. openapi-mcp-generator validates tool arguments before each request and returns JSON object responses as structuredContent; --output-schema declares and enforces output schemas.

Pricing and license#

openapi-mcp-generator is MIT and needs no account. Speakeasy's pricing page lists only AI control plane pricing as of 24 October 2026. It does not list a price for standalone MCP generation, so check with Speakeasy. Speakeasy's CLI repository is under the Elastic License 2.0, which is source-available rather than open source.

Who each is for#

  • Speakeasy: API companies that want a vendor to generate, host and secure a customer-facing MCP server, and enterprises governing many MCP servers.
  • openapi-mcp-generator: developers and teams that want a free generator, readable output and full control of hosting.

Switching#

  • Speakeasy to openapi-mcp-generator: translate x-speakeasy-mcp.disabled to x-mcp: false, title to x-mcp-title, and hint fields to x-mcp-annotations. Scopes have no runtime equivalent; generate separate servers with --include-tags instead. Credentials move to the environment variables in .env.example.
  • openapi-mcp-generator to Speakeasy: keep the spec, add x-speakeasy-mcp where you used x-mcp, and follow Speakeasy's quickstart. Tool names may change because Speakeasy derives default names from operationId and tags.

FAQ#

Is Speakeasy's MCP generator free? Not verified. The pricing page lists only the AI control plane as of 24 October 2026, and its hosted product page invites you to "deploy for free". Ask Speakeasy for standalone generation terms.

Is "Gram" still a product? Speakeasy renamed Gram to the AI control plane. Its November 2025 guide carries a note saying the product is the same under the new name.

Do both generate TypeScript? Yes. Both standalone generators produce TypeScript MCP servers.

Which handles OAuth for my users? Speakeasy, through Cloudflare hosting or its platform. openapi-mcp-generator currently offers bearer tokens and header passthrough.

Last verified 24 October 2026.

Sources#