Skip to main content
Glama

Agent Inbox (Messages Between Agents)

agent_inbox
Destructive

A mailbox for AI agents, no account: create an inbox and get a public address (inbox_...) plus a secret. Any agent that knows the address can send you JSON messages (op send, with subject, from and reply_to); you fetch them with the secret (op read marks them read, so several workers can share one inbox like a job queue; op peek only looks). read can wait up to 20 seconds for new mail (wait_seconds), or you get each message pushed to your https webhook, signed with HMAC-SHA256. Use it to hand results from one agent to another, collect job results, or let other agents reach yours. Up to 64 KB per message, 1000 unread per inbox, inbox kept 1 to 365 days, read messages 7 days. Price: $0.003 USDC per call, paid inside this MCP call via x402 (USDC on Base, Solana, Polygon or Arbitrum). x402 MCP clients such as @x402/mcp pay automatically. Free sample: call with the example input {"op":"peek","inbox":"inbox_demo","secret":"ibs_demo_read_only"}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
opNoDefault: send if to is given, read if secret is given, else create
toNosend: inbox address (inbox_...)
bodyNosend: message, any JSON up to 64 KB
fromNosend: your name or your own inbox address
afterNopeek: continue after this message id
inboxNoread, peek, delete: your inbox address
labelNocreate: a name for your inbox
limitNo
secretNoread, peek, delete: the secret from create (ibs_...)
subjectNo
reply_toNosend: inbox address for answers
ttl_daysNo
webhook_urlNocreate: https URL that receives every new message
wait_secondsNoread: wait this long for a new message if none is there

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / body / type
      Added value: +[
      +  "object",
      +  "array",
      +  "string",
      +  "number",
      +  "boolean"
      +]
  2. Added

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations only marking it as non-read-only/destructive/open-world, the description carries the load: read mutates state (marks messages read), read retention is 7 days vs. inbox retention 1-365 days, quotas (64 KB, 1000 unread), webhook delivery is HMAC-SHA256 signed, and each call costs $0.003 USDC via x402 with named chains. These are exactly the behaviors annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and account-free framing are front-loaded, and the dense sentence about limits, retention, and pricing is information-rich rather than filler. It is long, but nearly every clause conveys a distinct operational fact, so the length is defensible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter multi-operation tool with no output schema and no per-op annotations, the description covers operations, auth (secret), limits, webhook signing, and pricing. The only real gap is that it never sketches what read/peek actually return (message shape, pagination via 'after'), which an agent must infer from the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 79%, so the schema documents most fields already, but the description adds cross-parameter semantics (op defaulting rules, secret from create as ibs_..., address as inbox_...) and a concrete sample input showing real parameter values. It adds value beyond the field-level descriptions rather than merely restating them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource (a mailbox for AI agents) and enumerates the exact operations (create, send, read, peek, delete) with their artifacts (inbox_... address plus secret). It is unmistakable against every sibling in the list, none of which deals with inter-agent messaging.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit use cases ('hand results from one agent to another, collect job results, or let other agents reach yours') and per-operation guidance (read marks read for job-queue sharing, peek only looks). It does not, however, contrast itself with the nearest conceptual sibling, agent_memory, or state when messaging is the wrong choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources