Dosu captures knowledge automatically from coding agent sessions, keeps documentation updated when source code changes, and connects GitHub, Confluence, Notion and Slack into one source of context. It states 50% fewer tokens burned, 2x faster agent performance and 200k+ engineers using it.
Stainless
Stainless generates idiomatic client libraries in seven languages, documentation that tracks the API, and MCP servers, all derived from an OpenAPI specification. Its homepage announces that the company is joining Anthropic.
Stainless: What Comes Out Of An OpenAPI Spec
- SDKs in seven languages — TypeScript, Python, Go, Java, Ruby, C# and PHP.
- Documentation that tracks the API rather than being maintained separately.
- MCP servers as a first-class output, so agents can call the API too.
- One source of truth: everything derives from the OpenAPI specification.
- Joining Anthropic, announced on the homepage with a linked statement.
Stainless: Generated SDKs That Read Like Handwritten Ones
The positioning is a single sentence with a claim inside it: best-in-class interfaces for developers and agents, because great agent experience is built on great developer experience.
The deliverables are robust, idiomatic SDKs, documentation that keeps up with your API, and state-of-the-art MCP servers, all derived from an OpenAPI spec.
The word carrying the weight is idiomatic, and it is where generated SDKs have historically failed.
Older generators produced code that was technically correct and obviously machine-made: Java-shaped method names in Python, no type hints, exceptions that did not follow language conventions, and a call signature nobody would have written by hand.
Developers can tell within thirty seconds, and the reaction is not aesthetic — it is a reasonable inference that if the interface was not designed, the error handling probably was not either.
The example on the homepage is instructive, because it is the client library for a well-known AI provider written the way a person would write it: an environment-variable key, an options object, an awaited call. That is the standard being claimed.
Developers can spot a generated SDK in thirty seconds, and the reaction is not aesthetic. If the interface was not designed, they assume the error handling was not either.
Idiomatic Code In Seven Languages
Seven languages is the specific number, and each one carries its own conventions that a generator has to honour rather than translate.
Python expects snake_case, type hints and context managers. TypeScript expects discriminated unions and precise generics. Go expects explicit error returns rather than exceptions. Java expects builders. Ruby expects blocks.
A generator that emits the same structure into every language produces seven libraries that each feel foreign in their own ecosystem, which is the outcome that gave code generation its reputation.
Doing it properly means encoding real knowledge of each language's idiom, and that is engineering work rather than templating work — which is why this is a product rather than a script.
The practical payoff for an API provider is coverage. Maintaining seven hand-written SDKs means seven repositories, seven release processes and seven sets of maintainers who each need to care. Most companies manage two well and let the rest decay. Documentation platforms such as GitBook solve the neighbouring half of the same problem.
Why Do Hand-Written SDKs Fall Behind?
The failure is not neglect. It is that an SDK is a copy of an interface, and copies drift from originals unless something forces them not to.
The sequence is always the same. An API adds a field. The TypeScript SDK gets updated because the team that shipped the change uses it. Python follows a week later. Go and Ruby are maintained by whoever volunteered eighteen months ago, and one of them has left.
Six months on, four libraries expose four slightly different versions of the same API, and the documentation describes a fifth.
The cost lands on developers who cannot tell whether a missing parameter is a limitation of the API or of the client library they happen to be using, and it lands as support tickets and abandoned integrations.
Generating from a specification removes the possibility rather than the temptation. The spec changes, everything regenerates, and there is no window in which the pieces disagree. This is the same argument for keeping documentation generated too, and the reason both appear in one product.
- Treat the OpenAPI spec as the artefact that must be correct.
- Regenerate on every API change rather than on a release cadence.
- Check the generated code reads idiomatically in each language you ship.
- Ship an MCP server alongside the SDKs, not months later.
- Confirm long-term plans with the vendor given the Anthropic announcement.
MCP Servers As A First-Class Output
The framing on the homepage is that great agent experience is built on great developer experience, with MCP servers listed beside SDKs and documentation rather than as an add-on.
That ordering reflects something that has changed genuinely quickly.
For twenty years the consumer of an API was a developer reading documentation and writing code. Increasingly it is an agent that needs a machine-readable description of what operations exist, what they require and what they return — which is what MCP standardises.
An API without an MCP server is now invisible to a growing class of consumer, in roughly the way a site without structured data became invisible to certain search features.
Generating the MCP server from the same specification is the obviously correct approach, because the alternative is hand-maintaining yet another surface that will drift. It also means an API's agent interface improves whenever its spec does, without anyone deciding to work on it. Teams already versioning what they send to models, as PromptLayer does for prompts, will recognise the pattern: put the definition in one place and generate every consumer from it.
Joining Anthropic: What The Announcement Says
The homepage carries a short statement: Stainless is joining Anthropic, to continue our mission to make software better for everyone, with a link to the full announcement.
We report this as a fact published on the company's own site, and nothing beyond it.
It matters to a reader because SDK generation is infrastructure. Choosing it means an API's public interface — the thing customers integrate against and cannot easily migrate away from — depends on a vendor's continuity.
Any acquisition raises ordinary, answerable questions: whether the product remains available to companies unrelated to the acquirer, what happens to existing contracts, and what the support commitment looks like. None of those are answered on the homepage, and all are reasonable to put to the company directly.
The customer list gives some context for the stakes: Cloudflare, Letta, Lithic, Modern Treasury, MUX, OpenAI, Replicate, Turbopuffer and Weights & Biases are named on the site. That is a serious set of API-first companies, and the sort of list that suggests the generated output holds up in production. Developer-facing tools like Dosu occupy adjacent ground without touching the client libraries themselves.
Publishing An API Developers Will Adopt
An API is adopted or abandoned in the first twenty minutes, and almost all of that is determined by the client library and the documentation.
This order gets those right before anything else.
- Get the OpenAPI specification correct — everything downstream inherits its mistakes.
- Generate for the two languages your users actually use before adding five more.
- Read the generated code as a developer in that language would.
- Wire regeneration into the API release process, not a separate schedule.
- Ship the MCP server at the same time as the SDKs.
- Ask the vendor about continuity before making it load-bearing.
Stainless: Outputs And Customers
| Category | API developer tooling: SDK, documentation and MCP generation |
|---|---|
| Input | An OpenAPI specification |
| SDK languages | TypeScript, Python, Go, Java, Ruby, C# and PHP |
| Documentation | A docs platform stated to keep up with the API |
| Agent support | MCP servers described as a state-of-the-art output |
| Stated goal | Best-in-class interfaces for developers and agents |
| Named customers | Cloudflare, Letta, Lithic, Modern Treasury, MUX, OpenAI, Replicate, Turbopuffer, Weights & Biases |
| Getting started | Account creation and a CLI quickstart |
| Resources | Documentation, changelog, plans and pricing, blog and FAQ |
| Corporate news | Homepage states Stainless is joining Anthropic, with a linked announcement |
| Company | Stainless Software, Inc., per the 2026 footer copyright |
| Legal | Terms and conditions and a privacy policy published in the footer |
Key features of Stainless
SDK generation in seven languages
Idiomatic output following each language's conventions
Documentation generated from the same specification
MCP server generation for agent consumers
Regeneration driven by specification changes
A CLI for quick setup
A published changelog
Support for API-first production workloads
Pros & cons
Pros
7- Removes SDK drift structurally rather than through discipline
- Idiomatic output is the specific failure that discredited older generators
- Seven languages is coverage most API teams cannot maintain by hand
- Documentation generated from the same source cannot describe a stale endpoint
- MCP treated as a first-class output rather than a later addition
- The named customer list is a serious set of API-first companies
- One specification to keep correct instead of many artefacts
Cons
7- Everything inherits any error in your OpenAPI specification
- Unusual interfaces may not express cleanly in a spec
- The Anthropic announcement leaves continuity questions unanswered publicly
- Little benefit for an internal API with one controlled client
- The homepage is minimal, with most detail behind documentation
- How far generated code can be customised is not described publicly
- Adopting it makes a vendor part of your public developer interface
Best For
- API-first companies shipping to external developers
- Teams maintaining client libraries in several languages
- Developer experience owners fighting documentation drift
- Platforms that need to be callable by agents
- Startups without capacity to staff seven SDK repositories
Stainless Beside Other Developer Tooling
Developer platform tools differ by which artefact they own.
| Tool | Produces | Source of truth | Best for |
|---|---|---|---|
| Stainless | SDKs, docs and MCP servers | Your OpenAPI spec | API companies shipping many languages |
| GitBook | Documentation sites | Your written content | Docs as a product surface |
| PromptLayer | Prompt versions and evals | A prompt registry | Managing what you send to models |
| Dosu | Answers about your codebase | Your repository | Reducing maintainer support load |
| Hand-written SDKs | Whatever you maintain | Whoever last edited it | One language, done deliberately |
Should You Generate Your Client Libraries?
Generate the SDKs when
- You publish an API that external developers integrate against.
- You need more than two languages and cannot maintain them all.
- Your documentation and your SDKs already disagree somewhere.
- Agents are becoming a real consumer of your API.
- You keep an accurate OpenAPI specification already.
Write them by hand when
- Your API is internal and consumed by one client you control.
- You ship a single language and maintain it carefully.
- Your interface is too unusual to express in a specification.
- You cannot commit to keeping the spec correct.
- Vendor continuity is a blocker you cannot resolve.
More API And Developer Platform Tools
Other tools for teams shipping software other developers build on.
- GitBook — documentation as a product surface
- PromptLayer — versioning what you send to models
- Dosu — answering questions about your codebase
- CodeScene — measuring health as a codebase grows
- Qodo — review and governance across repositories
Stainless: Read From The Developer Pages
Last checked . Read from stainless.com in a browser session on the date above, with the screenshot captured at the same time.
- Positioned as best-in-class interfaces for developers and agents
- Stated that great agent experience is built on great developer experience
- Outputs described as robust idiomatic SDKs, documentation that keeps up, and MCP servers
- All outputs stated as derived from an OpenAPI specification
- Seven SDK languages shown as tabs: TypeScript, Python, Go, Java, Ruby, C# and PHP
- A sample generated client library displayed on the homepage
- A homepage statement that Stainless is joining Anthropic, with a link to the announcement
- Products listed as SDKs, a docs platform and MCP
- Named customers listed including Cloudflare, Modern Treasury, MUX, OpenAI and Weights & Biases
- Getting started offered as account creation, a CLI quickstart and contact sales
- Resources listed as documentation, changelog, plans and pricing, blog and FAQ
- Footer showing Stainless Software, Inc. with a 2026 copyright, terms and conditions and a privacy policy
What we could not confirm: what the Anthropic announcement says beyond the homepage line, since we did not follow it; what the acquisition means for availability, existing contracts or support commitments; how much of each generated SDK is customisable; which OpenAPI versions and extensions are supported; and pricing. We did not generate an SDK or connect a specification.
Editor's Verdict
4.4/5Stainless solves a problem that is boring, universal and quietly expensive: an API team ships a change, six client libraries fall behind, and the SDK a developer installs no longer matches the documentation they are reading. Generating all of it from one specification makes drift structurally impossible rather than merely discouraged. Treating an MCP server as a first-class output alongside SDKs is the forward-looking call, because agents now consume APIs as heavily as people do. Its homepage announces that the company is joining Anthropic, which anyone planning around it should factor in. AInexfinder Editor Score: 4.4/5.
Stainless pricing
AInexfinder does not list plan prices or billing details. For current pricing, plans, and trials, visit the official Stainless website.
Visit official website for pricingVendor pricing, credits, and billing policies change over time. Always confirm on the official site before you buy.
Frequently asked questions
What does Stainless do?
Why do hand-written SDKs fall behind?
What does idiomatic actually mean here?
Why generate an MCP server?
Is Stainless being acquired?
Should the acquisition change my decision?
What if my OpenAPI spec is wrong?
Which languages are supported?
Who uses it?
When is generation the wrong choice?
Reviews
Log in to write a review.
User Reviews
No reviews yet. Be the first to share your experience with Stainless.
Reviewed by Daniel Reed
Assigned reviewer
Daniel ReedSenior AI Tools Reviewer
Daniel reviews AI tools the slow way — by actually using them on real projects. His reviews cover what works, what breaks, and who each tool is genuinely a good fit for.
Daniel and the AInexfinder editorial team research Stainless using public product information, listing evidence, and (when available) hands-on checks. Scores reflect listing completeness and transparency — not paid placement.
- Last verified
- Methodology
- How we review AI tools
- Sources used
- stainless.com
- AInexfinder listing fields (features, pros/cons, description)
- Public vendor pages when available
- Editorial policy
- Listings may include affiliate or sponsored placements, which are labeled when present. Editorial scores and cons are not sold. See our affiliate disclosure and review methodology.
