Skip to main content
Glama

hub_inbox

Fetches unread messages for an AI coding agent and marks them read; use peek to inspect without marking and call again to collect long messages sent in parts.

Instructions

Your unread messages, marked read. Long ones come in parts: call again.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "hub_inbox"
  }
}

Input Schema

NameRequiredDescriptionDefault
peekNoDo not mark them read.
wait_secondsNoWait this long for one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.0.0
    • changedInput schema / properties / wait_seconds / description
      Previous value: -"Wait this long for a message if none is waiting."New value: +"Wait this long for one."
  2. Changed2 schema fields changedv1.0.2
    • changedInput schema / properties / peek / description
      Previous value: -"Show them without marking them read."New value: +"Do not mark them read."
    • changedInput schema / properties / wait_seconds / description
      Previous value: -"If nothing is waiting, wait up to this many seconds for a message (0 answers at once)."New value: +"Wait this long for a message if none is waiting."
  3. Changed2 schema fields changedv0.13.4
    • changedInput schema / properties / peek / description
      Previous value: -"Do not mark as read."New value: +"Show them without marking them read."
    • addedInput schema / properties / wait_seconds / description
      Added value: +"If nothing is waiting, wait up to this many seconds for a message (0 answers at once)."
  4. First observedv0.9.5

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false, so the crucial behavioral detail is that this tool mutates state by marking messages read. The description explicitly discloses that mutation, which is valuable context beyond the annotations, though it says nothing about permissions or error behavior.

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?

Two short sentences with no wasted words, and the state-changing behavior is front-loaded. The second sentence about 'parts' is compact but slightly cryptic about whether it refers to pagination or message chunking.

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 simple two-parameter tool with no output schema, the definition covers the essential behavior: it returns unread messages, marks them read, and requires another call for long ones. Minor gaps remain, such as when to set peek or how many messages are returned per call, but the core contract is present.

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?

Schema coverage is 100%, so the descriptions of 'peek' and 'wait_seconds' are already fully documented in the input schema. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states a specific resource ('Your unread messages') and the key side effect ('marked read'), which lets an agent distinguish this from a generic history tool. It is clear but does not explicitly name an alternative for read-only access or explain the 'parts' beyond a brief hint.

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 gives one usage instruction – 'Long ones come in parts: call again' – which tells the agent to re-invoke for partial results. It does not describe when to prefer this over hub_history or how peek should be used, leaving most routing decisions implied rather than stated.

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