Agentic Behaviours.
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.
spec/v0.9.1
Capabilities
Built for agent interoperability
Expose what your service does — the operations it accepts and the facts it produces — in a standard form any caller can discover and use. Over HTTP or MCP.
Discoverable by Default
Expose /.well-known/best and your service becomes immediately usable by any agent or LLM client — no custom integration, no bespoke connector, no onboarding docs. Capabilities, schemas, and transport bindings are all self-describing.
Behaviour, Not Resources
BEST is not REST. There are no resources to manipulate. Callers express named intents — commands like SignContract or SubmitOrder — and observe the facts that result. The domain language lives in the protocol, not buried in status-field patches.
Observable Event Log
Every BEST service exposes a queryable event log — filterable by type, source, time range, or correlation ID. Correlate results back to the command that caused them, build projections, or feed an AI agent with factual history instead of synthetic prompts.
Queries
Read the current state of a service without sending a command. GET /queries returns the query catalogue — each query is self-documenting with a JSON Schema for its parameters and response. Reads and writes are cleanly separated at the protocol level.
Instant LLM Integration
Implement BEST and get MCP for free. Point best-mcp at any BEST-compliant endpoint and every LLM client — Copilot, Claude, ChatGPT — immediately discovers commands, reads state, and sends requests. No custom tool definitions required.
Live Events & History
Subscribe to events the moment they are produced — or query what already happened. GET /events/stream opens a live SSE connection for real-time results. GET /events queries the historical log. Together they give you the complete picture, past and present.
See it in action
Discovery manifest
Every BEST endpoint exposes a /.well-known/best manifest. Consumers discover agents, capabilities, and transports in a single request.
{
"best": {
"version": "0.9.1",
"services": {
"io.best.agents": {
"version": "0.9.1",
"description": "Service registry, command ingestion, published events",
"http": {
"endpoint": "https://api.example.com/"
}
}
},
"capabilities": [
{
"name": "io.best.agents.commands",
"version": "0.9.1",
"description": "Command catalogue and ingestion",
"spec": "https://behavioralstate.io/specs/agents/commands",
"schema": "https://behavioralstate.io/v1/schemas/agents/commands.json"
}
],
"agents": [
{
"id": "negotiation",
"name": "Contract Negotiation",
"accepts": ["ProposeCounter", "AcceptContract"],
"produces": ["CounterProposed", "ContractAccepted"],
"status": "running"
}
]
}
}Designed for everyone
Who is BEST 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 BEST.
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 BEST-compliant agent using MCP or simple HTTP. Compatible with existing agent frameworks.
For IoT & Sensors
Even a temperature sensor can be a BEST service — it accepts commands and publishes events, and any caller can discover it via the manifest.
Get started today
BEST is open-source under Apache 2.0. Explore the spec, read the schemas, and start building.