rabbitmq-mcp
About
rabbitmq-mcp is a Model Context Protocol (MCP) server that exposes the full RabbitMQ HTTP API as tools for MCP clients. It allows users to manage RabbitMQ queues, messages, and vhosts through natural language commands given to MCP-enabled AI agents like Claude Desktop or Cursor.
Details
- Author
- kmitchell
- Downloads
- 250
- Categories
- Other
Jump to
- Exposes full RabbitMQ HTTP API as MCP tools
- Enables natural‑language management of queues and vhosts
- Supports TLS/HTTPS with optional certificate verification
- Operates locally via stdio transport (remote support planned)
- Flexible configuration via environment variables
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
rabbitmq-mcpCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install globally via npm install -g rabbitmq-mcp or run with npx -y rabbitmq-mcp. Set required environment variables (RABBITMQ_HOST, RABBITMQ_USERNAME, RABBITMQ_PASSWORD, RABBITMQ_MANAGEMENT_PORT, RABBITMQ_PROTOCOL) and optionally TLS credentials. Configure an MCP client (e.g., Claude Desktop) with stdio transport using the provided JSON example. The RabbitMQ management plugin must be enabled on your instance.
list-federation-links
List all federation links in the RabbitMQ cluster.
list-federation-links-vhost
List all federation links for a given vhost.
list-auth-attempts-node
List all authentication attempts for a node.
list-auth-attempts-node-source
List all authentication attempts for a node/source.
hash-password
Hash a password using RabbitMQ's internal hashing.
get-auth-info
Get authentication info for the current user.
list-bindings
List all bindings in the RabbitMQ cluster.
list-bindings-vhost
List all bindings for a specific vhost.
list-bindings-exchange-queue
List bindings between an exchange and a queue.
create-binding-exchange-queue
Create a binding from an exchange to a queue.
delete-binding-exchange-queue
Delete a binding from an exchange to a queue.
list-bindings-exchange-exchange
List bindings between two exchanges.
create-binding-exchange-exchange
Create a binding from one exchange to another.
delete-binding-exchange-exchange
Delete a binding from one exchange to another.
list-channels
List all channels in the RabbitMQ cluster.
get-channel
Get details for a specific channel.
list-channels-connection
List all channels for a given connection.
list-connections
List all open connections.
get-connection
Get details for a specific connection.
delete-connection
Close a specific connection.
list-connections-vhost
List all open connections in a specific virtual host.
list-connections-username
List all open connections for a specific username.
delete-connections-username
Close all connections for a specific username. Optionally provide a reason.
get-connection-channels
List all channels for a given connection.
list-consumers
List all consumers in the RabbitMQ cluster.
list-consumers-vhost
List all consumers for a specific vhost.
list-consumers-queue
List all consumers for a specific queue.
list-exchanges
List all exchanges in the RabbitMQ cluster.
list-exchanges-vhost
List all exchanges for a specific vhost.
get-exchange
Get details for a specific exchange.
put-exchange
Create or update an exchange.
delete-exchange
Delete an exchange.
get-exchange-bindings-source
List bindings from an exchange (source).
get-exchange-bindings-destination
List bindings to an exchange (destination).
get-health-alarms
Get health check status for alarms.
get-health-local-alarms
Get health check status for local alarms.
get-health-certificate-expiration
Get health check status for certificate expiration within a given time.
get-health-port-listener
Get health check status for a port listener.
get-health-protocol-listener
Get health check status for a protocol listener.
get-health-virtual-hosts
Get health check status for all virtual hosts.
get-health-node-is-quorum-critical
Get health check status for node quorum criticality.
get-rebalance-queues
Get rebalance status for queues.
get-whoami
Get information about the current user.
get-auth
Get authentication status for the current user.
get-extensions
Get information about enabled RabbitMQ extensions.
list-nodes
List all nodes in the RabbitMQ cluster with their metrics
get-node
Get metrics of an individual cluster node
get-node-memory
Get memory usage breakdown of a specific cluster node
list-parameters
List all parameters in the RabbitMQ cluster.
list-parameters-component
List all parameters for a given component.
list-parameters-component-vhost
List all parameters for a given component in a vhost.
get-parameter
Get a specific parameter for a component in a vhost.
put-parameter
Create or update a parameter for a component in a vhost.
delete-parameter
Delete a parameter for a component in a vhost.
list-global-parameters
List all global parameters in the RabbitMQ cluster.
get-global-parameter
Get a specific global parameter.
put-global-parameter
Create or update a global parameter.
delete-global-parameter
Delete a global parameter.
list-permissions
List all permissions in the RabbitMQ cluster.
get-permission
Get permissions for a user in a vhost.
set-permission
Set permissions for a user in a vhost.
delete-permission
Delete permissions for a user in a vhost.
list-topic-permissions
List all topic permissions in the RabbitMQ cluster.
get-topic-permission
Get topic permissions for a user in a vhost.
set-topic-permission
Set topic permissions for a user in a vhost.
delete-topic-permission
Delete topic permissions for a user in a vhost.
list-policies
List all policies in the RabbitMQ cluster.
list-policies-vhost
List all policies for a given vhost.
get-policy
Get a specific policy for a vhost.
put-policy
Create or update a policy for a vhost.
delete-policy
Delete a policy for a vhost.
list-operator-policies
List all operator policies in the RabbitMQ cluster.
list-operator-policies-vhost
List all operator policies for a given vhost.
get-operator-policy
Get a specific operator policy for a vhost.
put-operator-policy
Create or update an operator policy for a vhost.
delete-operator-policy
Delete an operator policy for a vhost.
list-queues
List all queues across all known vhosts
list-queues-vhost
List queues for a specific vhost
get-queue
Get details for a specific queue
put-queue
Create or update a queue
delete-queue
Delete a queue
purge-queue
Purge a queue
get-queue-messages
Get messages from a queue
get-queue-bindings
List queue bindings
get-queue-unacked
List unacked messages for a queue
pause-queue
Pause a queue
resume-queue
Resume a queue
list-stream-connections
List all stream connections in the RabbitMQ cluster.
list-stream-connections-vhost
List all stream connections for a given vhost.
get-stream-connection
Get details for a specific stream connection in a vhost.
get-stream-connection-publishers
Get all publishers for a specific stream connection in a vhost.
get-stream-connection-consumers
Get all consumers for a specific stream connection in a vhost.
delete-stream-connection
Delete a specific stream connection in a vhost.
list-stream-publishers
List all stream publishers in the RabbitMQ cluster.
list-stream-publishers-vhost
List all stream publishers for a given vhost.
list-stream-publishers-vhost-stream
List all stream publishers for a stream in a vhost.
list-stream-consumers
List all stream consumers in the RabbitMQ cluster.
list-stream-consumers-vhost
List all stream consumers for a given vhost.
list-users
List all users in the RabbitMQ cluster.
get-user
Get details for a specific user.
put-user
Create or update a user.
delete-user
Delete a user.
list-user-permissions
List all permissions for a user.
list-user-topic-permissions
List all topic permissions for a user.
list-users-without-permissions
List all users without permissions.
bulk-delete-users
Bulk delete users.
list-user-limits
List all user limits.
get-user-limit
Get a user limit.
set-user-limit
Set a user limit.
delete-user-limit
Delete a user limit.
list-vhosts
List all virtual hosts in the cluster
get-vhost
Get details for a specific virtual host
put-vhost
Create or update a virtual host
delete-vhost
Delete a virtual host
get-vhost-permissions
List all permissions for a given virtual host
get-vhost-topic-permissions
List all topic permissions for a given virtual host
protect-vhost
Protect a virtual host from deletion
unprotect-vhost
Remove deletion protection from a virtual host
start-vhost-on-node
Start or restart a virtual host on a node
list-vhost-limits
List all vhost limits in the RabbitMQ cluster.
list-vhost-limits-vhost
List all vhost limits for a specific vhost.
put-vhost-limit
Set a vhost limit for a vhost.
delete-vhost-limit
Delete a vhost limit for a vhost.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"rabbitmq-mcp": {
"rabbitmq-mcp": {
"command": "npx",
"args": [
"-y",
"rabbitmq-mcp"
]
}
}
}
}
McpServers
{
"rabbitmq-mcp": {
"command": "npx",
"args": [
"-y",
"rabbitmq-mcp"
]
}
}
rabbitmq-mcp 
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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



