Skip to main content
Glama

Show fmsg indicator

indicate
Idempotent

Display a short-lived status emoji to other participants of a message while you work or compose a reply; it expires automatically and can be cleared early.

Instructions

Show the other participants of a message a short-lived status, such as ⏳ while you work on a reply or ✍️ while composing. Nothing is shown unless you call this. It is kept up while you work (up to 5 minutes) and expires on its own; reply, react and mark_read clear it, and an empty emoji clears it now.

Input Schema

NameRequiredDescriptionDefault
idYesfmsg message id
ttlNoseconds it lasts unless refreshed
emojiNoa single emoji such as ⏳ or ✍️; empty clears⏳

Output Schema

NameRequiredDescriptionDefault
idYes
ttlYesseconds; 0 when cleared
emojiYesthe emoji shown; empty when cleared
clearedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.5.1

TDQS

A4.2/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing who sees the status, that it is self-expiring, that reply/react/mark_read clear it, and that an empty emoji clears it immediately. However, it claims the indicator is kept up 'up to 5 minutes' while the schema caps ttl at 120 seconds, a factual conflict that could lead an agent to send an invalid ttl.

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?

Three tight sentences with the purpose front-loaded, followed by the opt-in requirement and then the lifecycle/clearing rules. Every clause carries operational information and none is redundant.

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?

Covers visibility, lifetime and termination triggers, which is what an agent needs for this call, and an output schema plus rich annotations carry the rest. The only real gap is the mismatch between the stated five-minute lifetime and the schema's 120-second ceiling.

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 description coverage is 100%, so id, ttl and emoji are already documented, and the description adds only framing about duration and the emptying behavior. The 'up to 5 minutes' phrasing actively conflicts with the ttl maximum rather than clarifying it, and no guidance on choosing ttl or emoji per situation is added.

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 ('Show the other participants of a message a short-lived status') and immediately distinguishes itself from siblings by naming reply, react and mark_read as the actions that clear it. An agent can tell this apart from send_message or react without opening any schema.

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?

Gives concrete when-to-use framing ('while you work on a reply or ✍️ while composing') and clarifies the opt-in nature with 'Nothing is shown unless you call this.' It also names the sibling calls that implicitly terminate it, though it never states an explicit case where the tool should not be used.

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