Sponsored by Deepsite.site

RabbitMQ Mcp Go

Created By
maiconjobim5 months ago
A Go implementation of Model Control Protocol (MCP) server for RabbitMQ integration
Content

RabbitMQ MCP Go

A Go implementation of Model Control Protocol (MCP) server for RabbitMQ integration.

This server provides an implementation for interacting with RabbitMQ via the MCP protocol, enabling LLM models to perform common RabbitMQ operations through a standardized interface.

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

Overview

The RabbitMQ MCP Server bridges the gap between LLM models and RabbitMQ, allowing them to:

  • Publish a message to a RabbitMQ queue or exchange

Project Structure

.
├── 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

Directory Overview

Internal Directory Structure

  • tools/: Contains all MCP tool implementations. Each tool is a separate package that implements the MCP tool interface.
  • prompts/: Stores prompt templates and configurations used by the MCP tools.
  • resources/: Houses shared utilities, helper functions, and reusable components.
  • config/: Manages application configuration.

Getting Started

  1. Install Go 1.24.3:
asdf install golang 1.24.3
  1. Clone the repository:
git clone https://github.com/yourusername/rabbitmq-mcp-go.git
cd rabbitmq-mcp-go
  1. Install dependencies:
go mod download
  1. Build the project:
go build ./cmd/...

MCP Client Integration

Basic Configuration

Add this configuration to your MCP client settings:

{
  "mcpServers": {
    "rabbitmq": {
      "command": "rabbitmq-mcp-server",
      "env": {
        "RABBITMQ_URL": "amqp://guest:guest@localhost:5672/"
      }
    }
  }
}

Cursor Integration

To use with Cursor, create or edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "rabbitmq": {
      "command": "rabbitmq-mcp-server",
      "env": {
        "RABBITMQ_URL": "amqp://guest:guest@localhost:5672/"
      }
    }
  }
}

Claude Desktop Integration

To use with Claude Desktop, edit your configuration file:

  • 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/"
      }
    }
  }
}

Using the RabbitMQ Publish Tool

The publish tool allows you to send messages to RabbitMQ queues or exchanges through the MCP interface.

Tool Parameters

  • queue (string, optional): Queue name to publish to
  • exchange (string, optional): Exchange name to publish to
  • message (string, required): Message content to publish
  • content_type (string, optional): Content type of the message
    • Supported values: "text/plain" (default), "application/json"
  • headers (string, optional): Message headers in JSON format

Example Interactions

1. Publishing to a Queue:

User: "Send a message 'Hello World' to the queue 'my_queue'"

AI Assistant will use the publish tool:

{
  "queue": "my_queue",
  "message": "Hello, World!",
  "content_type": "text/plain"
}

Response:

"Message published successfully to my_queue"

2. Publishing JSON to an Exchange:

User: "Publish order status update to the 'orders' exchange"

AI Assistant will use the publish tool:

{
  "exchange": "orders",
  "message": "{\"order_id\": \"12345\", \"status\": \"completed\"}",
  "content_type": "application/json"
}

Response:

"Message published successfully to orders"

1. Publishing with Headers:

User: "Send a high-priority message to the notifications queue"

AI Assistant will use the publish tool:

{
  "queue": "notifications",
  "message": "Important system update",
  "headers": "{\"priority\": \"high\", \"timestamp\": \"2024-03-20T12:00:00Z\"}"
}

Error Handling

The tool will return an error in the following cases:

  • Neither queue nor exchange is specified
  • Required message parameter is missing
  • Invalid JSON format when content_type is "application/json"
  • RabbitMQ connection or publishing errors

Development

To add a new MCP tool:

  1. Create a new directory under internal/tools/
  2. Implement the MCP tool interface
  3. Register the tool in the main application
  4. Add corresponding prompts in internal/prompts/ if needed
  5. Document the tool in the tools README

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Server Config

{
  "mcpServers": {
    "rabbitmq": {
      "command": "rabbitmq-mcp-server",
      "env": {
        "RABBITMQ_URL": "amqp://guest:guest@localhost:5672/"
      }
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
ChatWiseThe second fastest AI chatbot™
Playwright McpPlaywright MCP server
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
WindsurfThe new purpose-built IDE to harness magic
DeepChatYour AI Partner on Desktop
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
CursorThe AI Code Editor
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Amap Maps高德地图官方 MCP Server
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Serper MCP ServerA Serper MCP Server
Tavily Mcp
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.