Skip to content

Application Development · Beta

RabbitMQ
API integration

Ship Application Development features without building the integration. Full RabbitMQ API access via Proxy and 130+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
RabbitMQ

Use Cases

Why integrate with RabbitMQ

Common scenarios for SaaS companies building RabbitMQ integrations for their customers.

01

Ship a RabbitMQ integration for observability platforms

Let your users connect their RabbitMQ clusters so your APM or incident management product can poll queue depth, unacknowledged messages, and node memory to detect worker bottlenecks before they page an SRE.

02

Power FinOps and resource cleanup workflows

Cost optimization tools can surface idle queues, orphaned exchanges, and zero-consumer resources across a customer's vhosts, then offer safe one-click cleanup using RabbitMQ's built-in `if-unused` guards.

03

Automate ephemeral environments for CI/CD

Preview environment and internal developer platform products can provision isolated vhosts, exchanges, queues, and bindings on pull request open, then tear the whole namespace down when the PR merges.

04

Run security and compliance audits on messaging infrastructure

CSPM and SOC2 automation tools can pull user permissions, topic permissions, and protocol listener health to flag orphaned accounts, overly broad access, or unencrypted AMQP endpoints.

05

Enable configuration backup, restore, and cluster migration

Backup and DR products can export full definitions (exchanges, queues, bindings, policies, users) as a JSON blueprint and import them into another cluster for migrations, disaster recovery, or environment cloning.

What You Can Build

Ship these features with Truto + RabbitMQ

Concrete product features your team can ship faster by leveraging Truto’s RabbitMQ integration instead of building from scratch.

01

Real-time queue health dashboard

Render `messages_ready`, `messages_unacknowledged`, consumer counts, and consumer utilisation per queue using the detailed queues endpoint, refreshed on your own polling cadence.

02

Topology and data flow visualizer

Map exchanges to queues via exchange and queue bindings endpoints to render a live graph of how messages route through a customer's cluster.

03

One-click definitions export and restore

Let users snapshot an entire vhost or cluster (exchanges, queues, bindings, policies, users) and re-import it into another environment with a single action.

04

Automated dead resource cleanup

Identify long-idle queues and unused exchanges, then delete them safely with `if-unused` conditions, or purge queues that have accumulated stale messages.

05

User and permission auditor

List users without permissions, enumerate per-vhost and topic permissions, and bulk-delete orphaned accounts to enforce access hygiene.

06

Auto-remediation actions for on-call

Trigger queue actions, force-close stuck connections or channels, and restart shovels directly from your incident response workflows.

SuperAI

RabbitMQ AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_rabbit_mq_aliveness_tests

Run the RabbitMQ aliveness test, a deprecated HTTP API health check equivalent to the no-op node_health_check command that publishes and consumes a test message. Returns: routed. This endpoint has been deprecated since 2021 and is a no-op starting with RabbitMQ 4.1.0.

list_all_rabbit_mq_overviews

Get RabbitMQ overview information describing the whole system, including cluster identity, node, RabbitMQ/Erlang versions, object totals, message statistics, listeners, contexts, exchange types, and rate sample-retention policies. Returns: churn_rates, cluster_name, contexts, erlang_full_version, erlang_version, exchange_types, listeners, management_version, message_stats, node, object_totals,…

list_all_rabbit_mq_cluster_names

Get the name identifying a RabbitMQ cluster. Returns: name, hashing_algorithm, password_hash, tags.

rabbit_mq_cluster_names_bulk_update

Update the name identifying a RabbitMQ cluster by providing a new cluster name. Returns: name, tags, default_queue_type, protected_from_deletion. Required: name.

list_all_rabbit_mq_nodes

List all nodes in the RabbitMQ cluster together with their metrics. Returns: name, type, uptime, processors, running, applications, auth_mechanisms, and cluster_links.

rabbit_mq_nodes_get_memory

Get a memory usage breakdown of a specific RabbitMQ cluster node. Returns: memory, tags, default_queue_type, protected_from_deletion. Required: node_id.

get_single_rabbit_mq_node_by_id

Get metrics for an individual RabbitMQ cluster node by name. Returns: oauth_enabled, oauth_client_id, oauth_provider_url. Required: id.

list_all_rabbit_mq_definitions

Export cluster-wide RabbitMQ definitions — all exchanges, queues, bindings, users, vhosts, permissions, topic permissions, policies, parameters, and global parameters. Returns: bindings, exchanges, policies, queues, rabbit_version, users, vhosts, permissions, topic_permissions, global_parameters.

create_a_rabbit_mq_definition

Import cluster-wide RabbitMQ definitions by uploading a Definition object. Definitions are merged with existing server state; conflicting immutable objects are ignored and mutable objects are overwritten. Returns an empty 204 response on success.

rabbit_mq_definitions_get_vhost

Export RabbitMQ definitions for a single virtual host, including its exchanges, queues, bindings, policies, and parameters. Returns: bindings, exchanges, policies, queues, rabbit_version, tags, default_queue_type, protected_from_deletion. Required: vhost.

rabbit_mq_definitions_import_vhost

Import vhost-specific RabbitMQ definitions by uploading a definitions object for a single virtual host. Definitions are merged with existing server state; conflicting immutable objects are ignored and mutable objects are overwritten. Returns an empty 204 response on success. Required: vhost.

list_all_rabbit_mq_feature_flags

List all feature flags in a RabbitMQ cluster and their state. Returns: routed.

list_all_rabbit_mq_deprecated_features

List all deprecated features in a RabbitMQ cluster and their current state. Returns an array of deprecated feature objects, each with the feature name and its state. No required parameters.

list_all_rabbit_mq_deprecated_features_useds

List deprecated features that are currently used in the RabbitMQ cluster. Returns a list of deprecated feature usage records. No required parameters.

list_all_rabbit_mq_connections

List all open RabbitMQ connections across every virtual host. Returns for each connection: name, node, state, user, vhost, peer_host, peer_port, channels, send_oct, recv_oct, connected_at. Use pagination parameters; this endpoint can otherwise produce very large responses. Default page size is 100, maximum 500. Non-AMQP connections may omit many connection-level statistics.

rabbit_mq_connections_list_vhost

List the open RabbitMQ connections in a specific virtual host. Returns the same fields as the list method. Required: vhost. Use pagination parameters; this endpoint can otherwise produce very large responses. Default page size is 100, maximum 500. Non-AMQP connections may omit many connection-level statistics.

rabbit_mq_connections_list_by_username

List all open RabbitMQ connections that authenticated using a specific username. Returns: name, node, recv_oct, send_oct, and connection-level statistics. Required: username. Non-AMQP connections may omit many connection-level statistics.

rabbit_mq_connections_delete_by_username

Close all RabbitMQ connections authenticated by a specific username. Returns an empty 204 response on success. Required: username.

get_single_rabbit_mq_connection_by_id

Get metrics for an individual RabbitMQ connection by name. Returns: name, node, user, vhost, peer_host, peer_port, channels, state, send_oct, recv_oct, connected_at. Required: id (the connection name, which must be percent-encoded). Non-AMQP connections may omit many connection-level statistics.

delete_a_rabbit_mq_connection_by_id

Close a specific RabbitMQ connection by id. Returns an empty 204 response on success. Required: id.

list_all_rabbit_mq_channels

List all open RabbitMQ channels. Returns: routed. Default page size is 100, maximum supported page size is 500.

rabbit_mq_channels_list_by_connection

List all open channels for a specific RabbitMQ connection. Returns: connection_details, message_stats, tags, default_queue_type, protected_from_deletion. Required: connection. Default page size is 100, maximum supported page size is 500.

rabbit_mq_channels_list_vhost

List all open channels in a specific RabbitMQ virtual host. Returns channel records including connection_details (owning connection info) and message_stats (message counts such as publish, deliver, and ack). Required: vhost. Default page size is 100, maximum supported page size is 500.

get_single_rabbit_mq_channel_by_id

Get details about an individual RabbitMQ channel by id. Returns the channel object including connection_details, message_stats, deliveries, and consumer_details. Required: id.

list_all_rabbit_mq_consumers

List all RabbitMQ consumers across all virtual hosts. Returns: arguments, routed. Default page size is 100, maximum supported page size is 500.

rabbit_mq_consumers_list_vhost

List all RabbitMQ consumers in a specific virtual host. Returns: arguments, tags, default_queue_type, protected_from_deletion. Required: vhost. The default virtual host name must be percent-encoded as %2F.

list_all_rabbit_mq_exchanges

List all RabbitMQ exchanges across all virtual hosts. Returns: arguments, auto_delete, durable, incoming, internal, message_stats, name, outgoing, type, user_who_performed_action, vhost.

update_a_rabbit_mq_exchange_by_id

Declare (create or redeclare) an exchange in RabbitMQ by providing its type and properties. Returns an empty 201 response when a new exchange is created, or an empty 204 response when an existing exchange is redeclared. Required: vhost, id.

delete_a_rabbit_mq_exchange_by_id

Delete an exchange in RabbitMQ. Set if_unused to true to make the operation a no-op if the exchange is still bound to a queue or used as a source by another exchange. Returns an empty 204 response on success. Required: vhost, id.

rabbit_mq_exchanges_publish

Publish a message to a RabbitMQ exchange via the HTTP API. Returns: routed. Required: vhost, exchange, routing_key, payload, payload_encoding, properties. The HTTP API is inefficient for publishing; prefer a messaging protocol for production use.

rabbit_mq_exchanges_list_vhost

List all exchanges in a RabbitMQ virtual host. Returns each exchange with name, type, durable, auto_delete, internal, arguments, vhost, and user_who_performed_action. Required: vhost.

rabbit_mq_exchanges_list_bindings_source

List all bindings in which a given RabbitMQ exchange is the source. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, exchange.

rabbit_mq_exchanges_list_bindings_destination

List all bindings in which a given RabbitMQ exchange is the destination. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, exchange.

get_single_rabbit_mq_exchange_by_id

Get metrics of an individual RabbitMQ exchange by id within a virtual host. Returns: arguments, auto_delete, durable, incoming, internal, message_stats, name, outgoing, type, user_who_performed_action, vhost. Required: vhost, id.

list_all_rabbit_mq_queues

List all RabbitMQ queues across all virtual hosts with a reduced set of fields. Returns: arguments, auto_delete, backing_queue_status, consumer_details, consumer_utilisation, consumers, deliveries, durable, effective_policy_definition, exclusive, exclusive_consumer_tag, garbage_collection, head_message_timestamp, idle_since, incoming, memory, message_bytes, message_bytes_paged_out,…

update_a_rabbit_mq_queue_by_id

Declare (create or update) a RabbitMQ queue by id within a specific virtual host. Returns an empty 201 or 204 response on success. Required: vhost, id. Body accepts auto_delete, durable, arguments, and node.

delete_a_rabbit_mq_queue_by_id

Delete a RabbitMQ queue by id within a specific virtual host. Returns an empty 204 response on success. Required: vhost, id. The if-empty and if-unused params (both default to true) make deletion conditional on the queue being empty and unused.

rabbit_mq_queues_list_bindings

List all bindings for a specific RabbitMQ queue. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, queue.

rabbit_mq_queues_purge

Purge all messages in Ready state from a RabbitMQ queue. Returns an empty 204 response on success. Required: vhost, queue.

rabbit_mq_queues_get_messages

Get messages from a RabbitMQ queue by posting a consume request. Returns an array of messages each with payload, routing_key, exchange, message_count, payload_bytes, payload_encoding, properties, and redelivered flag. Required: vhost, queue. Intended for development and troubleshooting only, not for production use.

rabbit_mq_queues_list_vhost

List all queues in a RabbitMQ virtual host with full metrics. Returns: arguments, auto_delete, backing_queue_status, consumer_details, consumer_utilisation, consumers, deliveries, durable, effective_policy_definition, exclusive, exclusive_consumer_tag, garbage_collection, head_message_timestamp, idle_since, incoming, memory, message_bytes, message_bytes_paged_out, message_bytes_persistent,…

get_single_rabbit_mq_queue_by_id

Get metrics for a single RabbitMQ queue by id. Returns: arguments, auto_delete, backing_queue_status, consumer_details, consumer_utilisation, consumers, deliveries, durable, effective_policy_definition, exclusive, exclusive_consumer_tag, garbage_collection, head_message_timestamp, idle_since, incoming, memory, message_bytes, message_bytes_paged_out, message_bytes_persistent, message_bytes_ram,…

rabbit_mq_queues_action

Trigger an action on a RabbitMQ queue. Returns an empty 204 response on success. Required: vhost, queue, action.

list_all_rabbit_mq_queues_detaileds

List all RabbitMQ queues with full detailed metrics including message counts, consumer info, and runtime statistics. Returns: name, vhost, durable, auto_delete, exclusive, state, node, arguments, consumers, consumer_utilisation, exclusive_consumer_tag, messages, messages_ready, messages_unacknowledged, messages_persistent, messages_ram, messages_paged_out, messages_ready_ram,…

list_all_rabbit_mq_bindings

List all RabbitMQ bindings across all virtual hosts. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost. Default page size is 100, maximum 500.

rabbit_mq_bindings_list_vhost

List all RabbitMQ bindings in a specific virtual host. Returns: arguments, tags, default_queue_type, protected_from_deletion. Required: vhost. Default page size is 100, maximum 500.

rabbit_mq_bindings_list_exchange_queue

List all RabbitMQ bindings between a specific exchange and queue. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, exchange, queue. An exchange and queue can be bound together multiple times, so the list may contain several bindings for the same pair.

rabbit_mq_bindings_create_exchange_queue

Bind a queue to an exchange in RabbitMQ. Returns a 201 with a Location header containing the URI of the newly created binding; no response body. Required: vhost, exchange, queue. Both body fields (routing_key, arguments) are optional.

rabbit_mq_bindings_get_exchange_queue_props

Get an individual RabbitMQ binding between a specific exchange and queue by its properties key. Returns: arguments, destination, destination_type, properties_key, routing_key, source, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, exchange, queue, props. The props value is the properties_key field from a bindings listing response.

rabbit_mq_bindings_delete_exchange_queue_props

Delete an individual binding between an exchange and a queue in RabbitMQ. The props path segment is the synthesised binding name (the properties_key from a bindings listing response). Returns an empty 204 response on success. Required: vhost, exchange, queue, props.

rabbit_mq_bindings_list_exchange_exchange

List all exchange-to-exchange bindings between a source and destination exchange in a RabbitMQ virtual host. Returns: arguments, tags, default_queue_type, protected_from_deletion. Required: vhost, source, destination.

rabbit_mq_bindings_create_exchange_exchange

Create a new exchange-to-exchange binding in RabbitMQ by POSTing to the binding factory URI. The request body optionally accepts routing_key and arguments. No response body is returned; the Location header contains the URI of the newly declared binding. Required: vhost, source, destination.

rabbit_mq_bindings_get_exchange_exchange_props

Get the details of a specific exchange-to-exchange binding in RabbitMQ by its properties key. The props path segment is the synthesised binding name (the properties_key from a bindings listing response). Returns: source, destination, destination_type, routing_key, arguments, properties_key, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, source, destination, props.

rabbit_mq_bindings_delete_exchange_exchange_props

Delete an exchange-to-exchange binding in RabbitMQ by its properties key. The props path segment is the synthesised binding name (the properties_key from a bindings listing response). Returns an empty 204 response on success. Required: vhost, source, destination, props.

list_all_rabbit_mq_vhosts

List all virtual hosts in the RabbitMQ cluster. Returns: message_stats, messages, messages_details, messages_ready, messages_ready_details, messages_unacknowledged, messages_unacknowledged_details, name, recv_oct, recv_oct_details, send_oct, send_oct_details, tracing, cluster_state, description, tags, default_queue_type, protected_from_deletion. Default page size is 100, maximum supported page…

update_a_rabbit_mq_vhost_by_id

Create or update a RabbitMQ virtual host by id with optional metadata (description, tags, default_queue_type, protected_from_deletion, tracing). All metadata fields are optional. Returns an empty 204 response on success (201 when creating a new vhost). Required: id.

delete_a_rabbit_mq_vhost_by_id

Delete a RabbitMQ virtual host by id. The vhost must not be deletion-protected. Returns an empty 204 response on success. Required: id.

rabbit_mq_vhosts_start

Start or restart a RabbitMQ virtual host on the cluster node. Doing this explicitly is almost never necessary as nodes ensure all vhosts are started after cluster formation. Returns an empty 204 response on success. Required: name.

rabbit_mq_vhosts_list_users

List users with permissions in a specific RabbitMQ virtual host. Returns: configure, read, user, vhost, write, tags, default_queue_type, protected_from_deletion. Required: name.

get_single_rabbit_mq_vhost_by_id

Get a single RabbitMQ virtual host by name. Returns: message_stats, messages, messages_details, messages_ready, messages_ready_details, messages_unacknowledged, messages_unacknowledged_details, name, recv_oct, recv_oct_details, send_oct, send_oct_details, tracing, cluster_state. Required: id (the vhost name).

list_all_rabbit_mq_users

List all RabbitMQ users in the internal data store. Returns: configure, read, user, vhost, write. Only includes internal users, not LDAP or other backend users.

update_a_rabbit_mq_user_by_id

Create or update a RabbitMQ user by id. A password or password_hash must be provided in the body. Returns an empty 201 or 204 response on success. Required: id.

delete_a_rabbit_mq_user_by_id

Delete a RabbitMQ user by id. Returns an empty 204 response on success. Required: id.

rabbit_mq_users_list_permissions

List all permissions for a given RabbitMQ user across virtual hosts. Returns: configure, read, user, vhost, write. Required: user.

get_single_rabbit_mq_user_by_id

Get a single RabbitMQ user by id from the internal data store. Returns: hashing_algorithm, name, password_hash, tags, default_queue_type, protected_from_deletion. Required: id.

rabbit_mq_users_list_topic_permissions

List a RabbitMQ user's topic exchange permissions across all virtual hosts. Returns: exchange, read, user, vhost, write, users. Required: user.

list_all_rabbit_mq_users_without_permissions

List RabbitMQ users that have no permissions on any virtual host and could be safely deleted. Returns: hashing_algorithm, name, password_hash, tags.

create_a_rabbit_mq_users_bulk_delete

Bulk delete a list of RabbitMQ users by username. Returns an empty 204 response on success. Required: users.

list_all_rabbit_mq_user_limits

List per-user limits for all users in RabbitMQ. Returns: user, name, value.

rabbit_mq_user_limits_list_user

List per-user limits for a specific user in RabbitMQ. Returns: tags, default_queue_type, protected_from_deletion. Required: user.

rabbit_mq_user_limits_set

Set a per-user limit in RabbitMQ. The user_limit_id path element refers to the limit name (max-connections or max-channels). Required: user, user_limit_id, value. Returns an empty 204 response on success.

delete_a_rabbit_mq_user_limit_by_id

Clear a per-user limit in RabbitMQ. Required: user, id. Returns an empty 204 response on success.

list_all_rabbit_mq_permissions

List all user permissions in the RabbitMQ cluster. Returns: configure, read, write, user, vhost.

rabbit_mq_permissions_list_vhost

List all user permissions for a specific virtual host in RabbitMQ. Returns: tags, default_queue_type, protected_from_deletion. Required: vhost.

get_single_rabbit_mq_permission_by_id

Get a single user's permissions in a specific virtual host in RabbitMQ. Returns: configure, read, write, user, vhost, tags, default_queue_type, protected_from_deletion. Required: vhost, id.

update_a_rabbit_mq_permission_by_id

Grant or update a user's permissions in a specific virtual host in RabbitMQ. Returns an empty 204 response on success. Required: vhost, id, configure, write, read. All three permission patterns must be explicitly provided.

delete_a_rabbit_mq_permission_by_id

Revoke a user's permissions in a specific virtual host in RabbitMQ. Returns an empty 204 response on success. Required: vhost, id.

list_all_rabbit_mq_topic_permissions

List all topic exchange permissions in the RabbitMQ cluster. Returns: exchange, write, read, configure.

rabbit_mq_topic_permissions_list_vhost

List all topic exchange permissions for a specific virtual host in RabbitMQ. Returns: write, read, configure, oauth_enabled, oauth_client_id, oauth_provider_url. Required: vhost.

get_single_rabbit_mq_topic_permission_by_id

Get a user's topic exchange permissions in a specific virtual host in RabbitMQ. Returns: tags, default_queue_type, protected_from_deletion. Required: vhost, id.

update_a_rabbit_mq_topic_permission_by_id

Grant or update a user's topic exchange permission in a specific virtual host in RabbitMQ. Returns: write, read, configure. Required: vhost, id, exchange, write, read, configure.

delete_a_rabbit_mq_topic_permission_by_id

Revoke a user's topic exchange permissions in a specific virtual host in RabbitMQ. Returns an empty 204 response on success. Required: vhost, id.

list_all_rabbit_mq_parameters

List RabbitMQ runtime parameters across all virtual hosts in the cluster. Returns: component, vhost, name, pattern, apply-to, definition.

rabbit_mq_parameters_list_vhost_component

List RabbitMQ runtime parameters for a specific component in a specific virtual host. Returns: routed. Required: component, vhost.

get_single_rabbit_mq_parameter_by_id

Get an individual runtime parameter in RabbitMQ by component, virtual host, and parameter name. Returns: tags, default_queue_type, protected_from_deletion. Required: component, vhost, id.

rabbit_mq_parameters_set

Create or update a runtime parameter in RabbitMQ by component, vhost, and parameter name. The request body structure is component-specific. Returns an empty 204 response on success. Required: component, vhost, parameter_id.

delete_a_rabbit_mq_parameter_by_id

Delete a runtime parameter in RabbitMQ by component, vhost, and id. Returns an empty 204 response on success. Required: component, vhost, id.

rabbit_mq_parameters_list_component

List RabbitMQ runtime parameters for a specific component across all virtual hosts in the cluster. Returns: routed. Required: component.

list_all_rabbit_mq_global_parameters

List all global runtime parameters in the RabbitMQ cluster. Returns: name, value.

get_single_rabbit_mq_global_parameter_by_id

Get a single global runtime parameter by id in RabbitMQ. Returns: name, value, tags, default_queue_type, protected_from_deletion. Required: id.

rabbit_mq_global_parameters_set

Set (create or update) a global runtime parameter in RabbitMQ. The value can be a string or an arbitrary JSON object. Required: global_parameter_id, name, value.

delete_a_rabbit_mq_global_parameter_by_id

Clear (delete) a global runtime parameter in RabbitMQ by id. Returns an empty 204 response on success. Required: id.

list_all_rabbit_mq_policies

List RabbitMQ policies across all virtual hosts in the cluster. Returns: routed.

rabbit_mq_policies_list_vhost

List RabbitMQ policies in a specific virtual host. Returns: routed. Required: vhost. The virtual host name must be percent-encoded (e.g. / becomes %2F).

get_single_rabbit_mq_policy_by_id

Get a single RabbitMQ policy definition by vhost and policy name. Returns: tags, default_queue_type, protected_from_deletion. Required: vhost, id. The virtual host name must be percent-encoded (e.g. / becomes %2F).

rabbit_mq_policies_set

Create or update a RabbitMQ policy in a given virtual host. Returns an empty 204 response on success. Required: vhost, policy_id. Body keys pattern, definition, priority, and apply-to are all mandatory. Only one policy applies per resource at a time; conflicting priorities must be avoided.

delete_a_rabbit_mq_policy_by_id

Delete a RabbitMQ policy by id from a given virtual host. Returns an empty 204 response on success. Required: vhost, id.

list_all_rabbit_mq_operator_policies

List RabbitMQ operator policies across all virtual hosts in the cluster. Returns: routed.

rabbit_mq_operator_policies_list_vhost

List RabbitMQ operator policies in a specific virtual host. Returns: routed. Required: vhost. The vhost name must be percent-encoded.

get_single_rabbit_mq_operator_policy_by_id

Get a single operator policy in RabbitMQ by its name within a virtual host. Returns: routed. Required: vhost, id.

rabbit_mq_operator_policies_set

Set (create or update) an operator policy in RabbitMQ for a specific virtual host. All body keys — pattern, definition, priority, and apply-to — are mandatory. Only one policy applies to a queue, stream, or exchange at a time; conflicting priorities must be avoided. Returns an empty 204 response on success. Required: vhost, operator_policy_id.

delete_a_rabbit_mq_operator_policy_by_id

Delete an operator policy from a specific RabbitMQ virtual host. Returns an empty 204 response on success. Required: vhost, id.

list_all_rabbit_mq_vhost_limits

List all virtual host limits configured across the RabbitMQ cluster. Returns: routed.

rabbit_mq_vhost_limits_list_vhost

List virtual host limits configured for a specific RabbitMQ virtual host. Returns: routed. Required: vhost.

get_single_rabbit_mq_vhost_limit_by_id

Get a specific RabbitMQ virtual host limit by vhost and limit name. Returns: routed. Required: vhost, id.

rabbit_mq_vhost_limits_set

Set or update a per-vhost limit in RabbitMQ. The vhost_limit_id identifies the limit type (max-connections or max-queues). Returns an empty 204 response on success. Required: vhost, vhost_limit_id, value.

delete_a_rabbit_mq_vhost_limit_by_id

Clear (remove) a RabbitMQ virtual host limit by vhost and limit name. Returns an empty 204 response on success. Required: vhost, id.

list_all_rabbit_mq_federation_links

List all federation links and their status across all virtual hosts in a RabbitMQ cluster. Returns the attributes object containing federation link status fields. The rabbitmq_federation_management plugin must be enabled for this endpoint to be available.

rabbit_mq_federation_links_list_vhost

List federation link status for a specific virtual host in RabbitMQ. Returns: pattern, definition, priority, apply-to. Requires the rabbitmq_federation_management plugin to be enabled. Required: vhost.

list_all_rabbit_mq_stream_connections

List all open RabbitMQ stream protocol connections. Returns for each connection: name, node, state, user, vhost, peer_host, peer_port, channels, send_oct, recv_oct, connected_at. Use pagination parameters; this endpoint can otherwise produce very large responses. Default page size is 100, maximum 500. Requires the rabbitmq_stream_management plugin to be enabled.

rabbit_mq_stream_connections_list_vhost

List the open RabbitMQ stream connections in a specific virtual host. Returns the same fields as the list method. Required: vhost. Use pagination parameters; this endpoint can otherwise produce very large responses. Default page size is 100, maximum 500. Requires the rabbitmq_stream_management plugin to be enabled.

get_single_rabbit_mq_stream_connection_by_id

Get an individual RabbitMQ stream connection by name within a virtual host. Returns: name, node, state, user, vhost, peer_host, peer_port, channels, send_oct, recv_oct, connected_at. Required: vhost, id (the connection name, percent-encoded). Requires the rabbitmq_stream_management plugin to be enabled.

delete_a_rabbit_mq_stream_connection_by_id

Close an individual RabbitMQ stream connection. Optionally set the X-Reason header to record why it was closed. Returns an empty 204 response on success. Required: vhost, id (the connection name, percent-encoded). Requires the rabbitmq_stream_management plugin to be enabled.

rabbit_mq_stream_connections_list_publishers

List the publishers on a given RabbitMQ stream connection. Required: vhost, connection (the stream connection name). Requires the rabbitmq_stream_management plugin to be enabled.

rabbit_mq_stream_connections_list_consumers

List the consumers on a given RabbitMQ stream connection. Required: vhost, connection (the stream connection name). Use pagination parameters; this endpoint can otherwise produce very large responses. Default page size is 100, maximum 500. Requires the rabbitmq_stream_management plugin to be enabled.

list_all_rabbit_mq_stream_publishers

List known RabbitMQ stream publishers across all stream protocol connections. Returns publisher objects with their node, stream, and connection information. Requires the rabbitmq_stream_management plugin to be enabled.

rabbit_mq_stream_publishers_list_vhost

List known stream publishers for all stream protocol connections in a specific virtual host in RabbitMQ. Returns a list of publisher objects for the given virtual host. Required: vhost. Requires the rabbitmq_stream_management plugin to be enabled.

rabbit_mq_stream_publishers_list_stream

List known RabbitMQ publishers to a specific stream across all stream protocol connections in a virtual host. Returns a list of publisher objects. Required: vhost, stream. Requires the rabbitmq_stream_management plugin to be enabled.

list_all_rabbit_mq_stream_consumers

List all RabbitMQ stream consumers across all virtual hosts. Returns a list of stream consumer objects. Requires the rabbitmq_stream_management plugin to be enabled. Default page size is 100, maximum 500.

rabbit_mq_stream_consumers_list_vhost

List stream consumers in a specific virtual host in RabbitMQ. Returns a list of stream consumer records for the given vhost. Required: vhost. Requires the rabbitmq_stream_management plugin to be enabled.

list_all_rabbit_mq_rebalance_queues

Trigger an asynchronous rebalance of all queues in all RabbitMQ vhosts. The operation runs in the background — inspect RabbitMQ logs for success or failure status. Returns an empty 204 response on success.

list_all_rabbit_mq_whoamis

Get information about the currently authenticated RabbitMQ user. Returns: name, tags, default_queue_type, protected_from_deletion.

list_all_rabbit_mq_auths

List RabbitMQ OAuth 2 authentication configuration details. Returns: oauth_enabled, oauth_client_id, oauth_provider_url.

list_all_rabbit_mq_extensions

List registered extensions to the RabbitMQ management plugin. Returns a list of extension objects describing each registered management plugin extension.

rabbit_mq_health_checks_check_certificate_expiration

Check whether TLS certificates used by TLS-enabled listeners on a RabbitMQ node are expiring within the given time window. Returns an empty 200 response on success; responds 503 if any certificate has expired. Required: within, unit. Valid units: days, weeks, months, years.

rabbit_mq_health_checks_check_port_listener

Check if a RabbitMQ node has an active listener on the given port. Responds 200 OK if there is an active listener on the given port, otherwise 503 Service Unavailable. Returns an empty 200 response on success. Required: port.

rabbit_mq_health_checks_check_protocol_listener

Check if a RabbitMQ node has active listeners for the given protocol(s). Responds 200 OK if all given protocols have active listeners, otherwise 503 Service Unavailable. Returns an empty 200 response on success. Required: protocols. Multiple protocols may be separated by commas. Valid protocol names: amqp, mqtt, stomp, web-mqtt, web-stomp; add an 's' suffix for encrypted variants (e.g. amqps,…

list_all_rabbit_mq_shovels

List all shovels across the RabbitMQ cluster, both static and dynamic. Returns for each shovel: name, vhost, type, state, reason, node, timestamp. Requires the rabbitmq_shovel_management plugin. Static shovels have no vhost and are visible only to administrators; dynamic shovels follow virtual-host permissions.

rabbit_mq_shovels_list_vhost

List the shovels in a specific RabbitMQ virtual host. Returns for each shovel: name, vhost, type, state, reason, node, timestamp. Required: vhost. Requires the rabbitmq_shovel_management plugin. Static shovels have no vhost and are visible only to administrators; dynamic shovels follow virtual-host permissions.

get_single_rabbit_mq_shovel_by_id

Get a single RabbitMQ shovel by name within a virtual host. Returns: name, vhost, type, state, reason, node, timestamp. Required: vhost, id (the shovel name). Requires the rabbitmq_shovel_management plugin. Static shovels have no vhost and are visible only to administrators; dynamic shovels follow virtual-host permissions.

rabbit_mq_shovels_restart

Restart a running RabbitMQ shovel in place, without deleting and recreating it. Issued as a DELETE against the shovel's /restart path; the shovel itself is not removed. Returns an empty 204 response on success. Required: vhost, name. Requires the rabbitmq_shovel_management plugin. Static shovels have no vhost and are visible only to administrators; dynamic shovels follow virtual-host permissions.

Why Truto

Why use Truto’s MCP server for RabbitMQ

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with RabbitMQ in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s RabbitMQ account

Use Truto’s frontend SDK to connect your customer’s RabbitMQ account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call RabbitMQ

Truto’s Proxy API is a 1-to-1 mapping of the RabbitMQ API. You call us, we call RabbitMQ, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate RabbitMQ’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about RabbitMQ on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How do end users authenticate their RabbitMQ instance?

RabbitMQ's Management HTTP API uses basic auth against a management user. Your users provide the cluster's management URL plus username and password, and Truto handles credential storage and request signing on every call.

Does this work with self-hosted RabbitMQ, CloudAMQP, and AWS MQ?

Yes. Any RabbitMQ deployment that exposes the Management HTTP API on a reachable endpoint works, including self-hosted clusters, CloudAMQP, and Amazon MQ for RabbitMQ. Users just supply the management URL and credentials for that cluster.

How fresh is queue and connection data?

Truto proxies requests directly to the RabbitMQ Management API, so data is real-time on each call. There is no intermediate cache, meaning polling frequency is entirely up to your application and the customer's cluster load tolerance.

Can I publish messages or is this read-only?

It is not read-only. In addition to listing queues, exchanges, connections, and consumers, you can publish to exchanges, purge queues, get messages from queues, trigger queue actions, delete connections, and restart shovels.

Can I provision new vhosts, users, and queues programmatically?

Yes. You can create and delete vhosts, set user permissions and topic permissions, apply policies and operator policies, set vhost and user limits, and create bindings between exchanges and queues — everything needed for dynamic tenant or environment provisioning.

Are there rate limits to worry about?

RabbitMQ itself does not impose API rate limits, but the management plugin runs in-process on the broker, so aggressive polling can add load. We recommend batching requests, using the detailed queues endpoint instead of per-queue calls, and tuning poll intervals per cluster size.

RabbitMQ

Get RabbitMQ integrated into your app

Our team understands what it takes to make a RabbitMQ integration successful. A short, crisp 30 minute call with folks who understand the problem.