MCP ExplorerExplorer

RabbitMQ

@kenliao94on 11 days ago
26 MIT
FreeCommunity
Messaging
#rabbitmq#server#messaging
The MCP server that interacts with RabbitMQ to publish and consume messages.

Overview

What is RabbitMQ

RabbitMQ MCP Server is an implementation of a Model Context Protocol (MCP) server designed to facilitate interactions with RabbitMQ message brokers. It abstracts the administrative and messaging features of RabbitMQ through a unified interface, allowing users to manage and operate various aspects of message brokers effectively.

Use cases

This server can be used to manage RabbitMQ message brokers, perform tasks such as monitoring, queue management, and message operations via an AI agent. It is beneficial for developers looking to integrate RabbitMQ with AI-driven applications, enabling automated message handling and broker management.

How to use

To use the RabbitMQ MCP Server, you can install it via Smithery or from PyPI. Configuration requires specifying the RabbitMQ host, port, username, password, and TLS settings in the MCP client config. You can also run the server locally from the source by cloning the repository and setting up the environment.

Key features

Key features of the RabbitMQ MCP Server include AI-assisted management of RabbitMQ brokers, support for streamable HTTP connections with customizable authorization, seamless integration with MCP clients, and the ability to switch RabbitMQ broker connections during operation.

Where to use

This server can be used in any environment where RabbitMQ is deployed, such as web applications, microservices architectures, and any messaging system that requires robust management and AI integration. It’s applicable in development, testing, and production settings.

Content

RabbitMQ MCP Server

smithery badge

A Model Context Protocol server implementation for RabbitMQ operation.

Features

Manage your RabbitMQ message brokers using AI agent

This MCP servers wraps admin APIs of a RabbitMQ broker as MCP tools. It also uses Pika to interact with RabbitMQ to operate at the message level. You can also specify a different RabbitMQ broker that you want to connect to mid-conversation (default is configured during server initialization).

Supports streamable HTTP with FastMCP’s BearerAuthProvider

You can start a remote RabbitMQ MCP server by configuring your own IdP and 3rd party authorization provider.

Seamless integration with MCP clients

The package is available on PyPI, you can use uvx without having to fork and build the MCP server locally first.

Installation

Smithery

To install RabbitMQ MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @kenliao94/mcp-server-rabbitmq --client claude

Try it online

https://smithery.ai/server/@kenliao94/mcp-server-rabbitmq

PyPI

https://pypi.org/project/mcp-server-rabbitmq/

Use uvx directly in your MCP client config

{
  "mcpServers": {
    "rabbitmq": {
      "command": "uvx",
      "args": [
        "mcp-server-rabbitmq@latest",
        "--rabbitmq-host",
        "<hostname ex. test.rabbit.com, localhost>",
        "--port",
        "<port number ex. 5672>",
        "--username",
        "<rabbitmq username>",
        "--password",
        "<rabbitmq password>",
        "--use-tls",
        "<true if uses amqps, false otherwise>"
      ]
    }
  }
}

From source

  1. Clone this repository.
{
  "mcpServers": {
    "rabbitmq": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/repo/mcp-server-rabbitmq",
        "run",
        "mcp-server-rabbitmq",
        "--rabbitmq-host",
        "<hostname ex. test.rabbit.com, localhost>",
        "--port",
        "<port number ex. 5672>",
        "--username",
        "<rabbitmq username>",
        "--password",
        "<rabbitmq password>",
        "--use-tls",
        "<true if uses amqps, false otherwise>"
      ]
    }
  }
}

Roadmap

  1. Full feature parity with rabbitmqadmin
  2. Support RabbitMQ OAuth instead of basic authentication

Development

Setup Development Environment

# Clone the repository
git clone https://github.com/kenliao94/mcp-server-rabbitmq.git
cd mcp-server-rabbitmq

# Install pre-commit hooks
pre-commit install

Running Tests

pytest

Code Quality

This project uses ruff for linting and formatting:

# Run linter
ruff check .

# Run formatter
ruff format .

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Tools

enqueue
Enqueue a message to a queue hosted on RabbitMQ
fanout
Publish a message to an exchange with fanout type
list_queues
List all the queues in the broker
list_exchanges
List all the exchanges in the broker
get_queue_info
Get detailed information about a specific queue
delete_queue
Delete a specific queue
purge_queue
Remove all messages from a specific queue
delete_exchange
Delete a specific exchange
get_exchange_info
Get detailed information about a specific exchange

Comments