Skip to main content
Glama
atengk

mcp-server-rabbitmq

by atengk

rabbitmq_peek_messages

Diagnose RabbitMQ queue backlogs by sampling messages at the head without consuming them. Messages are requeued after reading to prevent data loss and duplicate reads.

Instructions

对队列头部消息实施无损诊断采样 (Peek).

读取消息后延迟在循环结束后统一触发 reject(requeue=True),确保数据零丢失且不出队,同时防止重复读取同一条消息 (ADR-0002)。

@param queue 目标队列名称 @param count 采样数量限制(1-50,默认 10) @param connection 目标连接别名,默认为 'default' @return 采样消息清单报告

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo
queueYes
connectionNodefault

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.4

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses the reject(requeue=True) mechanism, zero data loss, no dequeue, and no duplicate reads (ADR-0002). This is exactly the behavior an agent needs before touching broker messages. Gaps remain on permissions/rate limits and error behavior.

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?

Front-loaded with purpose and safety implication, followed by a compact mechanism sentence and three @param lines. The mechanism sentence is slightly dense but each clause earns its place for a tool where data loss is a real risk.

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 read tool with an output schema (so return values need not be described), the definition covers purpose, safety mechanism, and parameter meanings. Missing only explicit routing against the sibling get/consume 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 description coverage is 0%, so the description must compensate, and it does: it explains 'queue' as the target queue name, 'count' as a sampling limit with range 1-50 (default 10), and 'connection' as a target alias defaulting to 'default'. The range constraint and defaults are meaningful additions beyond the bare schema titles.

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+resource: non-destructive sampling (peek) of queue-head messages, with the key qualifier '无损' and '不出队' that separates it from a consuming read. It does not explicitly name the sibling rabbitmq_get_messages, so the differentiation is inferred rather than stated.

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

Usage Guidelines3/5

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

'诊断采样' implies a diagnostic/inspection use case, but there is no explicit when-to-use or when-not guidance and no alternative named (e.g., why peek instead of rabbitmq_get_messages). Usage must be inferred from the purpose.

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