RabbitMQ MassTransit MCP Server
Provides tools for managing RabbitMQ queues, exchanges, bindings, and connections, with special support for MassTransit error queue parsing, fault analysis, and message republishing.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RabbitMQ MassTransit MCP Servershow faults in the order-service error queue"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RabbitMQ MassTransit MCP Server
An MCP (Model Context Protocol) server for RabbitMQ with MassTransit intelligence — error queue parsing, fault analysis, and message republishing.
Built for teams debugging async messaging issues across .NET microservices. Goes beyond basic queue management by understanding MassTransit conventions: _error/_skipped queues, the message envelope format, and fault message parsing.
Features
18 tools for complete RabbitMQ management via Claude Code
MassTransit-aware: Automatically detects and parses
_error/_skippedqueues, fault envelopes, and message type URNsParsed error output: Exception types, messages, stack traces, consumer types, retry counts, and original payloads — extracted from
MT-Fault-*message headersRepublish from error: The killer feature — fetch faulted messages and republish them for reprocessing
Safe defaults: Mutative tools disabled by default, two-step confirmation for destructive operations
Related MCP server: rabbitmq-mcp
Quickstart
1. Add to your Claude Code config (~/.claude.json or project .claude.json):
{
"mcpServers": {
"rabbitmq": {
"command": "npx",
"args": ["-y", "@stevepic95/rabbitmq-masstransit-mcp@latest"],
"env": {
"RABBITMQ_HOST": "your-rabbitmq-host",
"RABBITMQ_USERNAME": "your-username",
"RABBITMQ_PASSWORD": "your-password"
}
}
}
}2. Restart Claude Code to load the new MCP server.
3. Start using it. Ask Claude things like:
"Are there any error queues with messages?"
"Show me the faults in the submit-order error queue"
"What queues have no consumers?"
"How many messages are in the report queue?"
That's it. The 13 read-only tools are available immediately — no flags needed.
To enable write operations (purge, delete, publish, republish), set
"ALLOW_MUTATIVE_TOOLS": "true"in the env config.
Installation
npx @stevepic95/rabbitmq-masstransit-mcp@latestClaude Code Configuration
Add to your .claude.json under mcpServers:
{
"mcpServers": {
"rabbitmq": {
"command": "npx",
"args": ["-y", "@stevepic95/rabbitmq-masstransit-mcp@latest"],
"env": {
"RABBITMQ_HOST": "your-rabbitmq-host",
"RABBITMQ_PORT": "15672",
"RABBITMQ_USERNAME": "your-username",
"RABBITMQ_PASSWORD": "your-password",
"RABBITMQ_VHOST": "/",
"RABBITMQ_SSL": "false",
"ALLOW_MUTATIVE_TOOLS": "false"
}
}
}
}For local development:
{
"mcpServers": {
"rabbitmq": {
"command": "node",
"args": ["/path/to/rabbitmq-masstransit-mcp/dist/index.js"],
"env": {
"RABBITMQ_HOST": "localhost",
"RABBITMQ_USERNAME": "guest",
"RABBITMQ_PASSWORD": "guest"
}
}
}
}Configuration
Variable | Required | Default | Description |
| Yes | — | RabbitMQ Management API hostname |
| No |
| Management API port |
| Yes | — | Authentication username |
| Yes | — | Authentication password |
| No |
| Default virtual host |
| No |
| Use HTTPS for Management API |
| No |
| Enable mutative tools (purge, delete, publish, republish, move) |
You can also enable mutative tools via CLI flag: --allow-mutative-tools
Tools
Read-Only (13 tools) — Always available
Tool | Description |
| Cluster stats: queue totals, connection counts, message rates |
| List queues with depth, consumer count, rates. Filter by vhost, name pattern |
| Detailed queue stats: depth, rates, consumers, memory, policy |
| List exchanges. Filter by vhost, type |
| Exchange details and bindings |
| List bindings for a queue or exchange |
| Active connections with client info |
| Active consumers with queue assignments |
| Browse messages without consuming (non-destructive) |
| Find all |
| Find all |
| Browse error queue messages with parsed fault details |
| Quick health check: no consumers, growing depth, high error counts |
Mutative (5 tools) — Require ALLOW_MUTATIVE_TOOLS=true
Tool | Description |
| Purge all messages from a queue |
| Delete a queue |
| Publish a message to an exchange |
| Republish faulted messages from |
| Move messages from one queue to another |
MassTransit Intelligence
Error Queue Parsing
peek_errors doesn't just dump raw JSON — it reads MT-Fault-* headers that MassTransit attaches when moving messages to error queues, giving you everything you need to debug the failure:
Queue: submit-order_error (3 messages)
Message 1:
Faulted: 2026-02-15T14:30:05Z
Reason: fault
Message Type: MyApp.Messages.OrderSubmitted
Consumer: MyApp.Consumers.SubmitOrderConsumer
Exception: Microsoft.Data.SqlClient.SqlException - "Arithmetic overflow error converting numeric to data type numeric."
Retry Count: 5
Stack Trace:
at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(...)
at MyApp.Data.OrderRepository.GetFees(Int32 orderId) in /src/OrderRepository.cs:line 35
at MyApp.Services.OrderService.Process(Int32 id) in /src/OrderService.cs:line 51
at MyApp.Consumers.SubmitOrderConsumer.Consume(ConsumeContext`1 context) in /src/SubmitOrderConsumer.cs:line 11
Original Payload: { "orderId": "abc-123", "amount": 99.99 }
Source Host: order-service-swrm-app1b-p02 / order-service (PID 1)
Assembly: order-service v1.0.3.0 (.NET 8.0.8)Republish from Error (Two-Step)
The highest-value tool for debugging. First call previews the messages:
> republish_from_error(errorQueue: "submit-order_error", count: 3)
Preview: 3 message(s) from "submit-order_error" ready to republish:
[... parsed fault details ...]
To republish these messages, call again with confirm=true and count=3.Second call with confirm: true actually consumes and republishes:
> republish_from_error(errorQueue: "submit-order_error", count: 3, confirm: true)
Republished 3/3 message(s) from "submit-order_error".Queue Health Check
Quick overview of potential issues across all queues:
> get_queue_health()
⚠ Queues with NO consumers and messages (2):
order-processing — 150 message(s)
notification-sender — 42 message(s)
✗ Error queues with messages (3 queues, 89 total):
submit-order_error — 45 message(s)
payment-process_error — 32 message(s)
email-send_error — 12 message(s)
△ High depth queues (>1000 messages, 1):
analytics-events — 15234 message(s), 2 consumer(s)Requirements
Node.js >= 18.0.0
RabbitMQ with Management Plugin enabled (port 15672)
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/StevePic95/rabbitmq-masstransit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server