mcpField
R
rabbitmq-mcp

rabbitmq-mcp

本地服务
github.com/kmitchell云与基础设施177 周前更新

关于 rabbitmq-mcp

rabbitmq-mcp 通过 RabbitMQ HTTP API 连接 MCP 客户端,并将 API 能力开放为工具。它支持本地 stdio 运行,且需要启用 RabbitMQ 管理插件。

主要功能

  1. 01将 RabbitMQ HTTP API 能力开放为工具
  2. 02通过 MCP 客户端操作 RabbitMQ
  3. 03使用环境变量配置连接
  4. 04可选 TLS 证书配置
  5. 05本地 stdio 传输

适用场景

  1. 01查看队列消息数量
  2. 02在队列间移动消息
  3. 03清空死信队列
  4. 04检查虚拟主机中的告警

MCP 相关

该服务将 RabbitMQ HTTP API 能力作为工具提供给 MCP 客户端。目前仅支持本地 stdio 运行,远程 SSE 支持计划后续加入。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"rabbitmq": {
"command": "npx",
"args": [
"-y",
"rabbitmq-mcp"
]
}
}
}
启动命令npx -y rabbitmq-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmrabbitmq-mcp

工具

123

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

rabbitmq-mcp NPM 版本

一个用于 RabbitMQ 的模型上下文协议(MCP)服务,让 MCP 客户端能够与 RabbitMQ 交互。此服务旨在将 RabbitMQ 官方 HTTP API 提供的全部功能作为工具开放出来。

MCP 是一种标准化协议,用于管理大模型(LLM)与 RabbitMQ 等外部系统之间的上下文。借助该协议,用户可以用自然语言请求支持 MCP 的 AI Agent(例如 Claude Desktop 或 Cursor)与外部系统交互。

💬 示例请求:

  • 查询 inbound signup metrics 队列中的消息数量,如果超过 10,000,则将其中一半移至 metrics overflow 队列。
  • 清空 outbound email deadletter 队列。
  • 检查 production vhost 中是否触发了任何警报。

这些请求可解析且可执行,MCP 客户端可以通过此服务处理它们。

安装

如果你更倾向于本地安装:

npm install -g rabbitmq-mcp

也可以使用 npx:

npx -y rabbitmq-mcp

环境变量

配置与 RabbitMQ 实例的连接需要以下环境变量:

  • RABBITMQ_HOST – 可访问的主机(例如 test.abc.cloudamqp.com)
  • RABBITMQ_USERNAME – RabbitMQ 用户名
  • RABBITMQ_PASSWORD – RabbitMQ 密码
  • RABBITMQ_MANAGEMENT_PORT – 管理端口(例如 443 或 15672)
  • RABBITMQ_PROTOCOL – https(默认)或 http。安全连接请使用 https。
可选的 TLS/HTTPS 选项

你可以通过文件路径或环境变量字符串提供 TLS/HTTPS 凭据:

  • RABBITMQ_CA – CA 证书(PEM 字符串)
  • RABBITMQ_CERT – 客户端证书(PEM 字符串)
  • RABBITMQ_KEY – 客户端私钥(PEM 字符串)
  • RABBITMQ_CA_PATH – CA 证书文件路径
  • RABBITMQ_CERT_PATH – 客户端证书文件路径
  • RABBITMQ_KEY_PATH – 客户端私钥文件路径

如有需要,可使用证书验证标志进行调试:

  • RABBITMQ_REJECT_UNAUTHORIZED – 设为 false 可禁用服务器证书验证(默认为 true)

MCP 客户端配置示例

MCP 正在快速发展,客户端的正确配置可能比较棘手。以下是适用于 Claude 和 Cursor 的最佳配置示例:

{
  "mcpServers": {
    "rabbitmq-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "rabbitmq-mcp"],
      "env": {
        "RABBITMQ_HOST": "your-host",
        "RABBITMQ_USERNAME": "your-username",
        "RABBITMQ_PASSWORD": "your-password",
        "RABBITMQ_MANAGEMENT_PORT": "15671",
        "RABBITMQ_CA_PATH": "/path/to/rabbit-cert.crt"
      }
    }
  }
}

如果遇到初始化错误,可能需要为命令和/或参数使用绝对路径:

  "command": "/local/path/to/node",
  "args": ["/local/path/to/rabbitmq-mcp/dist/index.js"],

重要

目前,此服务仅支持通过 stdio 在本地运行。使用 SSE/流式传输的远程功能计划在未来版本中推出。

重要

要使用此服务,必须在你的 RabbitMQ 实例中启用管理插件。虽然有许多选项可以通过 AMQP 直接与 RabbitMQ 交互,但该协议仅提供 HTTP API 中可用功能的一小部分。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。