关于 RabbitMQ Mcp Go
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
RabbitMQ MCP Go
用于集成 RabbitMQ 的 Model Control Protocol(MCP)服务的 Go 实现。
此服务通过 MCP 协议提供与 RabbitMQ 交互的实现,使大模型能够通过标准化接口执行常见的 RabbitMQ 操作。
![]()
概述
RabbitMQ MCP Server 在大模型与 RabbitMQ 之间搭建桥梁,使其能够:
- 向 RabbitMQ 队列或交换机发布消息
项目结构
.
├── cmd/ # Application entry points
├── internal/ # Private application code
│ ├── config/ # Configuration management
│ ├── tools/ # MCP tools implementations
│ ├── prompts/ # Prompt templates and configurations
│ └── resources/ # Shared resources and utilities
├── pkg/ # Public library code
├── api/ # API definitions and documentation
└── scripts/ # Build and utility scripts
目录概览
内部目录结构
- tools/:包含所有 MCP 工具实现。每个工具都是一个独立的软件包,实现 MCP 工具接口。
- prompts/:存储 MCP 工具使用的提示词模板和配置。
- resources/:包含共享实用工具、辅助函数和可复用组件。
- config/:管理应用配置。
入门指南
- 安装 Go 1.24.3:
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 客户端集成
基本配置
将此配置添加到 MCP 客户端设置中:
{
"mcpServers": {
"rabbitmq": {
"command": "rabbitmq-mcp-server",
"env": {
"RABBITMQ_URL": "amqp://guest:guest@localhost:5672/"
}
}
}
}
Cursor 集成
要与 Cursor 配合使用,请创建或编辑 ~/.cursor/mcp.json:
{
"mcpServers": {
"rabbitmq": {
"command": "rabbitmq-mcp-server",
"env": {
"RABBITMQ_URL": "amqp://guest:guest@localhost:5672/"
}
}
}
}
Claude Desktop 集成
要与 Claude Desktop 配合使用,请编辑配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"rabbitmq": {
"command": "rabbitmq-mcp-server",
"env": {
"RABBITMQ_URL": "amqp://guest:guest@localhost:5672/"
}
}
}
}
使用 RabbitMQ 发布工具
发布工具可通过 MCP 接口向 RabbitMQ 队列或交换机发送消息。
工具参数
queue(字符串,可选):要发布消息的队列名称exchange(字符串,可选):要发布消息的交换机名称message(字符串,必填):要发布的消息内容content_type(字符串,可选):消息的内容类型- 支持的值:"text/plain"(默认)、"application/json"
headers(字符串,可选):JSON 格式的消息标头
交互示例
1. 发布到队列:
User:"向队列 'my_queue' 发送一条消息 'Hello World'"
AI 助手将使用发布工具:
{
"queue": "my_queue",
"message": "Hello, World!",
"content_type": "text/plain"
}
响应:
"Message published successfully to my_queue"
2. 向交换机发布 JSON:
User:"向 'orders' 交换机发布订单状态更新"
AI 助手将使用发布工具:
{
"exchange": "orders",
"message": "{\"order_id\": \"12345\", \"status\": \"completed\"}",
"content_type": "application/json"
}
响应:
"Message published successfully to orders"
1. 使用标头发布:
User:"向 notifications 队列发送一条高优先级消息"
AI 助手将使用发布工具:
{
"queue": "notifications",
"message": "Important system update",
"headers": "{\"priority\": \"high\", \"timestamp\": \"2024-03-20T12:00:00Z\"}"
}
错误处理
在以下情况下,工具会返回错误:
- 未指定队列或交换机
- 缺少必需的消息参数
- 当 content_type 为 "application/json" 时,JSON 格式无效
- RabbitMQ 连接或发布错误
开发
要添加新的 MCP 工具:
- 在
internal/tools/下创建新目录 - 实现 MCP 工具接口
- 在主应用程序中注册该工具
- 如有需要,在
internal/prompts/中添加相应提示词 - 在工具 README 中记录该工具
贡献
欢迎贡献!欢迎提交 Pull Request。
许可证
本项目采用 MIT License 许可,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。