# RabbitMQ MCP connector

Connect RabbitMQ to Elaichi and Claude, ChatGPT, Cursor or any MCP client can check cluster health, list nodes, connections and channels, and export or import definitions, with every call logged against the person who asked.

Source: https://elaichi.ai/connectors/rabbitmq/

## Facts

| | |
| --- | --- |
| Application | RabbitMQ |
| Category | Application Development |
| AI tools | 131 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 131 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once RabbitMQ is connected

- Which RabbitMQ nodes are using the most memory now?
- Show vhosts missing from last night's RabbitMQ definitions export.
- Which deprecated RabbitMQ features are still in use?

## Connect RabbitMQ in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick RabbitMQ.
2. Optionally set Share with, then press Connect.
3. Paste a RabbitMQ API key. One person generates a token in RabbitMQ and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which RabbitMQ tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect RabbitMQ to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect RabbitMQ to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect RabbitMQ to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect RabbitMQ to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a RabbitMQ tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with RabbitMQ through Elaichi

### Check whether the cluster is healthy

On-call. Run an aliveness test and read the cluster overview during an incident, then ask which nodes are up and how many connections and channels are open right now, all from the chat window you are already in.

### Find the node that is running out of memory

Platform engineering. List every node in the RabbitMQ cluster and pull its memory breakdown, so you can see which one is under pressure before it starts refusing publishers.

### See which service is holding all the connections

Backend. List connections by username or by virtual host, then drill into the channels on a single connection to find the consumer that never closed what it opened.

### Close a runaway connection without a console

Site reliability. When one client is flooding the broker, look up its connection by ID or username and close it, with the action recorded against your name in the audit log.

### Back up and restore virtual host definitions

DevOps. Export the exchanges, queues, bindings and policies for a virtual host as a definitions file, then import them into a new cluster or a staging environment.

### Prepare a cluster for its next upgrade

Architecture. List enabled feature flags and any deprecated features still in use, so the upgrade plan is based on what the cluster actually runs rather than what the wiki says.

## Frequently asked questions

### How do I connect RabbitMQ to Claude?

Two steps. First connect RabbitMQ in Elaichi by pasting the API key from your RabbitMQ management interface, there is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Claude will ask you to sign in to Elaichi and RabbitMQ is then available in the conversation.

### Does RabbitMQ work with ChatGPT and Cursor as well as Claude?

Yes. Once RabbitMQ is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect RabbitMQ once and every client you use picks it up.

### What can an AI agent actually do with my RabbitMQ data?

With RabbitMQ connected, an agent can run an aliveness test, read the cluster overview, list nodes and their memory use, list open connections and channels by virtual host, username or connection, close a specific connection, export or import definitions for a virtual host, and report which feature flags and deprecated features are in use. Because RabbitMQ has a large catalog of actions, the agent searches for the right one as you ask, so short concrete requests like "list connections for the orders vhost" work better than long paragraphs.

### Does connecting RabbitMQ give the AI access to every virtual host?

No. Access follows the RabbitMQ API key you connected with, so the agent can only see the virtual hosts, nodes and connections that key is allowed to see in RabbitMQ itself. Elaichi can narrow that further by restricting individual actions or hiding parts of the catalog, but it can never grant more than RabbitMQ already permits.

### Can my team share one RabbitMQ connection?

Yes. One person connects RabbitMQ in Elaichi and shares the connection with a team, and nobody else on that team ever sees or handles the API key. Each teammate still signs in to Elaichi as themselves, so every RabbitMQ call in the audit log names the person who made it, not the person who connected the account.

### Can I stop an agent from closing connections or importing definitions in RabbitMQ?

Yes. Restrictions in Elaichi work per action, so you can allow reading nodes, connections and channels while blocking closing connections, importing definitions or updating cluster names. A blocked action is never advertised to Claude, ChatGPT or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a RabbitMQ connection when someone leaves?

Offboarding the person in Elaichi ends their access to RabbitMQ at once across every client they used. If they had shared a RabbitMQ connection with a team, it keeps working for everyone else on that team. When you do want to remove RabbitMQ entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 131 RabbitMQ tools

Every tool below is callable through https://api.elaichi.ai/mcp once RabbitMQ is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all RabbitMQ aliveness tests** (List). 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 RabbitMQ overviews** (List). 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 RabbitMQ cluster names** (List). Get the name identifying a RabbitMQ cluster. Returns: name, hashing_algorithm, password_hash, tags.
- **RabbitMQ cluster names bulk update** (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 RabbitMQ nodes** (List). List all nodes in the RabbitMQ cluster together with their metrics. Returns: name, type, uptime, processors, running, applications, auth_mechanisms, and cluster_links.
- **RabbitMQ nodes get memory** (Get). 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 RabbitMQ node by ID** (Get). Get metrics for an individual RabbitMQ cluster node by name. Returns: oauth_enabled, oauth_client_id, oauth_provider_url. Required: id.
- **List all RabbitMQ definitions** (List). 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 RabbitMQ definition** (Create). 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.
- **RabbitMQ definitions get vhost** (Get). 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.
- **RabbitMQ definitions import vhost** (Import). 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 RabbitMQ feature flags** (List). List all feature flags in a RabbitMQ cluster and their state. Returns: routed.
- **List all RabbitMQ deprecated features** (List). 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 RabbitMQ deprecated features useds** (List). List deprecated features that are currently used in the RabbitMQ cluster. Returns a list of deprecated feature usage records. No required parameters.
- **List all RabbitMQ connections** (List). 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.
- **RabbitMQ connections list vhost** (List). 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.
- **RabbitMQ connections list by username** (List). 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.
- **RabbitMQ connections delete by username** (Delete). Close all RabbitMQ connections authenticated by a specific username. Returns an empty 204 response on success. Required: username.
- **Get single RabbitMQ connection by ID** (Get). 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 RabbitMQ connection by ID** (Delete). Close a specific RabbitMQ connection by id. Returns an empty 204 response on success. Required: id.
- **List all RabbitMQ channels** (List). List all open RabbitMQ channels. Returns: routed. Default page size is 100, maximum supported page size is 500.
- **RabbitMQ channels list by connection** (List). 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.
- **RabbitMQ channels list vhost** (List). 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 RabbitMQ channel by ID** (Get). 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 RabbitMQ consumers** (List). List all RabbitMQ consumers across all virtual hosts. Returns: arguments, routed. Default page size is 100, maximum supported page size is 500.
- **RabbitMQ consumers list vhost** (List). 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 RabbitMQ exchanges** (List). 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 RabbitMQ exchange by ID** (Update). 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 RabbitMQ exchange by ID** (Delete). 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.
- **RabbitMQ exchanges publish** (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.
- **RabbitMQ exchanges list vhost** (List). 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.
- **RabbitMQ exchanges list bindings source** (List). 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.
- **RabbitMQ exchanges list bindings destination** (List). 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 RabbitMQ exchange by ID** (Get). 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 RabbitMQ queues** (List). 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 RabbitMQ queue by ID** (Update). 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 RabbitMQ queue by ID** (Delete). 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.
- **RabbitMQ queues list bindings** (List). 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.
- **RabbitMQ queues purge** (Action). Purge all messages in Ready state from a RabbitMQ queue. Returns an empty 204 response on success. Required: vhost, queue.
- **RabbitMQ queues get messages** (Get). 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.
- **RabbitMQ queues list vhost** (List). 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 RabbitMQ queue by ID** (Get). 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,…
- **RabbitMQ queues action** (Action). Trigger an action on a RabbitMQ queue. Returns an empty 204 response on success. Required: vhost, queue, action.
- **List all RabbitMQ queues detaileds** (List). 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 RabbitMQ bindings** (List). 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.
- **RabbitMQ bindings list vhost** (List). 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.
- **RabbitMQ bindings list exchange queue** (List). 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.
- **RabbitMQ bindings create exchange queue** (Create). 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.
- **RabbitMQ bindings get exchange queue props** (Get). 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.
- **RabbitMQ bindings delete exchange queue props** (Delete). 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.
- **RabbitMQ bindings list exchange exchange** (List). 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.
- **RabbitMQ bindings create exchange exchange** (Create). 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.
- **RabbitMQ bindings get exchange exchange props** (Get). 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.
- **RabbitMQ bindings delete exchange exchange props** (Delete). 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 RabbitMQ vhosts** (List). 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 RabbitMQ vhost by ID** (Update). 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 RabbitMQ vhost by ID** (Delete). Delete a RabbitMQ virtual host by id. The vhost must not be deletion-protected. Returns an empty 204 response on success. Required: id.
- **RabbitMQ vhosts start** (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.
- **RabbitMQ vhosts list users** (List). 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 RabbitMQ vhost by ID** (Get). 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 RabbitMQ users** (List). 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 RabbitMQ user by ID** (Update). 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 RabbitMQ user by ID** (Delete). Delete a RabbitMQ user by id. Returns an empty 204 response on success. Required: id.
- **RabbitMQ users list permissions** (List). List all permissions for a given RabbitMQ user across virtual hosts. Returns: configure, read, user, vhost, write. Required: user.
- **Get single RabbitMQ user by ID** (Get). 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.
- **RabbitMQ users list topic permissions** (List). List a RabbitMQ user's topic exchange permissions across all virtual hosts. Returns: exchange, read, user, vhost, write, users. Required: user.
- **List all RabbitMQ users without permissions** (List). 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 RabbitMQ users bulk delete** (Create). Bulk delete a list of RabbitMQ users by username. Returns an empty 204 response on success. Required: users.
- **List all RabbitMQ user limits** (List). List per-user limits for all users in RabbitMQ. Returns: user, name, value.
- **RabbitMQ user limits list user** (List). List per-user limits for a specific user in RabbitMQ. Returns: tags, default_queue_type, protected_from_deletion. Required: user.
- **RabbitMQ user limits set** (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 RabbitMQ user limit by ID** (Delete). Clear a per-user limit in RabbitMQ. Required: user, id. Returns an empty 204 response on success.
- **List all RabbitMQ permissions** (List). List all user permissions in the RabbitMQ cluster. Returns: configure, read, write, user, vhost.
- **RabbitMQ permissions list vhost** (List). List all user permissions for a specific virtual host in RabbitMQ. Returns: tags, default_queue_type, protected_from_deletion. Required: vhost.
- **Get single RabbitMQ permission by ID** (Get). 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 RabbitMQ permission by ID** (Update). 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 RabbitMQ permission by ID** (Delete). Revoke a user's permissions in a specific virtual host in RabbitMQ. Returns an empty 204 response on success. Required: vhost, id.
- **List all RabbitMQ topic permissions** (List). List all topic exchange permissions in the RabbitMQ cluster. Returns: exchange, write, read, configure.
- **RabbitMQ topic permissions list vhost** (List). 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 RabbitMQ topic permission by ID** (Get). 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 RabbitMQ topic permission by ID** (Update). 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 RabbitMQ topic permission by ID** (Delete). 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 RabbitMQ parameters** (List). List RabbitMQ runtime parameters across all virtual hosts in the cluster. Returns: component, vhost, name, pattern, apply-to, definition.
- **RabbitMQ parameters list vhost component** (List). List RabbitMQ runtime parameters for a specific component in a specific virtual host. Returns: routed. Required: component, vhost.
- **Get single RabbitMQ parameter by ID** (Get). 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.
- **RabbitMQ parameters set** (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 RabbitMQ parameter by ID** (Delete). Delete a runtime parameter in RabbitMQ by component, vhost, and id. Returns an empty 204 response on success. Required: component, vhost, id.
- **RabbitMQ parameters list component** (List). List RabbitMQ runtime parameters for a specific component across all virtual hosts in the cluster. Returns: routed. Required: component.
- **List all RabbitMQ global parameters** (List). List all global runtime parameters in the RabbitMQ cluster. Returns: name, value.
- **Get single RabbitMQ global parameter by ID** (Get). Get a single global runtime parameter by id in RabbitMQ. Returns: name, value, tags, default_queue_type, protected_from_deletion. Required: id.
- **RabbitMQ global parameters set** (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 RabbitMQ global parameter by ID** (Delete). Clear (delete) a global runtime parameter in RabbitMQ by id. Returns an empty 204 response on success. Required: id.
- **List all RabbitMQ policies** (List). List RabbitMQ policies across all virtual hosts in the cluster. Returns: routed.
- **RabbitMQ policies list vhost** (List). 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 RabbitMQ policy by ID** (Get). 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).
- **RabbitMQ policies set** (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 RabbitMQ policy by ID** (Delete). Delete a RabbitMQ policy by id from a given virtual host. Returns an empty 204 response on success. Required: vhost, id.
- **List all RabbitMQ operator policies** (List). List RabbitMQ operator policies across all virtual hosts in the cluster. Returns: routed.
- **RabbitMQ operator policies list vhost** (List). List RabbitMQ operator policies in a specific virtual host. Returns: routed. Required: vhost. The vhost name must be percent-encoded.
- **Get single RabbitMQ operator policy by ID** (Get). Get a single operator policy in RabbitMQ by its name within a virtual host. Returns: routed. Required: vhost, id.
- **RabbitMQ operator policies set** (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 RabbitMQ operator policy by ID** (Delete). Delete an operator policy from a specific RabbitMQ virtual host. Returns an empty 204 response on success. Required: vhost, id.
- **List all RabbitMQ vhost limits** (List). List all virtual host limits configured across the RabbitMQ cluster. Returns: routed.
- **RabbitMQ vhost limits list vhost** (List). List virtual host limits configured for a specific RabbitMQ virtual host. Returns: routed. Required: vhost.
- **Get single RabbitMQ vhost limit by ID** (Get). Get a specific RabbitMQ virtual host limit by vhost and limit name. Returns: routed. Required: vhost, id.
- **RabbitMQ vhost limits set** (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 RabbitMQ vhost limit by ID** (Delete). Clear (remove) a RabbitMQ virtual host limit by vhost and limit name. Returns an empty 204 response on success. Required: vhost, id.
- **List all RabbitMQ federation links** (List). 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.
- **RabbitMQ federation links list vhost** (List). 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 RabbitMQ stream connections** (List). 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.
- **RabbitMQ stream connections list vhost** (List). 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 RabbitMQ stream connection by ID** (Get). 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 RabbitMQ stream connection by ID** (Delete). 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.
- **RabbitMQ stream connections list publishers** (List). 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.
- **RabbitMQ stream connections list consumers** (List). 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 RabbitMQ stream publishers** (List). 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.
- **RabbitMQ stream publishers list vhost** (List). 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.
- **RabbitMQ stream publishers list stream** (List). 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 RabbitMQ stream consumers** (List). 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.
- **RabbitMQ stream consumers list vhost** (List). 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 RabbitMQ rebalance queues** (List). 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 RabbitMQ whoamis** (List). Get information about the currently authenticated RabbitMQ user. Returns: name, tags, default_queue_type, protected_from_deletion.
- **List all RabbitMQ auths** (List). List RabbitMQ OAuth 2 authentication configuration details. Returns: oauth_enabled, oauth_client_id, oauth_provider_url.
- **List all RabbitMQ extensions** (List). List registered extensions to the RabbitMQ management plugin. Returns a list of extension objects describing each registered management plugin extension.
- **RabbitMQ health checks check certificate expiration** (Action). 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.
- **RabbitMQ health checks check port listener** (Action). 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.
- **RabbitMQ health checks check protocol listener** (Action). 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 RabbitMQ shovels** (List). 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.
- **RabbitMQ shovels list vhost** (List). 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 RabbitMQ shovel by ID** (Get). 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.
- **RabbitMQ shovels restart** (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.
