Inox
  FIG.00 — STAINLESS ACQUIRED & WOUND DOWN · MAY 2026

One spec,
every SDK.

An OpenAPI spec compiled into idiomatic SDKs for six languages, an MCP server, and a CLI. Self-hosted, air-gapped, zero runtime dependencies — verified on every build.

6languages
0runtime deps
12/12real specs clean
FIG.01 — PIPELINESCALE 1:1
openapi.yaml SPEC · 1 INPUT TypeScript Python Go Java Ruby C# + MCP · CLI · TERRAFORM · DOCS
01

A real API. 13 lines. SDKs that compile.

No per-endpoint config. Inox auto-derives resources, methods, every schema, pagination, and auth straight from the spec.

terminal — openai.sdkgen.yml
# point it at OpenAI's real spec
inox generate -c openai.sdkgen.yml --target typescript --out out
cd out/typescript && npx tsc --noEmit       # 3,161 files, 0 errors
TAB.01 — generated TypeScript SDK · public specs · tsc --noEmit
APIOperationsTS filestsc errors
GitHub1,1866,8700
Stripe58711,3570
OpenAI2423,1610
DigitalOcean632560
Plaid3302,3240
Box2961,5350
Asana · Discord · Twilio · Adyen · Ory · SendGrid+60
02

Any API → agent tools

One zero-dependency MCP server per API (protocol 2025-06-18). It adapts to API size so big specs don't blow past client tool limits.

terminal — mcp
inox products -c openai.sdkgen.yml --out out
node out/mcp/dist/server.js --tools typed --scope read   # 100 read-only tools
MODE A

typed

One strongly-typed tool per endpoint, schemas straight from the spec.

MODE B

dynamic

Three meta-tools to discover & invoke endpoints — for large APIs.

MODE C

code

Constrained HTTP execute + search_docs, for code-writing agents.

Drop it into Claude Desktop, Cursor, or any MCP client — point it at the built server:

~/.../claude_desktop_config.json
{
  "mcpServers": {
    "petstore": {
      "command": "node",
      "args": ["/abs/path/sdk/mcp/dist/server.js", "--scope", "read"],
      "env": { "PETSTORE_API_KEY": "sk-..." }
    }
  }
}

Or run the generator itself as an MCP server so an agent can lint specs, diff the IR, and generate SDKs: inox mcp. Full reference in the docs.

03

How it compares

TAB.02 — capability matrix
InoxStainlessSpeakeasyFernOpenAPI Gen
Self-hosted / air-gapped✗ wound downpartialpartial
Zero-dependency runtime1 depdeps
Runtime conformance · 6 langs
SBOM + SLSA provenancepartial
MCP server from spec
Pricefree / OSSacquired$$$250/mofree
04

Running in a minute

bash — install the inox CLI
npm install && npm run build && npm link   # puts `inox` on PATH
inox init --force
inox generate --out sdk
inox verify  --out sdk                   # PASS × 6 languages

FAQ

Questions

Open-source, self-hosted alternative to Stainless?

Yes. Inox is a free, MIT-licensed, self-hosted OpenAPI SDK generator. Stainless was acquired and wound down its hosted generator in May 2026; Inox runs the same kind of pipeline on your own machine — air-gapped, zero runtime dependencies, verified on every build.

How do I generate an SDK from an OpenAPI spec?

Install with npx @crevious/inox, then inox generate --out sdk. Inox auto-derives resources, methods, schemas, pagination, and auth from the spec.

Which languages are supported?

TypeScript, Python, Go, Java, Ruby, and C# — each with a zero-dependency runtime.

Can it turn an API into MCP tools for AI agents?

inox products emits a zero-dependency MCP server (protocol 2025-06-18) so any OpenAPI API becomes agent-callable. See the docs.