RabbitMQ
Connects to a RabbitMQ broker over AMQP. An agent can publish messages to queues or exchanges, consume batches of messages, and declare queues.
Add to an agent node's tools array with _node_type: "tool-rabbitmq". See Connector Reference — How connectors are used.
Authentication
| Field | Required | Description |
|---|---|---|
url | No | AMQP connection URL, e.g. amqp://user:pass@host:5672/vhost. Falls back to amqp_url if not set, then defaults to amqp://guest:guest@localhost:5672/. |
amqp_url | No | Alternate field for the AMQP connection URL, used if url is not set. |
{
"name": "rabbitmq",
"_node_type": "tool-rabbitmq",
"url": "{{ secret.RABBITMQ_URL }}"
}
Tools
rabbitmq_publish
Publish a message to a RabbitMQ queue or exchange.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
queue | string | Yes | Queue or routing key name |
exchange | string | No | Exchange name (empty = default) |
message | string | Yes | Message body to publish |
persistent | boolean | No | Use persistent delivery mode |
Returns: A confirmation message with the byte length of the published message and the target queue.
rabbitmq_consume
Consume messages from a RabbitMQ queue (non-blocking batch).
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
queue | string | Yes | Queue name to consume from |
max | number | No | Maximum messages to consume (default 10) |
timeout | number | No | Timeout in seconds to wait for messages (default 5) |
Returns: A count of messages consumed followed by a JSON array, where each message includes body, routing_key, exchange, delivery_tag, and timestamp.
rabbitmq_declare_queue
Declare (create if not exists) a RabbitMQ queue.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
queue | string | Yes | Queue name to declare |
durable | boolean | No | Survive broker restarts |
auto_delete | boolean | No | Delete when unused |
Returns: A confirmation message with the queue name, current message count, and consumer count.