RabbitMQ MCP Go
用于RabbitMQ集成的模型控制协议(MCP)服务器的Go实现。
该服务器提供了一种通过MCP协议与RabbitMQ交互的实现,使LLM模型能够通过标准化接口执行常见的RabbitMQ操作。
 ](https://github.com/maiconjobim/rabbitmq-mcp-go/blob/main/go.mod)   ](https://github.com/maiconjobim/rabbitmq-mcp-go/releases/latest) 
概述
RabbitMQ MCP服务器弥合了LLM模型和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目录概述
内部目录结构
- 工具/:包含所有MCP工具实现。每个工具都是一个单独的包,用于实现MCP工具接口。
- 提示/:存储MCP工具使用的提示模板和配置。
- 资源/:房屋共享实用程序、辅助功能和可重用组件。
- 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/mcp.json:
{
"mcpServers": {
"rabbitmq": {
"command": "rabbitmq-mcp-server",
"env": {
"RABBITMQ_URL": "amqp://guest:guest@localhost:5672/"
}
}
}
}Claude桌面集成
要与Claude Desktop一起使用,请编辑配置文件:
- macOS:
~/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/"
}
}
}
}使用RabbitMQ发布工具
发布工具允许您通过MCP接口向RabbitMQ队列或交换机发送消息。
刀具参数
queue(字符串,可选):要发布到的队列名称exchange(字符串,可选):要发布到的Exchange名称message(字符串,必填):要发布的消息内容content_type(字符串,可选):消息的内容类型
- 支持的值:“text/plain”(默认)、“application/json”
headers(字符串,可选):JSON格式的消息头
交互示例
1.发布到队列:
用户:“向队列'my_queue'发送消息'Hello World'”
AI助手将使用发布工具:
{
"queue": "my_queue",
"message": "Hello, World!",
"content_type": "text/plain"
}答复:
"Message published successfully to my_queue"2.将JSON发布到Exchange:
用户:“将订单状态更新发布到‘订单’交易所”
AI助手将使用发布工具:
{
"exchange": "orders",
"message": "{\"order_id\": \"12345\", \"status\": \"completed\"}",
"content_type": "application/json"
}答复:
"Message published successfully to orders"1.带标题的发布:
用户:“向通知队列发送高优先级消息”
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中记录该工具
贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
