Broker MCP

April 23, 2025 · View on GitHub

This is the Message Aid MCP server. The goal is to support the three main brokers of Message Aid, RabbitMQ, Azure Service Bus, and SQS.

Resources

ResourceRabbit MQAzure Service BusSQS
QueuesPlannedPlanned
TopicsPlannedPlanned
SubscriptionsPlannedPlannedPlanned

A broker is in rabbitmq speak a HOST + VHOST

  • Queue: rabbitmq://broker/queues/name

  • Topic: rabbitmq://broker/topics/name

    • An Exchange in RabbitMQ
  • Subscription: rabbitmq://broker/subscription/base64(source, destinationType, destinationName, propertiesKey)

    • A Binding in RabbitMQ
  • azure://broker/name

  • sqs://localhost/vhost/name

Tools

ActionRabbit MQAzure Service BusSQS
Purge QueuePlannedPlanned

Usage

Transport...
STDIO
StreamablePlanned (based on SDK Support)

Via Docker

docker run -i --rm \
  --env 'BROKER_URL=rabbitmq://guest:guest@localhost:15672/' \
  ghcr.io/messageaid/mcp

Sample Json Config for Cursor, etc

{
  "mcpServers": {
    "messageAid": {
      "command": "docker",
      "args": [
        "run", 
        "-i", 
        "--rm", 
        "--env 'BROKER_URL=rabbitmq://guest:guest@localhost:15672/'",
        "docker pull ghcr.io/messageaid/mcp:latest"]
    }
  }
}

Configuration

Env Var...
BROKER_URLThe broker to connect to in URL format
MCP_MODEReadOnly
MessageAllowed
BrokerAllowed

Building

Built using dotnet and the MCP C# SDK

docker build -t ghcr.io/messageaid/mcp -f Dockerfile .

Licence

This MCP server is licensed under the BSL 1.1 License. For more details, see the LICENSE file in the project repository.