Skip to main content
Glama
atengk

mcp-server-rabbitmq

by atengk

rabbitmq_publish_message

Publish messages to a RabbitMQ exchange with a routing key and JSON serialization. Configure delivery mode, priority, expiration, and headers for message delivery.

Instructions

向指定交换机与路由键发布消息,支持 JSON 自动序列化与持久化配置.

受全局写保护门禁 (--allow-write) 约束。

@param exchange 目标交换机名称 @param routing_key 路由寻址键,默认为空 @param payload 消息载荷,支持 dict, list, str 或 bytes @param delivery_mode 投递模式,1=非持久化,2=持久化(默认 2) @param priority 消息优先级(0-255) @param expiration 消息过期时间(毫秒数字或字符串) @param headers 自定义消息属性头字典 @param connection 目标连接别名,默认为 'default' @return 消息投递确认报告

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
headersNo
payloadNo
exchangeYes
priorityNo
connectionNodefault
expirationNo
routing_keyNo
delivery_modeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.4

TDQS

A4.2/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 disclose real behavioral traits: the write gate requirement, automatic JSON serialization, persistence via delivery_mode, and a delivery-confirmation return. It stops short of failure semantics or whether the exchange must pre-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?

Purpose is front-loaded in the first sentence, followed by the gate warning and a compact @param block. The @param repetition is justified because the schema carries zero descriptions, so little is wasted.

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 an 8-parameter write tool with no annotations but an output schema, the description documents every parameter and the write gate, leaving return values to the output schema. Minor behavioral gaps (error handling, exchange existence) remain but are not blocking.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate, and it does: it defines delivery_mode (1=non-persistent, 2=persistent), priority range (0-255), expiration units (ms as number or string), payload types (dict/list/str/bytes), and defaults for routing_key and connection. This goes well beyond what the bare schema conveys.

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+resource ('publish a message') with the addressing target (exchange + routing key), which cleanly separates it from the declare/bind/list siblings. An agent can identify this as the message-sending tool without opening the schema.

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?

The description notes it is gated by the global write-protection flag (--allow-write), which is a genuine usage prerequisite, but it never states when to prefer this over alternatives or any when-not conditions. Usage is only implied by the tool's name.

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