RabbitMQ Connector (data-connectors-ai)
MCP server for RabbitMQ: publish messages, poll one message from a durable quorum queue.
Documentation
RabbitMQ MCP Server
MCP server for RabbitMQ: publish messages, poll one message off a queue.
Tools
| Tool | Description |
|---|---|
send_message(queue_name: str, message: str) -> None | Publish a message to a durable quorum queue |
queue_info(queue_name: str) -> dict | Get message_count/consumer_count without consuming anything (passive queue_declare). Raises if the queue doesn't exist. |
receive_message(queue_name: str) -> dict | None | Fetch and remove at most one message (basic_get, auto-ack). None if the queue is empty. |
Why receive_message isn't the existing RabbitMQReceiveClient
RabbitMQReceiveClient is a background-thread consumer: it holds a channel open, dispatches deliveries to a callback, and only acks once that callback returns. That shape has no equivalent in a stateless MCP tool call — there's no way for an agent to "hold" a delivery tag open across turns while it decides whether to ack or nack.
receive_message is a from-scratch redesign: a single basic_get call, auto-acked immediately. Calling it removes the message from the queue right away — there's no peek-without-consuming, and no redelivery if the agent's next step fails after reading the response. A queue that needs at-least-once processing across agent turns should not be drained through this tool.
Tested against a real dockerized RabbitMQ, not mocks.
Environment Variables
| Variable | Required | Default | Notes |
|---|---|---|---|
CONNECTION_STRING | no | — | Full AMQP URL; overrides the host/port/credentials vars below if set |
RABBITMQ_HOST | no | 127.0.0.1 | |
RABBITMQ_PORT | no | 5672 | |
RABBITMQ_USERNAME | yes | — | |
RABBITMQ_PASSWORD | yes | — |
Run locally
pip install "data-connectors-ai[rabbitmq,mcp]"
data-connectors-rabbitmq-mcp
Use with an MCP client
{
"mcpServers": {
"rabbitmq": {
"command": "uvx",
"args": ["--from", "data-connectors-ai[rabbitmq,mcp]", "data-connectors-rabbitmq-mcp"],
"env": {
"RABBITMQ_HOST": "localhost",
"RABBITMQ_USERNAME": "guest",
"RABBITMQ_PASSWORD": "guest"
}
}
}
}
Registry
Published at io.github.nagarjunr/data-connectors-rabbitmq on the official MCP registry.