Skip to main content
Glama
sansong089
by sansong089
README.md
# RabbitMQ MCP Server

[δΈ­ζ–‡η‰ˆ](./README_CN.md) | English Version

A RabbitMQ maintenance server for Cline, providing RabbitMQ management tools through the MCP (Model Context Protocol).

## πŸš€ Installation and Configuration

### πŸ“‹ System Requirements

- **Node.js**: 16.0 or higher
- **RabbitMQ Server**: With management plugin enabled

### πŸ“¦ Installation Steps

```bash
# Clone the project
git clone https://github.com/sansong089/rabbitmq-mcp-server
cd rabbitmq-mcp-server

# Install dependencies
npm install

# Build the project
npm run build
```

### βš™οΈ Configuration

#### Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "rabbitmq-mcp-server": {
      "command": "node",
      "args": ["C:\\path\\to\\your\\rabbitmq-mcp-server\\build\\index.js"],
      "env": {
        "RABBITMQ_HOST": "localhost",
        "RABBITMQ_PORT": "15672",
        "RABBITMQ_USER": "guest",
        "RABBITMQ_PASS": "guest",
        "RABBITMQ_VHOST": "/"
      }
    }
  }
}
```

#### Cline

Add in Cline MCP settings:

```json
{
  "mcpServers": {
    "rabbitmq-mcp-server": {
      "command": "node",
      "args": ["/path/to/your/rabbitmq-mcp-server/build/index.js"],
      "env": {
        "RABBITMQ_HOST": "localhost",
        "RABBITMQ_PORT": "15672",
        "RABBITMQ_USER": "guest",
        "RABBITMQ_PASS": "guest",
        "RABBITMQ_VHOST": "/"
      }
    }
  }
}
```

**Note**: Please replace the path with the actual path to the `build/index.js` file after building the project.

### βœ… Verification

After setup, ask the AI assistant to list available tools. You should see RabbitMQ-related tools such as `get_cluster_status`, `list_queues`, `create_queue`, etc.

## 🎯 Use Case

This project is specifically designed for the **Cline + Claude** environment, allowing you to manage RabbitMQ directly in a chat interface without opening a browser or using command line tools.

## πŸ”§ Development and Build

### Install Dependencies
```bash
npm install
```

### Build Project
```bash
npm run build
```

### Development Mode
```bash
npm run watch
```

### Test Connection
```bash
npm run inspector
```

## πŸ› οΈ Features

### πŸ—οΈ Cluster Management
- `get_cluster_status` - Get cluster status information

### πŸ“‹ Queue Management
- `list_queues` - List queues
- `create_queue` - Create queue
- `delete_queue` - Delete queue

### πŸ”„ Exchange Management
- `list_exchanges` - List exchanges
- `create_exchange` - Create exchange
- `get_exchange` - Get exchange information
- `delete_exchange` - Delete exchange

### πŸ”— Binding Management
- `list_bindings` - List bindings
- `create_binding` - Create binding
- `delete_binding` - Delete binding

### 🏠 Virtual Host Management
- `list_vhosts` - List virtual hosts
- `create_vhost` - Create virtual host
- `delete_vhost` - Delete virtual host

### πŸ‘₯ User Management
- `list_users` - List users
- `create_user` - Create user
- `delete_user` - Delete user

### πŸ”Œ Connection Management
- `list_connections` - List connections

### πŸ“¨ Message Operations
- `publish_message` - Publish message
- `consume_message` - Consume message

## βš™οΈ Usage in Cline

### Basic Queries (No Approval Required)
- View queues: `list all queues`
- View exchanges: `list all exchanges`
- View users: `list all users`

### ⚠️ Modification Operations (Manual Approval Required)

**Important Reminder:** All modification and deletion operations require your manual confirmation! AI assistants will not automatically execute these operations.

#### Create Operations
- Create queue: `create a queue named test-queue`
- Create user: `create a user named admin`
- Create exchange: `create a direct type exchange`

#### Delete Operations
- Delete queue: `delete the queue named test-queue`
- Delete user: `delete the user named guest`
- Delete exchange: `delete the exchange named test-exchange`

##  Design Philosophy

### Simplicity First, No Permission Restrictions

This project adopts a minimalist design:

- βœ… **No extra permission controls**: All operations are managed through MCP protocol
- βœ… **Simple installation**: No complex configuration, ready to use out of the box
- βœ… **Easy to use**: Manage RabbitMQ directly in chat

This makes RabbitMQ management as natural as chatting!

### Security Considerations

- All modification operations require user manual approval
- Recommended for use in trusted network environments
- Production environments should add additional security measures

## πŸ“‹ System Requirements

- **Node.js**: 16.0 or higher
- **RabbitMQ Server**: With management plugin enabled
- **Cline**: MCP protocol support

## ⚠️ Important Disclaimer

**Critical Warning: Modification and deletion operations must NEVER be authorized for automatic execution by AI assistants**

**Please read the following terms carefully:**

1. **Usage Restrictions**
   - This software is for learning, development, and testing purposes only
   - Do not use in unauthorized production environments

2. **Risk Warnings**
   - Users must bear all consequences of operations themselves
   - Including but not limited to data loss, service interruption, etc.

3. **Security Warnings**
   - **Modification and deletion operations must NEVER be authorized for automatic execution by AI assistants**
   - All destructive operations must go through manual confirmation and review
   - Operations with Confluence administrative privileges may cause serious security risks
   - Please run in secure and controllable environments

4. **Disclaimer**
   - This project is provided "as is" without any express or implied warranties
   - The author is not responsible for any damages caused by using this software

**Please ensure you understand and accept the above terms before use.**

---

[δΈ­ζ–‡η‰ˆ](./README_CN.md) | [Back to Top](#rabbitmq-mcp-server)

TDQS

C2.9/5.0

Scored across 20 tools

Disambiguation5/5

Each tool targets a distinct resource and action (e.g., list_vhosts vs. create_vhost vs. delete_vhost, publish_message vs. consume_message). There is no meaningful overlap; an agent can reliably select the intended operation.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (list_*, create_*, delete_*, get_*, publish_*, consume_*). The convention is predictable throughout, with no mixing of styles or vague verbs.

Tool Count4/5

20 tools is slightly above the typical 3–15 sweet spot, but the set covers distinct RabbitMQ resources without obvious redundancy. The count is reasonable for a management server spanning vhosts, users, queues, exchanges, bindings, and messages.

Completeness3/5

Core create/list/delete operations exist for vhosts, users, queues, exchanges, and bindings, and exchange has a get operation, but many resources lack detailed get or update tools (users, queues, vhosts, bindings). Additional gaps include queue purge, message ack/reject, and connection management, though agents can partially work around these via list operations.

Maintenance

ActivityInactive
ResponsivenessNo issues