Contract-first MCP server for RabbitMQ: one typed tool per message contract, safe error recovery.
Connect Runs on your machine
claude mcp add rabbit-mcp -e RabbitMcp__Uri=<RabbitMcp__Uri> -e RabbitMcp__EnablePublish=<RabbitMcp__EnablePublish> -e RabbitMcp__EnableRepublish=<RabbitMcp__EnableRepublish> -e RabbitMcp__EnableTopology=<RabbitMcp__EnableTopology> -e RabbitMcp__HumanConfirmation=<RabbitMcp__HumanConfirmation> -e RabbitMcp__ManagementUri=<RabbitMcp__ManagementUri> -e RabbitMcp__ContractAssemblies=<RabbitMcp__ContractAssemblies> -e RabbitMcp__ContractFiles=<RabbitMcp__ContractFiles> -- dnx RabbitMcp.Server --yes
{
"mcpServers": {
"rabbit-mcp": {
"command": "dnx",
"args": [
"RabbitMcp.Server",
"--yes"
],
"env": {
"RabbitMcp__Uri": "<RabbitMcp__Uri>",
"RabbitMcp__EnablePublish": "<RabbitMcp__EnablePublish>",
"RabbitMcp__EnableRepublish": "<RabbitMcp__EnableRepublish>",
"RabbitMcp__EnableTopology": "<RabbitMcp__EnableTopology>",
"RabbitMcp__HumanConfirmation": "<RabbitMcp__HumanConfirmation>",
"RabbitMcp__ManagementUri": "<RabbitMcp__ManagementUri>",
"RabbitMcp__ContractAssemblies": "<RabbitMcp__ContractAssemblies>",
"RabbitMcp__ContractFiles": "<RabbitMcp__ContractFiles>"
}
}
}
}
{
"mcpServers": {
"rabbit-mcp": {
"command": "dnx",
"args": [
"RabbitMcp.Server",
"--yes"
],
"env": {
"RabbitMcp__Uri": "<RabbitMcp__Uri>",
"RabbitMcp__EnablePublish": "<RabbitMcp__EnablePublish>",
"RabbitMcp__EnableRepublish": "<RabbitMcp__EnableRepublish>",
"RabbitMcp__EnableTopology": "<RabbitMcp__EnableTopology>",
"RabbitMcp__HumanConfirmation": "<RabbitMcp__HumanConfirmation>",
"RabbitMcp__ManagementUri": "<RabbitMcp__ManagementUri>",
"RabbitMcp__ContractAssemblies": "<RabbitMcp__ContractAssemblies>",
"RabbitMcp__ContractFiles": "<RabbitMcp__ContractFiles>"
}
}
}
}
{
"servers": {
"rabbit-mcp": {
"type": "stdio",
"command": "dnx",
"args": [
"RabbitMcp.Server",
"--yes"
],
"env": {
"RabbitMcp__Uri": "<RabbitMcp__Uri>",
"RabbitMcp__EnablePublish": "<RabbitMcp__EnablePublish>",
"RabbitMcp__EnableRepublish": "<RabbitMcp__EnableRepublish>",
"RabbitMcp__EnableTopology": "<RabbitMcp__EnableTopology>",
"RabbitMcp__HumanConfirmation": "<RabbitMcp__HumanConfirmation>",
"RabbitMcp__ManagementUri": "<RabbitMcp__ManagementUri>",
"RabbitMcp__ContractAssemblies": "<RabbitMcp__ContractAssemblies>",
"RabbitMcp__ContractFiles": "<RabbitMcp__ContractFiles>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
RabbitMcp__UriRequired, secret | AMQP URI of the broker, e.g. amqp://user:pass@localhost:5672/vhost. |
RabbitMcp__EnablePublishOptional | true to enable the publish_*/request_* tools (off by default). |
RabbitMcp__EnableRepublishOptional | true to enable republish_from_error / dead_letter_from_error (off by default). |
RabbitMcp__EnableTopologyOptional | true to enable declare_exchange / declare_queue (off by default). |
RabbitMcp__HumanConfirmationOptional | required (default): changes and replies need the person's OK in the client's dialog, refused when it cannot ask. auto: then the model's own call counts. |
RabbitMcp__ManagementUriOptional | RabbitMQ Management API, e.g. http://localhost:15672 (list_queues, contract_consumers). |
RabbitMcp__ContractAssembliesOptional | Your [MessageContract] DLLs (";"-separated). Empty: built-in sample contracts. |
RabbitMcp__ContractFilesOptional | AsyncAPI files (YAML/JSON) whose messages become contracts (";"-separated). |
Details
| Package | [email protected] (NUGET, stdio) |
| Package | ghcr.io/lazogio/rabbit-mcp:3.0.0 (OCI, stdio) |
| First published | 3 Nov 2026 |
| Last updated | 3 Nov 2026 |
| Registry name | io.github.lazogio/rabbit-mcp |
More communication servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
