Skip to main content
Glama
SHAN-code5

claude-bot-bridge

by SHAN-code5

Wait for reply

wait_for_reply
Read-only

Polls a reply URL until a bot's answer arrives or the timeout ends, blocking briefly so an MCP client can pull the bot's response back into the chat instead of returning empty.

Instructions

Poll until a new reply arrives or the timeout hits. Default timeout is 120000 ms. Maximum is 180000 ms. Text already on a reply URL when the wait starts is ignored, so a stale file is not treated as a fresh answer; call get_replies to read it. Set includeExisting true to accept that current text. The bot cannot push into the chat while this tool is not running.

Input Schema

NameRequiredDescriptionDefault
botNoBot id. Omit to watch the default channels.
sinceNoIgnore replies earlier than this ISO-8601 time.
threadIdNoThread returned by send_message.
timeoutMsNoHow long to wait in milliseconds. Default 120000. Maximum 180000.
ignoreExistingNoWhen true, only replies that arrive after this call starts are returned.
pollIntervalMsNoHow often to poll in milliseconds. Default 2000. Minimum 200. Maximum 30000.
includeExistingNoWhen true, reply-URL content that is already present counts as the reply.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the readOnly/destructive annotations, the description discloses non-obvious behavior: default and maximum timeouts, the stale-file-is-not-a-fresh-answer rule, and the important operational constraint that 'the bot cannot push into the chat while this tool is not running.' It does not say what the tool returns on timeout (empty result vs. error), 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in sentence one and each following sentence carries a distinct fact (timeout bounds, staleness rule, alternative tool, blocking constraint). The timeout default and maximum are restated from the schema, which is mildly redundant but useful as inline guidance.

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?

With no output schema and seven optional parameters, the description covers the semantics an agent needs to call it correctly: wait duration limits, staleness rules, and the blocking nature of the call. The one missing piece is timeout outcome behavior (what is returned when nothing arrives), which matters for a polling tool.

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 the baseline is 3, but the description adds real meaning by explaining the interaction between the default ignore-existing behavior and includeExisting=true and by stating the timeout default/ceiling. It leaves ignoreExisting, since, pollIntervalMs, threadId, and bot entirely to the 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?

The first sentence states a specific verb and resource with scope: 'Poll until a new reply arrives or the timeout hits.' It explicitly distinguishes itself from the read-only sibling get_replies ('call get_replies to read it'), so an agent can separate blocking-wait from fetch-now without opening either 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?

It gives an explicit routing rule: existing reply-URL text is ignored by default, and get_replies is the tool to read it; includeExisting=true opts into accepting stale content. That is clear when-to-use-which guidance. It stops short of saying when not to wait at all (e.g., prefer get_replies when a reply is known to already exist), so it is not fully exhaustive.

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