fetch_inbox
Retrieve recent agent messages without altering read or acknowledgment state, with filters for unread, urgent, topic, and timestamp to support safe inbox polling.
Instructions
Retrieve recent messages for an agent without mutating read/ack state.
Filters
urgent_only: only messages with importance in {high, urgent}since_ts: ISO-8601 timestamp string; messages strictly newer than this are returnedlimit: max number of messages (default 20)include_bodies: include full Markdown bodies in the payloadstopic: filter to messages with this topic tagunread_only: when True, restrict to messages this recipient has not yet explicitly marked read viamark_message_readoracknowledge_message. Per-recipient: a message read by Agent A is still unread for Agent B. A barefetch_inboxcall does NOT mark messages read; this filter inspects existing read state without mutating it.
Usage patterns
Poll after each editing step in an agent loop to pick up coordination messages.
Use
since_tswith the timestamp from your last poll for efficient incremental fetches.Use
unread_only=Truefrom polling agents (Claude Code, Codex, etc.) to skip messages the agent has already acknowledged — cuts token-burn at scale by avoiding re-running prompt context against already-handled mail.Combine with
acknowledge_messageifack_requiredis true.
Returns
list[dict]
Each message includes: { id, subject, from, created_ts, importance, ack_required, kind, read_at, [body_md] }
read_at is this recipient's read timestamp (null while unread), so the
default view — which includes already-read mail — stays distinguishable.
Example
{"jsonrpc":"2.0","id":"7","method":"tools/call","params":{"name":"fetch_inbox","arguments":{
"project_key":"/abs/path/backend","agent_name":"BlueLake","since_ts":"2025-10-23T00:00:00+00:00"
}}}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| topic | No | ||
| format | No | ||
| since_ts | No | ||
| agent_name | Yes | ||
| project_key | Yes | ||
| unread_only | No | ||
| urgent_only | No | ||
| include_bodies | No | ||
| registration_token | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |