Getting Started
Install the CLI, create an interface from an existing API spec, execute an operation, and generate a typed client. Under five minutes, zero configuration.
1 Install
bash <(curl -fsSL https://raw.githubusercontent.com/openbindings/ob/main/scripts/dev-install.sh) Installs to ~/.local/bin. Override with OB_BIN_DIR="$HOME/bin". Requires Go 1.25+.
2 Create an interface from an API spec
Point ob create at any OpenAPI, AsyncAPI, gRPC proto, MCP server, or GraphQL
endpoint. It extracts operations and schemas into an OpenBindings Interface (OBI).
ob create ./openapi.json -o interface.json Format is auto-detected. To be explicit: ob create openapi@3.1:./openapi.json -o interface.json
3 Execute an operation
The OBI knows which operations exist and how they're bound. ob resolves the
binding, makes the call, and returns the result.
ob op exec interface.json listUsers You never write protocol-specific code. ob dispatches to the right executor
(OpenAPI, gRPC, MCP, etc.) based on the binding.
4 Generate a typed client
ob codegen interface.json --lang typescript -o client.ts
ob codegen interface.json --lang go -o client.go --package myapi The generated client has a typed method for each operation. At runtime, it uses the OBI's bindings to route calls through the appropriate protocol.
5 Serve as MCP tools
Expose any interface as MCP tools that AI agents can discover and call.
ob mcp ./interface.json Every operation becomes an MCP tool. Works with Claude, Cursor, Windsurf, and any MCP-compatible client.
Next steps
CLI reference
All 22 commands: create, sync, execute, codegen, serve, conform, validate, and more.
Read the spec
The full specification: operations, bindings, compatibility, transforms, security.
Why OpenBindings?
What problem it solves and how it compares to using OpenAPI, MCP, or gRPC alone.
Role interfaces
Shared contracts for hosts, executors, context stores, and more.