Skip to main content
Glama
mcp-server-rabbitmq

mcp-server-rabbitmq

by atengk

atengk-mcp-server-rabbitmq

专为大语言模型(LLM)与各类 AI Agent 打造的高性能、安全可控的生产级 RabbitMQ 模型上下文协议(Model Context Protocol, MCP)服务端。已正式发布至 PyPI,支持开箱即用。

为智能体提供直观可靠的 AMQP 拓扑声明(Exchange / Queue / Binding)、消息可靠发布、零损采样 (Peek)、受控消费拉取、外部微服务 TCP 连接诊断、活跃信道未确认消息积压排查及集群大盘监控全套能力。

graph TD
    subgraph Clients ["AI Agent 宿主环境 (Generic Clients)"]
        agent["Claude Desktop / Cursor / Cline / Windsurf / Chatbox"]
    end

    subgraph Server ["atengk-mcp-server-rabbitmq (FastMCP)"]
        gateway{"双模传输网关<br/>(Dual-Transport)"}
        stdio["Stdio 传输通道<br/>(管道直挂)"]
        sse["HTTP SSE 传输通道<br/>(常驻网络端口 :8000)"]
        
        gate{"安全只读门禁<br/>(--allow-write)"}
        mask["全域凭据脱敏引擎<br/>(Credential Masking)"]

        subgraph Core ["双核通信引擎"]
            amqp["异步 AMQP 驱动 (aio-pika)<br/>• 消息发布 / 采样 (Peek) / 消费<br/>• 交换机 / 队列 / 绑定拓扑声明"]
            mgmt["异步 Management 客户端 (httpx)<br/>• 集群概览与指标大盘<br/>• 客户端物理连接与活跃信道排障"]
        end
    end

    subgraph Cluster ["RabbitMQ 服务端"]
        amqp_port["AMQP 端口 :5672 (数据平面)"]
        mgmt_port["Management API 端口 :15672 (控制平面)"]
    end

    agent -->|JSON-RPC 协议| gateway
    gateway --> stdio
    gateway --> sse
    stdio --> gate
    sse --> gate
    gate --> amqp
    gate --> mgmt
    amqp --> amqp_port
    mgmt --> mgmt_port
    amqp -.-> mask
    mgmt -.-> mask
    mask -.-> agent

⚡ 快速开始 (Quick Start)

方式 1:使用 uvx 免安装直接运行(强烈推荐)

无需手动创建 Python 虚拟环境,借助现代包管理工具 uv 即可直接拉取并运行最新版:

# 1. 只读探查模式(默认连接本地 localhost:5672)
uvx atengk-mcp-server-rabbitmq

# 2. 通过分立参数连接远程 Broker 与 Management API 并解除写保护
uvx atengk-mcp-server-rabbitmq \
  --broker-host "rabbitmq.prod.internal" \
  --broker-port 5672 \
  -u "admin" -P "secret_pass" \
  --vhost "prod_vhost" \
  --management-port 15672 \
  --allow-write

# 3. 通过完整 URL 连接
uvx atengk-mcp-server-rabbitmq \
  --url "amqp://guest:guest@localhost:5672/" \
  --management-url "http://guest:guest@localhost:15672" \
  --allow-write

# 4. 启动常驻 HTTP SSE 服务(网关监听 0.0.0.0:8000)
uvx atengk-mcp-server-rabbitmq \
  --broker-host "rabbitmq.prod.internal" \
  -u "admin" -P "secret_pass" \
  --transport sse --host 0.0.0.0 --port 8000

方式 2:使用 pip 安装运行

pip install atengk-mcp-server-rabbitmq

# 启动服务(支持完整 URL 或分立参数)
atengk-mcp-server-rabbitmq --broker-host "127.0.0.1" -u "guest" -P "guest" --allow-write

方式 3:Docker 容器化运行

# 启动常驻 HTTP SSE 服务(默认暴露 8000 端口)
docker-compose up -d

Related MCP server: rabbitmq-mcp

🤖 通用 AI 客户端配置 (Generic MCP Client Configuration)

本服务端完全遵循开放的 Model Context Protocol (MCP) 规范,通用兼容所有支持标准 MCP 协议的宿主环境与 AI Agent 客户端(如 Claude Desktop、Cursor、Cline、Windsurf、Continue、Chatbox 等)。

你可以在任意 MCP 客户端的配置文件中,根据环境管理习惯自由选择 分立参数传参、完整连接串 或 环境变量注入:

范式 A:通过命令行分立参数传参 (Arguments - 分立配置推荐)

在客户端配置中通过 args 数组传入独立连接参数,方便审阅与运维:

{
  "mcpServers": {
    "rabbitmq": {
      "command": "uvx",
      "args": [
        "atengk-mcp-server-rabbitmq",
        "--broker-host",
        "rabbitmq.internal",
        "--broker-port",
        "5672",
        "-u",
        "app_admin",
        "-P",
        "secure_password",
        "--vhost",
        "/",
        "--management-port",
        "15672",
        "--allow-write"
      ]
    }
  }
}

💡 若习惯传入单一完整协议串,亦可将连接参数替换为 ["--url", "amqp://user:pass@host:5672/", "--management-url", "http://user:pass@host:15672"]。

范式 B:通过环境变量注入 (Environment Variables - 运维生产推荐)

在 Docker Compose、Kubernetes Secret 或客户端 env 节点中以环境变量注入凭据,实现配置与命令完全解耦:

{
  "mcpServers": {
    "rabbitmq": {
      "command": "uvx",
      "args": [
        "atengk-mcp-server-rabbitmq"
      ],
      "env": {
        "MCP_RABBITMQ_HOST": "rabbitmq.internal",
        "MCP_RABBITMQ_PORT": "5672",
        "MCP_RABBITMQ_USERNAME": "app_admin",
        "MCP_RABBITMQ_PASSWORD": "secure_password",
        "MCP_RABBITMQ_VHOST": "/",
        "MCP_RABBITMQ_MANAGEMENT_PORT": "15672",
        "MCP_RABBITMQ_ALLOW_WRITE": "true"
      }
    }
  }
}

💡 服务端同样支持标准单一 URL 环境变量:MCP_RABBITMQ_URL 与 MCP_RABBITMQ_MANAGEMENT_URL。

范式 C:连接远程常驻 HTTP SSE 服务端 (Remote SSE)

若 RabbitMQ MCP 服务端已在远程服务器或 Docker 容器中常驻启动(启用 SSE 传输模式):

{
  "mcpServers": {
    "rabbitmq": {
      "url": "http://127.0.0.1:8000/sse"
    }
  }
}

🛠️ 全量 MCP 工具矩阵 (20 Tools)

服务端完整装配并挂载以下 20 个 MCP 工具,模型可根据需要自主调用:

1. Broker 基础探活与配置管理 (4)

工具名称

功能描述

门禁约束

rabbitmq_list_connections

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

只读

rabbitmq_list_configured_brokers

rabbitmq_list_connections 的语义强化别名,用于清晰区分配置实例与客户端物理链路

只读

rabbitmq_ping

测量与 RabbitMQ Broker 的 AMQP 链路往返延迟(ms)

只读

rabbitmq_overview

获取集群节点状态、队列统计与全局消息吞吐大盘(无 HTTP API 时优雅降级)

只读

2. 交换机、队列与绑定拓扑管理 (11)

工具名称

功能描述

门禁约束

rabbitmq_list_exchanges

查询交换机列表、类型及持久化配置属性

只读

rabbitmq_declare_exchange

受控声明新的交换机,支持 direct / fanout / topic / headers 类型

需 --allow-write

rabbitmq_delete_exchange

删除指定交换机

需 --allow-write 且 confirm=True

rabbitmq_list_queues

查询各队列就绪数、未确认数与消费者数

只读

rabbitmq_get_queue

获取单个队列深度指标(死信交换机、TTL、最大积压限制等)

只读

rabbitmq_declare_queue

声明队列,支持死信路由 (dlx) 与最大积压策略 (x-max-length)

需 --allow-write

rabbitmq_purge_queue

清空指定队列中积压的消息

需 --allow-write 且 confirm=True

rabbitmq_delete_queue

删除指定队列

需 --allow-write 且 confirm=True

rabbitmq_list_bindings

查询交换机与队列之间的 Routing Key 绑定关系规则

只读

rabbitmq_bind_queue

将队列绑定到目标交换机

需 --allow-write

rabbitmq_unbind_queue

解除队列与交换机之间的绑定关系

需 --allow-write

3. 消息发布、零损采样与受控拉取 (3)

工具名称

功能描述

门禁约束

rabbitmq_publish_message

向指定 Exchange/Routing Key 发布消息,支持字典自动序列化与自定义属性

需 --allow-write

rabbitmq_peek_messages

对队列头部实施无损诊断采样,自动批量 Requeue 归还队首,消息零丢失不出队

只读

rabbitmq_get_messages

受控拉取消费消息,默认 ack=False 仅拉取,传 ack=True 物理确认出队

ack=True 需 --allow-write

4. 客户端连接与活跃信道排障诊断 (2)

工具名称

功能描述

门禁约束

rabbitmq_list_client_connections

排查外部微服务客户端连入 RabbitMQ 的物理 TCP 链路、信道数与收发吞吐速率

只读

rabbitmq_list_channels

诊断活跃信道未确认消息积压 (unack)、QoS Prefetch 限额与消费速率

只读


⚙️ 命令行参数与环境变量全景速查表

1. RabbitMQ 目标连接与安全

CLI 参数

对应环境变量

默认值

参数说明

--broker-host, --rmq-host

MCP_RABBITMQ_HOST

localhost

RabbitMQ Broker 主机名或 IP 地址

--broker-port, --rmq-port

MCP_RABBITMQ_PORT

5672

RabbitMQ Broker AMQP 端口(开启 SSL 时默认 5671)

-u, --username, --user

MCP_RABBITMQ_USERNAME / MCP_RABBITMQ_USER

guest

RabbitMQ 连接认证用户名

-P, --password

MCP_RABBITMQ_PASSWORD

guest

RabbitMQ 连接认证密码

--vhost

MCP_RABBITMQ_VHOST

/

目标虚拟主机名称

--ssl / --no-ssl

MCP_RABBITMQ_SSL

False

是否开启 AMQP SSL/TLS 加密通信 (amqps://)

--url

MCP_RABBITMQ_URL

None (兜底本地默认)

完整 AMQP 0-9-1 连接协议串(可被分立参数精准覆盖)

--management-host

MCP_RABBITMQ_MANAGEMENT_HOST

继承 Broker 主机

Management HTTP API 服务主机名

--management-port

MCP_RABBITMQ_MANAGEMENT_PORT

15672

Management HTTP API 服务端口号

--management-ssl / --no-management-ssl

MCP_RABBITMQ_MANAGEMENT_SSL

False

是否开启 Management HTTPS 通信协议

--management-url

MCP_RABBITMQ_MANAGEMENT_URL

None

完整 Management HTTP API 根基地址

--allow-write

MCP_RABBITMQ_ALLOW_WRITE

False

开启写保护门禁放行标志(允许声明、清空、发布消息)

-c, --config

MCP_RABBITMQ_CONFIG_PATH

connections.yaml

多环境连接配置文件路径

2. 双模通信网关自身配置

CLI 参数

对应环境变量

默认值

参数说明

-t, --transport

MCP_RABBITMQ_TRANSPORT

stdio

MCP 传输层协议:stdio(标准管道)或 sse(常驻 HTTP)

--host

MCP_RABBITMQ_SERVER_HOST

0.0.0.0

常驻 HTTP SSE 网关自身绑定的监听网络地址

-p, --port

MCP_RABBITMQ_SERVER_PORT

8000

常驻 HTTP SSE 网关自身绑定的监听端口

-v, --verbose

MCP_RABBITMQ_LOG_LEVEL

False (INFO)

启用详细 DEBUG 日志输出

--version

-

-

显示当前服务版本号并退出

-h, --help

-

-

显示帮助信息与参数用法

📌 参数生效优先级与深度融合准则:

  1. 优先级:CLI 显式参数 > 系统环境变量 > connections.yaml 配置文件;

  2. 深度融合:分立参数能够对基础 URL 进行字段级覆盖。例如同时传入 --url "amqp://app:old@broker:5672/v1" 与 -P "new_secret" 时,最终生效密码自动更新为 new_secret,其余主机与端口等元数据保持不变。


📁 多环境实例连接配置 (connections.yaml)

当需要同时连接多套 RabbitMQ 集群(如开发、测试、生产环境)时,可使用 YAML 配置文件:

  1. 复制参考模板 connections.example.yaml:

    cp connections.example.yaml connections.yaml
  2. 启动时通过 -c 参数指定配置文件:

    atengk-mcp-server-rabbitmq --config connections.yaml

🛡️ 生产级安全防护体系

  • 强只读写保护门禁 (ADR-0002):未显式开启 --allow-write 时,任何破坏性变更(声明拓扑、清空队列、物理出队 ACK、发布消息)一律被即时阻断并返回结构化错误;

  • 高危指令二次确认机制:清空与删除操作要求必须传入 confirm=True,未传时仅返回受影响资源预估报告,绝不发生物理执行;

  • 零损采样 (Zero-Loss Peek):队列采样读取后在退出阶段统一延迟批量 reject(requeue=True),保证队列消息数量与顺序完全零破坏;

  • 全域凭据脱敏算法:任何连接串、字典属性或错误堆栈中的密码与认证 Token 统一替换为 ***,彻底阻断大模型会话凭证泄露。


❓ 常见问题 (FAQ)

Q1: 为什么同时需要 Broker 连接与 Management API 连接?两者都必须配置吗?

答:两者采用完全不同的协议,职责清晰解耦,且 Management API 是可选的:

  • Broker 连接 (AMQP 5672):负责数据平面 (Data Plane) 操作(消息发布、无损采样、队列声明与绑定)。AMQP 是纯二进制高性能流协议,规范中没有定义全局宏观监控与统计接口;

  • Management API 连接 (HTTP 15672):负责管控平面 (Control Plane) 操作(集群概览、微服务物理连接监控、信道堆积诊断),由 RabbitMQ Management 插件提供;

  • 非强制与优雅降级:若未配置 Management API,全套 AMQP 消息与拓扑功能完全不受影响;调用排障诊断工具时会自动返回清晰的降级提示,绝不异常崩溃。此外,使用分立参数 --management-port 15672 时,主机与认证信息会自动继承 Broker 配置。

Q2: 在只读模式下能否安全排查生产队列积压?采样消息会被误删吗?

答:绝对安全,消息零丢失。

  • rabbitmq_peek_messages(采样)采用零损窥探机制:拉取消息后在退出阶段统一延迟批量执行 reject(requeue=True),队列消息数量与顺序完全不受影响;

  • rabbitmq_get_messages 默认 ack=False,仅供检视;只有传 ack=True 时才会物理出队,且在只读模式下会被写保护门禁直接拦截。

Q3: 生产容器化或 Kubernetes 中如何优雅管理凭据?

答:推荐使用环境变量分立注入范式。 你可以将数据库或 K8s Secret 中的独立字段分别映射为 MCP_RABBITMQ_HOST、MCP_RABBITMQ_PORT、MCP_RABBITMQ_USERNAME、MCP_RABBITMQ_PASSWORD、MCP_RABBITMQ_MANAGEMENT_PORT 等,无需繁琐拼装连接字符串,且避免特殊字符转义破坏。


🤝 参与贡献

欢迎任何形式的贡献、Issue 反馈与功能提案!请在发起 PR 前阅读我们的 贡献指南 (CONTRIBUTING.md)。


📄 开源许可证

本项目基于 Apache License 2.0 协议开源。

Available Tools

20 tools
rabbitmq_bind_queueA

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

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

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

Inputs: queue (required), exchange (required), arguments, connection, +1 more. Returns: object

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 声明成功的交换机元数据

Inputs: name (required), type, durable, internal, +3 more. Returns: object

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 声明成功的队列元数据

Inputs: name (required), durable, arguments, exclusive, +2 more. Returns: object

rabbitmq_delete_exchangeA

受控删除指定的交换机.

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

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

Inputs: name (required), confirm, if_unused, connection. Returns: object

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 删除结果或二次确认预估报告

Inputs: name (required), confirm, if_empty, if_unused, +1 more. Returns: object

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 拉取消息清单报告

Inputs: queue (required), ack, count, connection. Returns: object

rabbitmq_get_queueA

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

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

Inputs: queue (required), vhost, connection. Returns: object

rabbitmq_list_bindingsB

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

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

Inputs: queue, vhost, exchange, connection. Returns: object

rabbitmq_list_channelsA

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

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

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

Inputs: vhost, connection, connection_name. Returns: object

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 结构化的客户端连接诊断清单

Inputs: vhost, connection. Returns: object

rabbitmq_list_configured_brokersA

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

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

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

Inputs: no named parameters. Returns: result

rabbitmq_list_connectionsA

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

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

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

Inputs: no named parameters. Returns: result

rabbitmq_list_exchangesB

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

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

Inputs: vhost, connection. Returns: object

rabbitmq_list_queuesB

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

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

Inputs: vhost, connection. Returns: object

rabbitmq_overviewB

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

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

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

Inputs: connection. Returns: object

rabbitmq_peek_messagesA

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

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

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

Inputs: queue (required), count, connection. Returns: object

rabbitmq_pingA

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

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

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

Inputs: connection. Returns: object

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 消息投递确认报告

Inputs: exchange (required), headers, payload, priority, +4 more. Returns: object

rabbitmq_purge_queueA

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

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

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

Inputs: name (required), confirm, connection. Returns: object

rabbitmq_unbind_queueA

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

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

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

Inputs: queue (required), exchange (required), arguments, connection, +1 more. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    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

    ActivitySlowing
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers