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 usUse Cases
Why integrate with RabbitMQ
Common scenarios for SaaS companies building RabbitMQ integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
User and permission auditor
List users without permissions, enumerate per-vhost and topic permissions, and bulk-delete orphaned accounts to enforce access hygiene.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
From the Blog
RabbitMQ integration guides
Deep dives, architecture guides, and practical tutorials for building RabbitMQ integrations.
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.