Skip to main content

A Model Context Protocol server providing access to RabbitMQ by LLMs

Project description

RabbitMQ MCP Server

smithery badge

A Model Context Protocol server implementation for RabbitMQ. Enabling MCP client to interact with queues and topics hosted in a RabbitMQ instance.

Running locally with the Claude desktop app

Installing via 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/

{
    "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>"
        ]
      }
    }
}

Manual Installation

  1. Clone this repository.
  2. Add the following to your claude_desktop_config.json file:
  • On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
    "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>"
        ]
      }
    }
}
  1. Install and open the Claude desktop app.
  2. Try asking Claude to do a read/write operation of some sort to confirm the setup (e.g. ask it to publish a message to a queue). If there are issues, use the Debugging tools provided in the MCP documentation here.

Roadmap

  1. Expose admin API tools and pika SDK tools
  2. Support Streamable HTTP when it is GA in Python SDK
  3. Support OAuth 2.1 and use it with RabbitMQ OAuth
  4. Support Dynamic setting of broker info
  5. Publish to PyPI

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_rabbitmq-2.2.0.tar.gz (66.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_rabbitmq-2.2.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_rabbitmq-2.2.0.tar.gz.

File metadata

  • Download URL: mcp_server_rabbitmq-2.2.0.tar.gz
  • Upload date:
  • Size: 66.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mcp_server_rabbitmq-2.2.0.tar.gz
Algorithm Hash digest
SHA256 252f3b0c316005fdbe7fda90bb2f53fdab95615b096503a3768db67124fe65d9
MD5 9788fc2f724620cbd9d0dd18af8f72be
BLAKE2b-256 066a9f3ce6ec15ecc2be3ab17c6fd419f83f12637767671fcd491cda6d0e477a

See more details on using hashes here.

File details

Details for the file mcp_server_rabbitmq-2.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_rabbitmq-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e394fc8192455d548b68888b763cb915c927f518fcaf25b9cb2d7943ee465c9a
MD5 021ea3731ab02f78511888143eec282b
BLAKE2b-256 20e7861174dae0cfd0c14938f0146f04f62796be66f5dccd75cf9b23aac32f9c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page