Agent Interoperability.
By Design.
Expose a manifest. Any AI agent discovers your service, reads what commands it accepts and what events it produces, and starts interacting — no custom integration required.
Capabilities
Built for agent interoperability
OAP defines composable capabilities that any agent can expose and any consumer can discover — over REST, MCP, or A2A.
Agent Discoverable by Default
Expose /.well-known/oap and your service becomes automatically discoverable and usable by any AI agent — no custom integration, no bespoke connector, no docs to read.
Commands
GET /commands returns every accepted command type with its versioned schema URI. POST a CloudEvent to ingest — validated and queued asynchronously.
Events
GET /events exposes what a service has published — filterable by type or correlation ID. Push delivery via webhook, MCP notification, or A2A message.
CloudEvents Wire Format
Commands and events both use the CloudEvents 1.0 spec — a CNCF standard for describing event data in a common way, with SDKs across every major language.
Instant LLM Integration
Implement OAP and get MCP for free. Point oap-mcp at any OAP-compliant API and every LLM client — Copilot, Claude, ChatGPT — immediately discovers commands, reads state, and sends requests.
Any Agent. Any Context.
A temperature sensor, a smart building controller, a freelance translator, a legal review, an approval workflow — if it accepts commands and produces results, it is an OAP service. No AI required behind the curtain.
See it in action
Discovery manifest
Every OAP endpoint exposes a /.well-known/oap manifest. Consumers discover agents, capabilities, and transports in a single request.
{
"oap": {
"version": "0.4.8",
"services": {
"io.oap.agents": {
"version": "0.4.8",
"description": "Service registry, command ingestion, published events",
"rest": {
"endpoint": "https://api.example.com/"
}
}
},
"capabilities": [
{
"name": "io.oap.agents.commands",
"version": "0.4.8",
"description": "Command catalogue and ingestion",
"spec": "https://openagentprotocol.io/specs/agents/commands",
"schema": "https://openagentprotocol.io/v1/schemas/agents/commands.json"
}
],
"services": [
{
"id": "negotiation",
"name": "Contract Negotiation",
"accepts": ["ProposeCounter", "AcceptContract"],
"produces": ["CounterProposed", "ContractAccepted"],
"status": "running"
}
]
}
}Designed for everyone
Who is OAP for?
For Developers
Build command-and-event services on an open foundation. JSON Schema definitions, OpenAPI specs, and transport bindings — everything you need to implement OAP.
For Businesses
Expose your services to any agent in the world. No bespoke integrations — just a manifest describing what you accept and produce.
For AI Platforms
Discover and interact with any OAP-compliant agent using MCP, A2A, or simple REST. Compatible with existing agent frameworks.
For IoT & Sensors
Even a temperature sensor can be an OAP service — it accepts commands and publishes events, and any caller can discover it via the manifest.
Get started today
OAP is open-source under Apache 2.0. Explore the spec, read the schemas, and start building.