Documentation

Behavioral State Protocol — a standard interaction surface so any caller can discover a service, send it commands, and get the results back.

Caller
Any Caller
app · agent · IoT · human
Command
→
BEST Endpoint
Your Implementation
/.well-known/best
Event
→
Consumer
Any Agent
LLM · app · UI · agent
1
Expose /.well-known/best

Serve a discovery manifest describing your services, capabilities, and transport bindings. It is where every consumer starts.

2
Accept commands, produce events

Callers POST commands to your service, which processes them any way it likes. The results are events. Callers get them by polling a query or by subscribing to an SSE stream; you decide which, case by case.

3
Tie results to commands

The answer to a command gives back a correlation id, which ties the results to the command that caused them.

Getting Started

Services

  • CommandsAccept and catalogue commands
  • EventsEvents published by services
  • QueriesSynchronous reads of current state
  • WorkflowsPublished multi-step recipes, caller-driven

Transports

  • HTTPHTTP/JSON API reference
  • MCPModel Context Protocol binding

Reference

Guides

Comparisons

spec/v0.9.21