RabbitMQ REST API
Open-source message broker for reliable messaging
RabbitMQ is a widely-deployed open-source message broker that supports multiple messaging protocols including AMQP, MQTT, and STOMP. Developers use RabbitMQ to decouple applications, implement asynchronous processing, and build event-driven architectures with features like message queuing, routing, clustering, and high availability. The Management HTTP API enables programmatic control of queues, exchanges, bindings, and monitoring.
http://localhost:15672/api
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /overview | Get cluster-wide overview including node information, message rates, and queue totals |
| GET | /nodes | List all nodes in the RabbitMQ cluster with status and resource usage |
| GET | /connections | List all currently open client connections with connection details |
| GET | /channels | List all active channels across all connections |
| GET | /exchanges | List all exchanges across all virtual hosts |
| GET | /exchanges/{vhost}/{name} | Get details of a specific exchange including bindings and configuration |
| PUT | /exchanges/{vhost}/{name} | Create or update an exchange with specific type and properties |
| DELETE | /exchanges/{vhost}/{name} | Delete an exchange from the specified virtual host |
| GET | /queues | List all queues across all virtual hosts with message counts and rates |
| GET | /queues/{vhost}/{name} | Get detailed information about a specific queue including consumers and messages |
| PUT | /queues/{vhost}/{name} | Create or update a queue with durability, auto-delete, and other properties |
| DELETE | /queues/{vhost}/{name} | Delete a queue and optionally remove all messages |
| GET | /bindings | List all bindings between exchanges and queues |
| POST | /bindings/{vhost}/e/{exchange}/q/{queue} | Create a binding between an exchange and a queue with routing key |
| POST | /queues/{vhost}/{name}/get | Get messages from a queue with acknowledgment options |
Sponsor this page
AvailableReach developers actively building with RabbitMQ. See live pageview data and self-serve checkout — your slot goes live in minutes.
View inventory & pricing →Code Examples
# Get overview of RabbitMQ cluster
curl -u guest:guest \
http://localhost:15672/api/overview
# Create a new queue
curl -u guest:guest \
-X PUT \
-H 'Content-Type: application/json' \
-d '{"durable":true,"auto_delete":false}' \
http://localhost:15672/api/queues/%2F/my-queue
# List all queues
curl -u guest:guest \
http://localhost:15672/api/queues
Use RabbitMQ from Claude / Cursor / ChatGPT
RabbitMQ is a self-hosted protocol — it lives on a host you operate (default http://localhost:15672/api). A
hosted MCP gateway can't reach localhost on your machine, so the usual one-click setup doesn't apply.
These are the tools an MCP for RabbitMQ would expose:
rabbitmq_create_queue
Create a new message queue with specified durability, TTL, and dead letter exchange settings
rabbitmq_publish_message
Publish a message to an exchange with routing key and optional headers
rabbitmq_get_queue_stats
Retrieve queue statistics including message counts, consumer counts, and message rates
rabbitmq_create_binding
Create a binding between an exchange and queue with routing patterns
rabbitmq_monitor_cluster
Monitor cluster health, node status, memory usage, and connection metrics
Run an RabbitMQ MCP locally
The local-CLI version of these tools is on the way (npx @meru/rest-mcp --vendor=rabbitmq · BYO connection string · zero secrets sent to us). For now use the patterns below in your own MCP server, or self-host one from the IOX templates.