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

ToolDescription
send_message(queue_name: str, message: str) -> NonePublish a message to a durable quorum queue
queue_info(queue_name: str) -> dictGet message_count/consumer_count without consuming anything (passive queue_declare). Raises if the queue doesn't exist.
receive_message(queue_name: str) -> dict | NoneFetch 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

VariableRequiredDefaultNotes
CONNECTION_STRINGnoFull AMQP URL; overrides the host/port/credentials vars below if set
RABBITMQ_HOSTno127.0.0.1
RABBITMQ_PORTno5672
RABBITMQ_USERNAMEyes
RABBITMQ_PASSWORDyes

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.