Skip to main content
Glama

HoldKit

Poll inbox

inbox.poll
Read-only

Read inbox events after a cursor.

Input Schema

NameRequiredDescriptionDefault
limitNo
cursorNo
inbox_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered, but the description adds almost nothing behavioral: it does not say whether the call returns immediately or blocks, whether an empty result is possible, or what the pagination/next-cursor behavior is. Given inbox.wait sits right next to it, the blocking-vs-polling distinction is exactly what the description needed to disclose and does not.

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?

Six words, front-loaded with the verb and no filler or redundancy. Its brevity is disciplined, though the compression is achieved by omitting information rather than by tight editing.

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

Completeness2/5

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

Three parameters, no output schema, and no annotation coverage of pagination behavior — the agent cannot tell from this definition how to page, what the default limit is, or whether the response carries a next cursor. For a cursor-driven poll tool where those details determine correct usage, the description is under-specified.

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

Parameters2/5

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

Schema description coverage is 0% across three parameters, so the description carries the burden and only gestures at 'cursor' without saying whether it is exclusive/inclusive, opaque, or how it is obtained. The 'limit' parameter (max 50) and required 'inbox_id' get no semantic treatment at all.

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?

States a specific verb ('Read') and resource ('inbox events') plus a scoping qualifier ('after a cursor'), so the agent knows the operation. However, it does not differentiate itself from the sibling inbox.wait, which is the critical ambiguity for a poll tool — whether the call blocks or returns immediately.

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

Usage Guidelines2/5

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

No statement of when to use this versus inbox.wait or inbox.ack, no prerequisite/permission notes, no guidance on polling cadence or how to carry the cursor forward. The only implied usage is the 'after a cursor' phrase, which an agent must interpret on its own.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources