Skip to main content
Glama

read_user_inbox

Retrieve and archive unread notes left via the seashell-msg command, aggregating global and project inboxes so Claude can respond when users send brief messages or ask to check their inbox.

Instructions

Drain unread notes the user left for Claude via the seashell-msg shell command. Aggregates across the global inbox (~/.seashell/inbox.jsonl) AND every registered project inbox (.seashell-inbox/inbox.jsonl in each project root). Each note carries a timestamp, working directory, project label, and (optionally) attachments + a reply_token. Read messages are archived. Call this when the user's chat message is brief or implies they were elsewhere (e.g. "?", "continue", "check inbox"). If any returned message has a reply_token, you should answer via reply_to_user.

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.5

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and discloses key traits: it drains unread notes, aggregates across global and project inboxes, lists returned note fields, and states that read messages are archived. That archiving detail is important because it implies a state-changing side effect beyond a pure read.

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 definition is front-loaded with the core action and scope, then adds the return shape, archiving behavior, invocation trigger, and reply follow-up. Every sentence adds operational value; none is filler.

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

Completeness5/5

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

For a zero-parameter tool with no output schema and no annotations, the description is sufficiently complete: it explains the data sources, what each returned note contains, that read messages are archived, when to call it, and how to handle a `reply_token`. No critical detail needed to invoke it correctly appears missing.

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?

The tool takes zero parameters, so there is no per-parameter syntax to explain; baseline 4 applies. The description still clarifies the implicit inputs—all registered project inboxes plus the global inbox—without contradicting the empty schema.

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?

States a specific verb and resource: 'Drain unread notes the user left for Claude' via `seashell-msg`, aggregated across global and project inboxes. It also distinguishes the read/drain action from the follow-up action `reply_to_user`, so the agent can tell what this tool does and what it is not for.

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?

Explicitly says when to call it: when the user's chat message is brief or implies they were elsewhere, with examples like '?', 'continue', and 'check inbox'. It also names the follow-up alternative `reply_to_user` when a `reply_token` is present, though it does not state when to prefer `inbox_history` or `inbox_count` instead.

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