mcpField
R
RabbitMQ Mcp Go

RabbitMQ Mcp Go

本地服务
github.com/maiconjobim开发工具268 周前更新

关于 RabbitMQ Mcp Go

RabbitMQ MCP Go 是以 Go 实现的 RabbitMQ MCP 服务,面向需要通过标准化接口发布队列或交换机消息的 LLM 应用。它支持文本或 JSON 内容,并可附带消息头。

主要功能

  1. 01向队列或交换机发布消息
  2. 02支持文本和 JSON 内容类型
  3. 03可传递 JSON 格式消息头

适用场景

  1. 01向指定队列发送文本通知
  2. 02向交换机发布 JSON 订单状态
  3. 03发布带优先级等消息头的消息

MCP 相关

该服务向 MCP 客户端提供 RabbitMQ 消息发布工具,通过 RABBITMQ_URL 配置连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

RabbitMQ MCP Go

用于集成 RabbitMQ 的 Model Control Protocol(MCP)服务的 Go 实现。

此服务通过 MCP 协议提供与 RabbitMQ 交互的实现,使大模型能够通过标准化接口执行常见的 RabbitMQ 操作。

Go Report Card Go Version SLSA 3 Go Reference GitHub Release License: MIT

rabbitmq-mcp-demo

概述

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/:管理应用配置。

入门指南

  1. 安装 Go 1.24.3:
asdf install golang 1.24.3
  1. 克隆仓库:
git clone https://github.com/yourusername/rabbitmq-mcp-go.git
cd rabbitmq-mcp-go
  1. 安装依赖:
go mod download
  1. 构建项目:
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 工具:

  1. 在 internal/tools/ 下创建新目录
  2. 实现 MCP 工具接口
  3. 在主应用程序中注册该工具
  4. 如有需要,在 internal/prompts/ 中添加相应提示词
  5. 在工具 README 中记录该工具
贡献

欢迎贡献!欢迎提交 Pull Request。

许可证

本项目采用 MIT License 许可,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。