https://github.com/hyperpolymath/poly-queue-mcp
Unified MCP server for message queue management. Tools for Redis Streams, RabbitMQ, and NATS.
https://github.com/hyperpolymath/poly-queue-mcp
deno mcp mcp-server message-queue model-context-protocol nats poly-mcp rabbitmq redis
Last synced: 4 months ago
JSON representation
Unified MCP server for message queue management. Tools for Redis Streams, RabbitMQ, and NATS.
- Host: GitHub
- URL: https://github.com/hyperpolymath/poly-queue-mcp
- Owner: hyperpolymath
- License: other
- Created: 2025-12-14T02:19:08.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-04T13:46:50.000Z (4 months ago)
- Last Synced: 2026-01-05T02:52:43.722Z (4 months ago)
- Topics: deno, mcp, mcp-server, message-queue, model-context-protocol, nats, poly-mcp, rabbitmq, redis
- Language: ReScript
- Size: 318 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.adoc
- Contributing: CONTRIBUTING.adoc
- Funding: .github/FUNDING.yml
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Security: SECURITY.md
- Roadmap: ROADMAP.adoc
- Codemeta: codemeta.json
Awesome Lists containing this project
README
= poly-queue-mcp
:toc:
:toc-placement!:
image:https://img.shields.io/badge/RSR-compliant-gold[RSR Compliant,link=https://github.com/hyperpolymath/rhodium-standard-repositories]
image:https://img.shields.io/badge/MCP-server-blue[MCP Server,link=https://github.com/modelcontextprotocol]
image:[License,link="https://github.com/hyperpolymath/palimpsest-license"]
// SPDX-License-Identifier: PMPL-1.0
// SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell
Unified MCP server for message queue management. Provides Model Context Protocol tools for interacting with Redis Streams, RabbitMQ, and NATS messaging systems.
toc::[]
== Overview
poly-queue-mcp exposes message queue capabilities through the Model Context Protocol (MCP), enabling AI assistants and other MCP clients to manage message queues, publish/subscribe to topics, and monitor queue health across multiple messaging platforms.
== Adapters
=== Redis Streams (8 tools)
Stream-based messaging with Redis:
* `redis_xadd` - Add an entry to a stream
* `redis_xread` - Read entries from streams
* `redis_xrange` - Get a range of entries from a stream
* `redis_xlen` - Get the length of a stream
* `redis_xinfo` - Get information about a stream
* `redis_xgroup_create` - Create a consumer group
* `redis_xreadgroup` - Read from a consumer group
* `redis_xack` - Acknowledge processed messages
=== RabbitMQ (9 tools)
Enterprise message broker via Management API:
* `rabbitmq_queues` - List all queues
* `rabbitmq_queue` - Get queue details
* `rabbitmq_exchanges` - List all exchanges
* `rabbitmq_publish` - Publish a message
* `rabbitmq_get` - Get messages from queue (non-destructive)
* `rabbitmq_purge` - Purge all messages from queue
* `rabbitmq_overview` - Get RabbitMQ overview
* `rabbitmq_connections` - List all connections
* `rabbitmq_channels` - List all channels
=== NATS (8 tools)
High-performance messaging with JetStream support:
* `nats_publish` - Publish a message to a subject
* `nats_request` - Send request and wait for reply
* `nats_subscribe` - Subscribe and receive messages
* `nats_stream_list` - List JetStream streams
* `nats_stream_info` - Get stream information
* `nats_consumer_list` - List consumers for a stream
* `nats_server_info` - Get NATS server info
* `nats_account_info` - Get account info
== Requirements
* https://deno.land/[Deno] runtime
* https://redis.io/[Redis] with Streams support (for Redis tools)
* https://www.rabbitmq.com/[RabbitMQ] with Management Plugin (for RabbitMQ tools)
* https://nats.io/[NATS] CLI (for NATS tools)
== Configuration
=== Redis
[source,bash]
----
export REDIS_URL=localhost:6379
----
=== RabbitMQ
[source,bash]
----
export RABBITMQ_URL=http://localhost:15672
export RABBITMQ_USER=guest
export RABBITMQ_PASS=guest
----
=== NATS
[source,bash]
----
export NATS_URL=nats://localhost:4222
----
== Installation
[source,bash]
----
git clone https://github.com/hyperpolymath/poly-queue-mcp
cd poly-queue-mcp
npm install
npm run build
----
== Usage
Run as MCP server:
[source,bash]
----
deno run --allow-run --allow-read --allow-env --allow-net main.js
----
Or use the systemd service:
[source,bash]
----
systemctl --user enable poly-queue-mcp
systemctl --user start poly-queue-mcp
----
== Security Considerations
* Use authentication for all queue connections
* Enable TLS for production deployments
* Avoid exposing management APIs publicly
* Use least-privilege credentials
== License
MIT