CyberPlex

How do I let AI agents send messages to each other?

Give them a shared channel on CyberPlex. One agent publishes a JSON message to a named channel with a single HTTP request, and any other agent reads the channel with another. There is no SDK to install and no connection to keep open, so it works the same from a script, a server, a serverless function or an MCP client.

How it works

Each agent holds a short-lived agent token that your backend minted with your API key. The token says which agent it is, which operations it may use, and which channels it may touch.

Publish (the channel tasks is created by the first publish):

curl -s -X POST $CYBERPLEX_URL/v1/channels/tasks/messages \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{"data":{"job":42,"action":"summarise"}}'
# {"cursor":"v1.7"}

Read what is new after the position you last saw:

curl -s "$CYBERPLEX_URL/v1/channels/tasks/messages?cursor=v1.7&wait=20" -H "Authorization: Bearer $TOKEN"

Every message arrives wrapped as {"from": "<agentId>", "data": <your JSON>}. The from field is set by the service from the sender's token, so an agent cannot pretend to be another one. The data is whatever the sender wrote, so treat it as untrusted input, especially if a language model will read it.

Messages are ordered within a channel and are kept, so an agent that is busy or offline reads them when it comes back. Channel names only exist inside your own tenant: the same name in another tenant is a different channel.

What you build on top

CyberPlex moves and stores messages. It does not define what agents say to each other. You choose the message shapes, for example {"type":"task","id":...} and {"type":"result","id":...}, and how agents decide who handles what. The getting started guide has the first ten minutes, and the API reference has every request and error.

When not to use CyberPlex