mcpField
R
rabbitmq-mcp

rabbitmq-mcp

Local
github.com/kmitchellCloud & Infra1Updated 77w ago

About rabbitmq-mcp

rabbitmq-mcp connects MCP clients to RabbitMQ through its HTTP API, exposing API capabilities as tools. It supports local stdio operation and requires RabbitMQ's management plugin.

Key features

  1. 01Expose RabbitMQ HTTP API features as tools
  2. 02Interact with RabbitMQ through MCP clients
  3. 03Configure connections with environment variables
  4. 04Optional TLS certificate configuration
  5. 05Local stdio transport

Use cases

  1. 01Check queue message counts
  2. 02Move messages between queues
  3. 03Purge a dead-letter queue
  4. 04Check alarms in a virtual host

MCP support

The server exposes RabbitMQ HTTP API capabilities as tools for MCP clients. It currently runs locally over stdio; remote SSE support is planned.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"rabbitmq": {
"command": "npx",
"args": [
"-y",
"rabbitmq-mcp"
]
}
}
}
Run commandnpx -y rabbitmq-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmrabbitmq-mcp

Tools

123

Saved tool list · updated 3w ago

This tool takes no parameters.

Details

From the project README

rabbitmq-mcp NPM Version

A Model Context Protocol (MCP) server for RabbitMQ, enabling MCP clients to interact with RabbitMQ. This server aims to expose the full range of features available in the official RabbitMQ HTTP API as tools.

MCP is a standardized protocol for managing context between large language models (LLMs) and external systems, such as RabbitMQ. It allows users to ask MCP-enabled AI agents, like Claude Desktop or Cursor, to interact with external systems using natural language.

💬 Example Requests:

  • Get me the message count in the inbound signup metrics queue, and if it's over 10,000, move half of them to the metrics overflow queue.
  • Purge the outbound email deadletter queue.
  • Check if there are any alarms triggered in the production vhost.

These are parseable and actionable requests that an MCP client can handle with this server.

Installation

If you prefer to install locally:

npm install -g rabbitmq-mcp

Or with npx:

npx -y rabbitmq-mcp

Environment Variables

The following environment variables are required to configure a connection to your RabbitMQ instance:

  • RABBITMQ_HOST – accessible host (e.g. test.abc.cloudamqp.com)
  • RABBITMQ_USERNAME – RabbitMQ username
  • RABBITMQ_PASSWORD – RabbitMQ password
  • RABBITMQ_MANAGEMENT_PORT – management port (e.g. 443 or 15672)
  • RABBITMQ_PROTOCOL – https (default) or http. Use https for secure connections.
Optional TLS/HTTPS Options

You can provide TLS/HTTPS credentials either as file paths or as environment variable strings:

  • RABBITMQ_CA – CA certificate (PEM string)
  • RABBITMQ_CERT – Client certificate (PEM string)
  • RABBITMQ_KEY – Client private key (PEM string)
  • RABBITMQ_CA_PATH – Path to CA certificate file
  • RABBITMQ_CERT_PATH – Path to client certificate file
  • RABBITMQ_KEY_PATH – Path to client private key file

A cert verification flag exists for debugging, if needed:

  • RABBITMQ_REJECT_UNAUTHORIZED – Set to false to disable server certificate verification (defaults to true)

MCP Client Configuration Example

As MPC is in rapid development, clients can be finicky to set up correctly. Here's an example best-case config for Claude and 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"
      }
    }
  }
}

If you experience initialization errors, you may need to use absolute paths for the command and/or args:

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

Important

Currently, this server only supports running locally with stdio. Remote functionality using SSE/streaming is planned for a future update.

Important

The management plugin must be enabled in your RabbitMQ instance to use this server. While there are many options for interacting with RabbitMQ directly via AMQP, the protocol only provides a small subset of the capabilities available through the HTTP API.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.