Introduction

Make Services discoverable to Agents

ODP lets Agents inspect a Service, find its Offerings, and identify the operations available after discovery.

Overview

The Offering Discovery Protocol (ODP) is an open protocol for discovering what a Service makes available. It gives Agents consistent, machine-readable resources for exploring a catalog before choosing an Offering or continuing to another operation.

ODP supports catalogs of different sizes and business models. A Service can publish a few Offerings or a marketplace-scale catalog, and those Offerings can describe physical goods, digital services, content, capacity, or other available resources.

How discovery works

The Service Document tells an Agent which operations the Service supports and where those operations are located.

01

Find a Service

Begin with a known origin or locate a candidate Service through a Directory.
02

Inspect the Service

Retrieve the Service Document from /.well-known/odp at the Service origin.
03

Read its capabilities

Use only the Collection and Offering operations advertised by the Service.
04

Explore the catalog

List, search, or retrieve authoritative catalog data directly from the Service.
05

Continue through an Action

Select an advertised Action, then satisfy any authentication or payment requirements enforced by its target before invoking it.
The Service remains authoritative

A Directory helps an Agent locate Services and compare indexed metadata. The Agent retrieves current catalog data from the Service itself.

Stable structure, flexible Offerings

ODP defines a small set of recognizable resources while allowing each Service to describe its own domain.

Service

The organization or application being discovered.

Collections

Optional groupings that help an Agent navigate a catalog.

Offerings

Descriptions of what the Service makes available.

Actions

The operations an Agent can perform next.

Attribute Schemas

Service-defined structure for specialized Offering data.

Protocol composition

ODP describes what is available and where the next operation begins. Complementary protocols handle the responsibilities that follow discovery.

AEP

Enrolls Agents with Services and defines authentication methods; reusable credentials are optional.

MPP and x402

Handle payment for protected resources.

Trust protocols

Communicate trust-related capabilities.

MCP

Exposes agent-oriented tools through advertised endpoints.

Official SDKs

Official SDKs implement the Agent, Service, and Directory integration roles in five languages. Choose the language used by your application, then install only the package or module required for its role.

Go

Use the Go packages to discover Services, navigate catalogs, or publish an ODP Service with net/http.

Java

Use the Java modules and bill of materials for Agent, Service, or Directory applications.

Node.js

Use the TypeScript packages for Agent, Service, Directory, and shared protocol behavior.

Python

Use the Python distribution's role modules to consume or expose ODP.

Rust

Use the Rust crates for asynchronous Agent and Directory clients or Service integration.

Roadmap

The ODP roadmap explores carts, quotes, orders, delivery, and other ways Agents could interact with a Service's existing commerce systems. Read the proposals and share what your integration needs.

Choose your path

Agent developers

Consume ODP

Start with a Service origin, inspect its capabilities, and navigate the operations it advertises.

Discover a Service
Service developers

Publish ODP

Publish a Service Document and expose the catalog operations your Service supports.

Build a Service

New to the terminology? Start with Core concepts.