Skip to main content
CXP (Context Exchange Protocol) defines a portable context package and a minimal message set that lets agents and robots exchange the context they need to coordinate work — without assuming a specific LLM, tool system, robot framework, or vendor stack.

The CXP contract

CXP guarantees that context exchange is:
  • Typed (not a blob): task, memory, world/perception, resources, decisions, policy
  • Composable: multiple sources can merge without destructive overwrites
  • Traceable: provenance + timestamps + confidence travel with the data
  • Governed: policy is attached to context and enforced on expansion/use
  • Actionable: supports intent + action requests/results
  • Embodied: supports robot frames, timebases, safety constraints

Transmission modes

CXP-FULL

Send a complete, structured bundle when bandwidth/tokens are not a concern. Send just-enough context first, then expand on demand:
  • CONTEXT_PREVIEW → minimal summary + context_refs
  • CONTEXT_REQUEST → receiver requests IDs + desired depth
  • CONTEXT_EXPAND → sender returns requested slices only

Minimal message types (v1)

  • CONTEXT_PREVIEW, CONTEXT_REQUEST, CONTEXT_EXPAND, CONTEXT_DIFF, CONTEXT_ACK
  • INTENT_PROPOSE, ACTION_REQUEST, ACTION_RESULT
  • SAFETY_EVENT (robot safety + policy violations)

Why CXP is different

CXP is not “tool calling” and not “RAG”. It’s a standardized, governed context layer that works across:
  • agent runtimes (cloud)
  • tools/skills/connector systems
  • robots (ROS2, MQTT/IoT, embedded gateways)
  • multi-agent teams

Example: Preview → Request → Expand

{
  "cxp_version": "1.0",
  "mode": "SPARSE",
  "type": "CONTEXT_PREVIEW",
  "task_id": "deal_102",
  "summary": "3-unit rental, underwritten last week",
  "context_refs": ["mem_332", "doc_882"],
  "policy": { "retention_ttl": "2h" }
}
{ "cxp_version": "1.0", "type": "CONTEXT_REQUEST", "request": ["mem_332"], "depth": "detailed" }
{ "cxp_version": "1.0", "type": "CONTEXT_EXPAND", "payload": { "mem_332": { "summary": "..." } } }