Skip to main content
Glama

bus_inbox

Retrieve unread messages from a persistent SQLite inbox for an agent, with optional blocking wait.

Instructions

Fetch incoming messages for a specific agent from the persistent SQLite inbox. Supports optional blocking wait.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
waitNoWhether to block waiting until at least one message arrives
limitNoMaximum number of messages to return
timeoutNoMaximum wait time in seconds if wait is true (default 60)
mark_readNoWhether to mark returned messages as read
agent_nameYesYour agent ID / mailbox name
unread_onlyNoWhether to return unread messages only

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description bears the full responsibility for disclosing behavioral traits. It mentions the persistent SQLite inbox and optional blocking wait, but does not disclose that messages may be marked as read (via the mark_read parameter) or that fetching could have side effects. It also does not mention potential errors or timeouts beyond the parameter defaults.

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

Conciseness5/5

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

The description is concise and well-structured, comprising two sentences that front-load the verb and resource. It efficiently conveys the core functionality and the optional blocking wait feature without unnecessary detail. Every word contributes to understanding the tool's purpose.

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

Completeness3/5

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

The description is brief and lacks details about the return value, such as the format of the messages or whether they are returned in a particular order. Given that there is no output schema, a bit more context on what the agent can expect as a result would improve completeness. However, the tool is relatively simple and the name and parameters provide significant context.

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

Parameters3/5

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

The schema already provides descriptions for all six parameters (100% coverage), so the baseline is 3. The tool description does not add extra meaning beyond the schema; it merely restates the concept of fetching messages and supporting blocking wait, which is already captured in the parameter descriptions. No additional semantic richness is provided.

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 clearly states the tool fetches incoming messages for a specific agent from the persistent SQLite inbox, using the verb 'fetch' and specifying the resource. It also mentions optional blocking wait, which adds to the clarity of purpose. This distinguishes it from other bus tools like bus_send or bus_history.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives such as bus_wait_message or bus_history. It mentions 'optional blocking wait' but does not contrast it with bus_wait_message, leaving the agent to infer the appropriate use case. More direct guidance on when to choose bus_inbox over siblings would improve this dimension.

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