Skip to main content
Glama
atengk

mcp-server-rabbitmq

by atengk

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_RABBITMQ_URLYesThe URL of the RabbitMQ server, e.g., amqp://guest:guest@localhost:5672/

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
rabbitmq_list_connectionsA

列出当前 MCP 服务配置的所有 RabbitMQ 实例连接清单与脱敏地址.

[注意区分] 本工具返回的是配置中心中管理的目标 Broker 实例(如 connections.yaml 中配置的连接别名), 若要排查微服务应用连入 RabbitMQ 的物理客户端 TCP 链路,请调用 rabbitmq_list_client_connections。

@return 脱敏后的 Broker 实例配置信息列表

rabbitmq_list_configured_brokersA

列出当前 MCP 服务配置的所有 RabbitMQ 目标 Broker 实例清单与脱敏地址.

为 rabbitmq_list_connections 的语义强化别名,用于清晰区分 Broker 实例配置与外部客户端 TCP 链路。

@return 脱敏后的 Broker 实例配置信息列表

rabbitmq_pingA

测量与 RabbitMQ Broker 的 AMQP 链路往返延迟.

建立底层 TCP/AMQP 会话与信道后立即安全关闭,用于网络可达性与响应时间探活。

@param connection 目标连接别名,默认为 'default' @return 包含探活状态与延迟(毫秒)的结构化报告

rabbitmq_overviewB

获取 RabbitMQ 集群节点状态、队列统计与全局消息吞吐大盘.

依据 ADR-0001 双核架构设计,当未配置 Management API 时自动优雅降级。

@param connection 目标连接别名,默认为 'default' @return 集群指标概览字典或降级提示

rabbitmq_list_exchangesB

查询指定实例的交换机列表及类型、持久化配置.

@param connection 目标连接别名,默认为 'default' @param vhost 可选的虚拟主机过滤 @return 交换机元数据列表报告或降级提示

rabbitmq_declare_exchangeA

在 Broker 中受控声明交换机.

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

@param name 交换机名称 @param type 交换机类型(direct, fanout, topic, headers),默认为 'direct' @param durable 是否持久化,默认为 True @param auto_delete 是否自动删除,默认为 False @param internal 是否为内部交换机,默认为 False @param arguments 可选扩展参数 @param connection 目标连接别名,默认为 'default' @return 声明成功的交换机元数据

rabbitmq_delete_exchangeA

受控删除指定的交换机.

强制要求二次确认 (confirm: bool = False),未确认时仅返回受影响预估报告 (ADR-0002)。

@param name 待删除的交换机名称 @param confirm 二次确认标识,默认为 False @param if_unused 是否仅在无绑定且未被使用时才删除,默认为 False @param connection 目标连接别名,默认为 'default' @return 删除结果或二次确认预估报告

rabbitmq_list_queuesB

查询指定实例的全部队列及其积压消息、未确认数与消费者全景指标.

@param connection 目标连接别名,默认为 'default' @param vhost 可选的虚拟主机过滤 @return 队列列表报告或降级提示

rabbitmq_get_queueA

获取指定队列的深度元数据(包括死信交换机 dlx、TTL 策略与消费者明细).

@param queue 目标队列名称 @param connection 目标连接别名,默认为 'default' @param vhost 虚拟主机,默认为 '/' @return 单个队列的深度指标报告

rabbitmq_declare_queueA

在 Broker 中声明队列,支持死信路由 (x-dead-letter-exchange) 与 TTL 等高级参数.

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

@param name 队列名称 @param durable 是否持久化,默认为 True @param exclusive 是否为排他队列,默认为 False @param auto_delete 是否自动删除,默认为 False @param arguments 可选扩展参数(如 x-dead-letter-exchange, x-message-ttl) @param connection 目标连接别名,默认为 'default' @return 声明成功的队列元数据

rabbitmq_purge_queueA

受控清空指定队列中的全部待消费消息.

强制要求二次确认 (confirm: bool = False),未确认时仅返回受影响预估报告 (ADR-0002)。

@param name 目标队列名称 @param confirm 二次确认标识,默认为 False @param connection 目标连接别名,默认为 'default' @return 清空结果或二次确认预估报告

rabbitmq_delete_queueA

受控删除指定队列.

强制要求二次确认 (confirm: bool = False),未确认时仅返回受影响预估报告 (ADR-0002)。

@param name 待删除的队列名称 @param confirm 二次确认标识,默认为 False @param if_unused 是否仅在无消费者时删除,默认为 False @param if_empty 是否仅在队列为空时删除,默认为 False @param connection 目标连接别名,默认为 'default' @return 删除结果或二次确认预估报告

rabbitmq_list_bindingsB

查询交换机与队列之间的绑定映射规则.

@param connection 目标连接别名,默认为 'default' @param vhost 可选的虚拟主机过滤 @param queue 可选的指定队列过滤 @param exchange 可选的指定交换机过滤 @return 绑定关系列表报告或降级提示

rabbitmq_bind_queueA

将队列绑定至指定交换机并配置路由键 (Routing Key).

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

@param queue 目标队列名称 @param exchange 目标交换机名称 @param routing_key 路由键,默认为空字符串 @param arguments 可选绑定参数 @param connection 目标连接别名,默认为 'default' @return 绑定结果报告

rabbitmq_unbind_queueA

解除队列与指定交换机之间的路由绑定.

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

@param queue 目标队列名称 @param exchange 目标交换机名称 @param routing_key 路由键,默认为空字符串 @param arguments 可选绑定参数 @param connection 目标连接别名,默认为 'default' @return 解绑结果报告

rabbitmq_publish_messageA

向指定交换机与路由键发布消息,支持 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 消息投递确认报告

rabbitmq_peek_messagesA

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

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

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

rabbitmq_get_messagesA

受控拉取队列消息,默认 ack=False 仅采样不删除,传 ack=True 物理确认出队.

当传入 ack=True 时受全局写保护门禁 (--allow-write) 约束,防范在途数据误删。

@param queue 目标队列名称 @param count 拉取条数上限(1-50,默认 10) @param ack 是否物理确认并从队列移除,默认为 False(仅拉取) @param connection 目标连接别名,默认为 'default' @return 拉取消息清单报告

rabbitmq_list_client_connectionsA

查询外部微服务客户端 TCP 连接列表、信道数与收发吞吐速率.

[注意区分] 本工具用于排查外部应用连入 RabbitMQ 的物理 TCP 链路与信道泄露; 若要查看 MCP 服务端自身配置的目标 Broker 实例清单,请调用 rabbitmq_list_connections 或 rabbitmq_list_configured_brokers。 未配置 Management API 时依据 ADR-0001 优雅降级。

@param connection 目标 Broker 连接配置别名,默认为 'default' @param vhost 可选的虚拟主机名称过滤 @return 结构化的客户端连接诊断清单

rabbitmq_list_channelsA

查询活跃信道指标、未确认消息堆积、Prefetch 与消费活跃度.

用于精准排查客户端信道未确认消息积压、消费阻塞与信道异常。 未配置 Management API 时依据 ADR-0001 优雅降级。

@param connection 目标 Broker 连接配置别名,默认为 'default' @param vhost 可选的虚拟主机名称过滤 @param connection_name 可选的客户端连接标识过滤 @return 结构化的信道诊断清单

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 20 tools

Disambiguation3/5

Most tools are clearly distinct by resource and action, but rabbitmq_list_connections and rabbitmq_list_configured_brokers are explicitly aliases of the same operation, creating a direct duplication. Additionally, rabbitmq_peek_messages and rabbitmq_get_messages overlap in purpose, though their descriptions help differentiate them.

Naming Consistency5/5

All 20 tools follow a consistent rabbitmq_verb_noun snake_case pattern with no deviations. The naming is entirely predictable and easy to parse.

Tool Count4/5

20 tools is on the high side but still reasonable for a full RabbitMQ broker management surface covering queues, exchanges, bindings, publishing, and diagnostics. One tool (the alias) is redundant, but the set as a whole is well-scoped.

Completeness4/5

The surface covers core CRUD for queues and exchanges, binding management, message publish/peek/get, and diagnostic operations. Minor gaps exist, such as no explicit get-exchange details or consumer management tools, but essential workflows are well covered.

Maintenance

ActivityMaintained
ResponsivenessResponsive