One interface, every protocol

(openbindings.com)

25 points | by clevengermatt 4 hours ago ago

3 comments

  • clevengermatt 4 hours ago

    Hi HN. OpenBindings is an open spec for describing what a service does once and binding it to any protocol. You define operations with input/output schemas, then point at your existing OpenAPI doc, proto file, MCP server, or whatever else. The spec doesn't replace any of them. They're inputs.

    The short version of why: programming languages have had interfaces and duck typing forever. You code to a shape, not an implementation. The web never got a successful equivalent at the network boundary. OpenBindings is an attempt at that.

    What's here today: - The spec (v0.1.0): https://openbindings.com/spec - ob CLI: https://github.com/openbindings/ob - Go SDK: https://github.com/openbindings/openbindings-go - TypeScript SDK: https://github.com/openbindings/openbindings-ts - Binding executors for different protocols

    Fastest way to try it: brew install openbindings/tap/ob ob demo

    That starts a coffee shop service on six protocols. `ob op exec localhost:8080 getMenu` calls it. The CLI discovers the OBI (OpenBindings Interface) at /.well-known/openbindings and handles the rest.

    Would love feedback on the spec design.

    • mindcrime 4 hours ago

      Huh. This sounds really interesting. Will definitely give it a look later this evening. At first blush, this sounds like something I could use.

      • clevengermatt 3 hours ago

        Thanks! Happy to answer any questions if you're interested. The ob demo is the fastest way to see it end to end. Starts a service on six protocols and lets you call it from the CLI.