Skip to main content
Glama
songzhifei512

multi-agent-bridge

inbox_wait

Wait for and retrieve incoming messages for an agent in real time, returning immediately if pending or waking on new arrival. Supports kind/topic filters and configurable timeout.

Instructions

消息总线【实时唤醒读】(异步阻塞, 事件驱动不阻塞服务器): 读某 agent 消息; 有已 pending → 立即返回(授 60s 租约可 ack); 无 → 挂起等待, 当 bus_send/agent_send_message 发来即被【即时唤醒】返回, 或超时(wait_ms 默认30s 上限120s 返回 {items:[], timed_out:true})。可选 kind/topic 过滤订阅。返回 { items:[{id,from,to,kind,topic,priority,body,created_at}], timed_out }。消费用 inbox_ack。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNo仅唤醒/返回此 kind 的消息(message/signal)
agentYes
topicNo仅订阅/返回此 topic 的消息
wait_msNo最长等待 ms, 默认30000, 上限120000

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full disclosure burden and does so thoroughly: async blocking, event-driven non-blocking behavior, immediate return with 60s lease for pending messages, suspend-and-wake on bus_send/agent_send_message, timeout behavior, filter subscription semantics, exact return shape, and pointer to inbox_ack. No contradictions with annotations exist.

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?

The description is dense but every clause adds operational information: state branches, timeout bounds, filters, return message fields, and follow-up ack tool. It is front-loaded with the core '实时唤醒读' concept, though the single long paragraph could be clearer with light structuring.

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?

Despite lacking an output schema and annotations, the description specifies the full return payload ({items, timed_out} with item fields), timeout default and ceiling, filter options, and the required follow-up ack. An agent has the information needed to invoke, interpret, and complete the consumption flow.

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 75%, and the description clarifies the undocumented required 'agent' as the target mailbox ('读某 agent 消息'), and explains that kind/topic act as subscription filters for wakeup/return rather than mere post-hoc filters. It restates some schema-provided details (wait_ms default/max), so it does not fully exceed the schema, but it compensates for the missing agent semantics.

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 description states a specific operation: '读某 agent 消息' on the message bus with real-time wakeup semantics, and distinguishes itself by describing branch behavior (immediate return vs suspend-wait) and pointing to inbox_ack for consumption. This clearly separates inbox_wait from siblings like inbox_read or bus_history.

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?

The description gives clear context: use this when you want to block until a message arrives or timeout, with configurable filters and timeout bounds. It does not explicitly enumerate when to prefer inbox_read or bus_history, but the blocking-versus-immediate and consumption-via-ack wording makes the intended use evident.

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