Skip to main content
Glama

reply_to_user

Posts a reply to a user inbox message that has a reply_token, sending your answer to a blocking seashell-ask request in the terminal.

Instructions

Post a reply to a user inbox message. Use this when a message returned by read_user_inbox had a reply_token — that means the user invoked seashell-ask and is blocking on your answer. The reply is written to the appropriate replies.jsonl (global or per-project) and seashell-ask picks it up within ~1 second. If the user just left a note via seashell-msg (no reply_token), no reply call is needed — answer in chat normally.

Input Schema

NameRequiredDescriptionDefault
textYesYour reply text — what the user will see in their terminal (required)
message_idYesThe id field from the original inbox record (required)
project_pathNoOptional absolute project path to scope the reply to. If omitted, Seashell auto-detects from the message id by searching archives.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.5

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it discloses the write target (replies.jsonl, global or per-project), the delivery latency (~1 second pickup by seashell-ask), and the blocking-caller semantics. It does not say what happens on a stale/invalid message_id or whether the call can fail silently, which is the remaining behavioral gap.

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?

Four sentences, front-loaded with the action, then the trigger condition and the exclusion. Every sentence conveys either what to send, when to send it, or what happens after — no filler.

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 3-parameter tool with no annotations and no output schema, the description supplies the workflow, the timing, and the write destination, which is enough to invoke it correctly. Missing only failure-mode guidance (invalid or already-replied message_id).

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 100%, so a 3 is the floor; the description adds value by explaining that replies land in a global or per-project file, which clarifies why project_path scoping exists and what it affects. It still does not tie message_id directly to the inbox record it must come from, but the schema covers that.

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?

Specific verb+resource ("Post a reply to a user inbox message") that is instantly separable from siblings like read_user_inbox and read_my_replies. The description also identifies the upstream trigger (a message carrying a reply_token) so the agent knows which resource instance this acts on.

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

Usage Guidelines5/5

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

States both the positive condition (message had a reply_token, user is blocking) and the negative case (a plain seashell-msg note needs no reply call — answer in chat). It names the sibling tools that produce each case, leaving nothing to inference.

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