这是用于与RabbitMQ集成的Model Control Protocol(MCP)服务器的Go语言实现。
该服务器提供了一个通过MCP协议与RabbitMQ交互的实现,使LLM模型能够通过标准化接口执行常见的RabbitMQ操作。

RabbitMQ MCP服务器填补了LLM模型与RabbitMQ之间的空白,允许它们:
.
├── cmd/ # 应用程序入口点
├── internal/ # 私有应用程序代码
│ ├── config/ # 配置管理
│ ├── tools/ # MCP工具实现
│ ├── prompts/ # 提示模板和配置
│ └── resources/ # 共享资源和实用工具
├── pkg/ # 公共库代码
├── api/ # API定义和文档
└── scripts/ # 构建和实用脚本
asdf install golang 1.24.3
git clone https://github.com/yourusername/rabbitmq-mcp-go.git
cd rabbitmq-mcp-go
go mod download
go build ./cmd/...
在您的MCP客户端设置中添加以下配置:
{
"mcpServers": {
"rabbitmq": {
"command": "rabbitmq-mcp-server",
"env": {
"RABBITMQ_URL": "amqp://guest:guest@localhost:5672/"
}
}
}
}
要与Cursor一起使用,请创建或编辑~/.cursor/mcp.json:
{
"mcpServers": {
"rabbitmq": {
"command": "rabbitmq-mcp-server",
"env": {
"RABBITMQ_URL": "amqp://guest:guest@localhost:5672/"
}
}
}
}
要与Claude Desktop一起使用,请编辑您的配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"rabbitmq": {
"command": "rabbitmq-mcp-server",
"env": {
"RABBITMQ_URL": "amqp://guest:guest@localhost:5672/"
}
}
}
}
发布工具允许您通过MCP接口向RabbitMQ队列或交换机发送消息。
queue (字符串,可选): 发布到的队列名称exchange (字符串,可选): 发布到的交换机名称message (字符串,必需): 要发布的消息内容content_type (字符串,可选): 消息的内容类型
headers (字符串,可选): JSON格式的消息头1. 发布到队列:
用户: "向队列'my_queue'发送消息'Hello World'"
AI助手将使用发布工具:
{
"queue": "my_queue",
"message": "Hello, World!",
"content_type": "text/plain"
}
响应:
"消息已成功发布到my_queue"
2. 发布JSON到交换机:
用户: "向'orders'交换机发布订单状态更新"
AI助手将使用发布工具:
{
"exchange": "orders",
"message": "{\"order_id\": \"12345\", \"status\": \"completed\"}",
"content_type": "application/json"
}
响应:
"消息已成功发布到orders"
1. 带有头部的发布:
用户: "向通知队列发送高优先级消息"
AI助手将使用发布工具:
{
"queue": "notifications",
"message": "重要系统更新",
"headers": "{\"priority\": \"high\", \"timestamp\": \"2024-03-20T12:00:00Z\"}"
}
在以下情况下,工具将返回错误:
要添加新的MCP工具:
internal/tools/下创建一个新的目录internal/prompts/欢迎贡献!请随时提交Pull Request。
本项目采用MIT许可证 - 详情见LICENSE文件。