moa_tower_send
Deliver inbox messages to any roster agent, the tower, or broadcast to all. Returns the message board key after enforcing a 96KB body limit.
Instructions
Deliver an inbox message to a roster agent, the tower, or "all" (broadcast). Self-send is forbidden; the body is capped at 96KB (board ceiling) — split larger content into multiple messages. Returns the message board key.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"workspace": "<workspace>",
"caller_agent_id": "<caller_agent_id>",
"to": "<to>",
"subject": "<subject>",
"body": "<body>"
},
"name": "moa_tower_send"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient: a roster agent name, "tower", or "all" (broadcast) | |
| body | Yes | Full message body (markdown), ≤ 96KB | |
| scope | No | Optional scope tag (e.g. the mission id) | |
| action | No | Optional action tag for machine routing | |
| subject | Yes | One-line subject; keep it greppable | |
| workspace | Yes | The absolute repo root (main checkout) this tower namespace anchors to. Required on every tower tool — the server cwd is never used as a fallback. | |
| consent_ref | No | Optional reference to a consent/approval record this message relies on | |
| caller_agent_id | Yes | Your engine agent id. The tower tools resolve it against the boot-registered roster (the booted tower, or a spawned worker/reviewer). |