RabbitMQ MassTransit MCP Server

RabbitMQ MassTransit MCP Server

An MCP server for RabbitMQ with MassTransit intelligence — error queue parsing, fault analysis, and message republishing.

Category
访问服务器

README

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/_skipped queues, fault envelopes, and message type URNs
  • Parsed error output: Exception types, messages, stack traces, consumer types, retry counts, and original payloads — extracted from MT-Fault-* message headers
  • Republish 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

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@latest

Claude 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
RABBITMQ_HOST Yes — RabbitMQ Management API hostname
RABBITMQ_PORT No 15672 Management API port
RABBITMQ_USERNAME Yes — Authentication username
RABBITMQ_PASSWORD Yes — Authentication password
RABBITMQ_VHOST No / Default virtual host
RABBITMQ_SSL No false Use HTTPS for Management API
ALLOW_MUTATIVE_TOOLS No false 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
get_overview Cluster stats: queue totals, connection counts, message rates
list_queues List queues with depth, consumer count, rates. Filter by vhost, name pattern
get_queue Detailed queue stats: depth, rates, consumers, memory, policy
list_exchanges List exchanges. Filter by vhost, type
get_exchange Exchange details and bindings
list_bindings List bindings for a queue or exchange
list_connections Active connections with client info
list_consumers Active consumers with queue assignments
peek_messages Browse messages without consuming (non-destructive)
list_error_queues Find all _error queues with message counts
list_skipped_queues Find all _skipped queues with message counts
peek_errors Browse error queue messages with parsed fault details
get_queue_health Quick health check: no consumers, growing depth, high error counts

Mutative (5 tools) — Require ALLOW_MUTATIVE_TOOLS=true

Tool Description
purge_queue Purge all messages from a queue
delete_queue Delete a queue
publish_message Publish a message to an exchange
republish_from_error Republish faulted messages from _error queue to original exchange
move_messages 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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选