Cloudflare announced Forge on 2026-09-28 as an open-source, free-to-self-host pipeline for generating SDKs, CLIs, docs, and libraries, explicitly pitching it against the need for a paid SaaS product. Before any comparison with OpenAPI Generator or SaaS generators, note the evidence limits: the only shipped output named today is the cf CLI; the announcement also states, in the present tense, that Forge can generate Cap’n Web from an OpenAPI spec; multi-language SDKs and Terraform support are stated roadmap items; and figures like “over 3,500 API operations” are vendor-reported and unverified.
Agents are the customer now
The motivation in Cloudflare’s announcement post is not developer ergonomics for its own sake. Cloudflare states it built Forge “because we needed it ourselves in order to treat agents as our customers,” and argues that CLIs, API SDKs, MCP servers, and good docs “used to be” table stakes only for developer products and are now table stakes for every product. That framing matters for how you should evaluate the tool: the buyer of your generated surfaces is increasingly an LLM writing code against them, not a human reading them.
This is a theme Groundy has tracked from the demand side: our coverage of Cloudflare’s WebMCP security baseline made the related point that an agent-facing endpoint is a new authenticated API surface rather than a crawler-rules extension, one the operator owns whether they wanted it or not. Forge is the supply-side answer to the same shift. If agents are the ones consuming your API, hand-maintained SDKs in three languages stop being economically rational, and the question becomes which generation pipeline you trust to produce and maintain those surfaces.
What Forge demonstrates today, and what is design intent
According to the announcement, Forge takes OpenAPI as an input today and, in Cloudflare’s words, “we’ve designed it to allow AsyncAPI, GraphQL, Cap’n Proto, Protobuf, or other input formats in the future.” It also supports chaining targets, where one target’s output produces others; Cloudflare notes this is “common in other generators where the CLI and Terraform targets are produced from the Go SDK.” The outputs Cloudflare names as already generated are the output required for its cf CLI and, stated in the present tense, Cap’n Web: the announcement says Forge “makes it possible to take an OpenAPI spec and generate Cap’n Web directly.” All of it runs against an API the company describes as having over 3,500 operations across hundreds of services in Rust, Go, TypeScript, and Python.
Two claims deserve care. First, the announcement states Forge is available “open source under the permissive Apache 2.0 license,” free to deploy and run yourself; confirming that the repository’s license file matches is ordinary diligence before you depend on it, but the identifier is named. Second, everything beyond the cf CLI and the stated Cap’n Web capability is stated intent. Multi-language SDK output, Terraform generation, and non-OpenAPI inputs are architecture promises, not shipped behavior. That is not a criticism of the launch; it is the correct posture for a two-day-old project.
The axes that actually decide the pipeline choice
Strip the launch framing away and a generation pipeline decision comes down to a short list of questions, each of which you can answer for any candidate, including Forge, OpenAPI Generator, or a SaaS service. No source in this article documents OpenAPI Generator itself, so treat it as a candidate to score with these same questions rather than as a head-to-head comparator.
- Artifact coverage. Which surfaces does it emit today, versus on a roadmap? For Forge, that is the cf CLI today, with multi-language SDKs and Terraform stated as coming. For your incumbent, check what you actually ship, not what the feature matrix lists.
- Input specs. OpenAPI is the common denominator. If your estate includes event-driven or RPC surfaces, AsyncAPI, GraphQL, or Protobuf input support moves from nice-to-have to gate. Forge declares these as design intent.
- Chaining. Can you generate a CLI or Terraform provider from a generated SDK rather than from the spec again? Chaining concentrates spec-curation effort in one place and is, per Cloudflare’s own account, a pattern other generators already use.
- Self-hosting economics. A pipeline you deploy yourself converts a per-seat or per-SDK subscription into infrastructure and maintenance time. “Free to run” is not free to operate; budget for spec curation, template maintenance, and CI integration.
- Versioning discipline. Who pays when the API breaks? This deserves its own section below.
- MCP output quality. Also its own section, because it is the artifact most directly aimed at agents and the easiest to test today.
MCP output is the first gate, and it is already commoditized
Before evaluating Forge’s MCP ambitions, note that the narrow slice of this problem is solved many times over. Taskade open-sourced a utility that, per its Hacker News announcement, converts OpenAPI 3.x specs into MCP tools in seconds and works with Claude, Cursor, and any MCP-compatible client. The SoftwareSavants openapi-to-mcp project goes further and documents a decision axis that Cloudflare’s post does not discuss: transport and authentication modes. Its generated servers support Stdio with API key auth (the default, aimed at local clients like Claude Desktop), HTTP with OAuth 2.1 (production, multi-user deployments), and SSE with API key auth (dev and browser clients).
That trio is a concrete acceptance test for any pipeline’s MCP output, Forge included. A generated MCP server that only speaks Stdio with an API key is fine for an agent running on one developer’s laptop; it is not a production surface for multi-user agent access, where you want OAuth 2.1 over HTTP and per-tool scoping. Groundy’s earlier piece on WebMCP endpoints recommended treating any agent-facing surface as a new authenticated API, with real OAuth in front of anything account-scoped or write-capable; the same standard applies to whatever your pipeline emits.
The practical consequence: do not adopt a full pipeline just to get an MCP server. The MCP slice is available as a one-command utility today, so the pipeline decision should be justified by the harder artifacts (versioned SDKs across languages, a chained CLI, docs that stay in sync) and by versioning behavior, not by MCP generation alone.
The versioning tax: drift is where pipeline ROI is decided
Cloudflare’s post is unusually candid about why generation pipelines exist, using its own API as the cautionary example. The company states that its v4 API has been its one major version for 10 years, that it has made “quite a few changes worthy of a new major version” by SemVer definitions during that time, and that several operations carry internal “v2” tags or “beta” identifiers that long outlived their lifecycle. This is Cloudflare’s self-assessment of its own API, but the pattern is familiar to anyone who has maintained a long-lived REST surface: the spec and the reality diverge, and the divergence accumulates silently until someone regenerates the clients.
Why does this matter more when agents are the consumers? Because LLM-generated code is brittle to SDK drift. An arXiv benchmark of API drift in LLM-generated code evaluated 17 models across 50 tasks with 3 samples per prompt, yielding 450 generated samples and 1,350 executions per model when each sample ran in all three environments. The study’s finding, in brief, is that successive SDK versions break model-written code: patterns the model learned against one version fail against another. The study’s domain is quantum SDKs rather than REST APIs, so treat it as measured evidence about the failure mode, not as a direct measurement of Forge’s output. But the mechanism generalizes. An agent will not consult your migration guide unless you put it in its context, and even then recovery is partial: the same study found documentation-guided repair succeeds for only 0.19 to 0.59 of attempts, working far better for some version transitions than others. Absent that guidance, a model reproduces whatever API shape was most common in its training data or retrieved context.
This is the counterweight to the launch narrative. Generating more SDKs faster does not reduce the breaking-change cost; it can amplify it, by shipping fresh versions of a spec that still contains stale operations. The pipeline shifts work from writing per-language SDKs to curating specs and review gates: which operations are deprecated, which beta tags have outlived their products, which changes warrant a major version. If your team lacks that discipline today, a generation pipeline will faithfully automate the mess. Teams already giving agents disposable Cloudflare credentials, as in our coverage of temporary agent accounts, are exactly the teams for whom drift cost lands fastest.
How the options stack up on the evidence available
The table labels what is vendor-reported versus documented versus unknown.
| Decision axis | Forge (per Cloudflare’s announcement) | OpenAPI-to-MCP utilities (documented) | Incumbent generator or SaaS (evaluate yourself) |
|---|---|---|---|
| Demonstrated output today | cf CLI, plus a stated present-tense capability to generate Cap’n Web from an OpenAPI spec | TypeScript MCP server from any OpenAPI spec, one command | Your shipped artifacts are the evidence |
| Multi-language SDKs | Stated roadmap item | Not in scope | Verify per-language maturity, not just “supported” |
| Terraform output | Stated roadmap item | Not in scope | Verify whether it chains or regenerates |
| Input specs | OpenAPI today; AsyncAPI, GraphQL, Cap’n Proto, Protobuf by design | OpenAPI 3.x | Verify spec-version coverage |
| MCP transport/auth modes | Not detailed in the announcement | Stdio/API key, HTTP/OAuth 2.1, SSE/API key | Test against the three-mode standard |
| License and hosting cost | Apache 2.0, stated in the announcement; free to deploy and run yourself | Open-sourced on GitHub | Self-hosted vs subscription; total cost includes curation time |
| Versioning story | Motivating concern, per Cloudflare’s own v4 history | None; regenerate on spec change | Ask how breaking changes flow to released SDKs |
The third column is deliberately blank where the evidence is. Filling it for any candidate, open source or hosted, requires that tool’s documentation and, ideally, a trial against your own spec; repeating marketing claims here would be the same sin as repeating Cloudflare’s.
A pre-adoption checklist for any early-stage pipeline
Whether you pilot Forge or the next announced pipeline, these gates are cheap and most are answerable in an afternoon.
- Run it against your own spec, not the vendor’s. Cloudflare’s cf CLI is generated against an API its authors control. Your spec has different shapes, different auth, and worse hygiene. The pilot is only informative on your input.
- Read the license file. The announcement names the permissive Apache 2.0 license, which settles intent. Confirm the repository’s license file matches, and check whether templates and generated output carry obligations.
- Test the agent-consumed output, not just compilation. Point a coding agent at the generated CLI or MCP server and let it complete real tasks. A pipeline can produce code that compiles and still confuses the models that will consume it; the drift benchmark above is evidence that this failure mode is real and measurable.
- Check the breaking-change path. Introduce a deliberate breaking change in a copy of your spec and watch what the pipeline produces: new major version, silent overwrite, or error. This single test tells you more about long-term cost than any feature list.
- Scope the pilot to one artifact. A CLI or an MCP server from one OpenAPI spec. Do not migrate language SDKs first; that is the highest-breadth, highest-risk surface.
- Price the curation work. Someone must own spec hygiene, deprecation review, and release gating. If nobody owns that today, the pipeline’s real cost is creating the role, not running the tool.
Verdict: pilot one artifact, keep the incumbent for breadth
The evidence supports a bounded pilot, not a migration. Pilot Forge on a single OpenAPI-backed artifact, a CLI or an MCP server, and keep your current generator for the surfaces Forge has not yet demonstrated. Gate any wider adoption on three things: demonstrated multi-language SDK and Terraform output (roadmap items today), the repository’s license matching the Apache 2.0 terms the announcement states, and your team’s demonstrated discipline for breaking API changes, because the drift research shows that is where agent-facing SDK costs are actually paid.
This article’s only source for Forge’s capabilities is Cloudflare’s announcement. There is no independent evaluation, no head-to-head with an incumbent generator, and no measurement of Forge on any spec but Cloudflare’s. Two days after launch, the right comparison is not Forge versus anything; it is your spec’s hygiene versus the pipeline’s assumptions, tested on one artifact before you bet the rest.
Frequently Asked Questions
What is the license for Cloudflare Forge?
the announcement states Forge is available “open source under the permissive Apache 2.0 license,” free to deploy and run yourself; confirming that the repository’s license file matches is ordinary diligence before you depend on it, but the identifier is named.
What MCP transport and authentication modes are supported by openapi-to-mcp utilities?
Its generated servers support Stdio with API key auth (the default, aimed at local clients like Claude Desktop), HTTP with OAuth 2.1 (production, multi-user deployments), and SSE with API key auth (dev and browser clients).

Join the discussion
Share a useful perspective or ask a question about this article.