npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@marcelocorrea/mcp-rabbitmq

v1.0.0

Published

MCP server for interacting with RabbitMQ over the Model Context Protocol.

Downloads

3

Readme

mcp-rabbitmq

Servidor Model Context Protocol (MCP) para trabalhar com o RabbitMQ usando Node.js e TypeScript. O pacote fornece um conjunto de ferramentas MCP para publicar mensagens, inspecionar filas e realizar operações básicas usando parâmetros de conexão definidos exclusivamente por variáveis de ambiente.

Recursos

  • Conexão via RABBITMQ_URL ou parâmetros granulares (RABBITMQ_HOST, RABBITMQ_USERNAME, etc.).
  • Publicação de mensagens em filas ou exchanges, com suporte a payload JSON, persistência e cabeçalhos.
  • Inspeção do tamanho e número de consumidores de uma fila (check_queue).
  • Limpeza rápida de filas com purge_queue.
  • Binário pronto (mcp-rabbitmq) para uso direto via MCP, além de API programática.

Instalação

npm install mcp-rabbitmq

Ou utilize diretamente com npx:

npx mcp-rabbitmq

Configuração das variáveis de ambiente

Defina os parâmetros de conexão antes de iniciar o servidor.

Opção 1: URL pronta

export RABBITMQ_URL="amqp://user:password@host:5672/vhost"

Opção 2: Parâmetros individuais

export RABBITMQ_HOST="localhost"
export RABBITMQ_PORT="5672"
export RABBITMQ_USERNAME="guest"
export RABBITMQ_PASSWORD="guest"
export RABBITMQ_VHOST="/"

Variáveis adicionais:

  • RABBITMQ_PREFETCH: define o prefetch aplicado ao canal usado pelo MCP.

Uso via MCP

  1. Garanta que as variáveis de ambiente estejam carregadas (pode-se usar um arquivo .env).
  2. Execute o servidor MCP em modo stdio:
npx mcp-rabbitmq
  1. Configure seu cliente MCP para apontar para o comando acima.

Exemplo no Cursor

Crie (ou edite) o arquivo .cursor/mcp.json do seu projeto e adicione uma entrada semelhante:

"rabbitmq": {
  "command": "npx",
  "args": [
    "--yes",
    "mcp-rabbitmq"
  ],
  "env": {
    "RABBITMQ_URL": "amqp://user:password@host:5672/vhost"
  }
}

Caso prefira configurar os parâmetros individualmente, substitua RABBITMQ_URL pelos pares RABBITMQ_HOST, RABBITMQ_PORT, RABBITMQ_USERNAME, RABBITMQ_PASSWORD e RABBITMQ_VHOST. Depois de salvar, o Cursor exibirá o servidor rabbitmq na lista de MCPs disponíveis.

Exemplo no Cursor (com build local)

Se você preferir usar o build gerado na sua máquina (sem npx), primeiro garanta que o pacote esteja instalado e compilado:

npm install
npm run build

Em seguida, referencie o binário gerado em dist/server.js no .cursor/mcp.json:

"rabbitmq-local": {
  "command": "node",
  "args": [
    "./path/para/mcp-rabbitmq/dist/server.js"
  ],
  "cwd": "./path/para/mcp-rabbitmq",
  "env": {
    "RABBITMQ_HOST": "localhost",
    "RABBITMQ_PORT": "5672",
    "RABBITMQ_USERNAME": "guest",
    "RABBITMQ_PASSWORD": "guest",
    "RABBITMQ_VHOST": "/"
  }
}

Troque ./path/para/mcp-rabbitmq pelo caminho absoluto ou relativo correto no seu projeto. Essa abordagem evita downloads via npx e usa diretamente os arquivos já compilados no seu ambiente.

Exemplo no Codex (npx)

Se estiver usando o Codex CLI, adicione ao arquivo codex.toml:

[mcp.rabbitmq]
command = "npx"
args = ["--yes", "mcp-rabbitmq"]

[mcp.rabbitmq.env]
RABBITMQ_URL = "amqp://user:password@host:5672/vhost"

Exemplo no Codex (build local)

Após instalar e gerar a build local (npm install && npm run build), configure o codex.toml assim:

[mcp.rabbitmq-local]
command = "node"
args = ["./path/para/mcp-rabbitmq/dist/server.js"]
cwd = "./path/para/mcp-rabbitmq"

[mcp.rabbitmq-local.env]
RABBITMQ_HOST = "localhost"
RABBITMQ_PORT = "5672"
RABBITMQ_USERNAME = "guest"
RABBITMQ_PASSWORD = "guest"
RABBITMQ_VHOST = "/"

Atualize os caminhos conforme a estrutura da sua máquina. O Codex carregará o servidor MCP automaticamente a partir dessas definições.

Ferramentas expostas

  • publish_message: publica mensagens em uma fila ou exchange. Argumentos:
    • queue (opcional) – nome da fila destino.
    • exchange (opcional) – nome da exchange destino.
    • routingKey (opcional) – rota utilizada ao publicar em uma exchange.
    • payload (obrigatório) – string ou objeto JSON com a mensagem.
    • persistent, contentType, headers, queueOptions, exchangeOptions (opcionais) – ajustes finos da publicação.
  • check_queue: retorna messageCount e consumerCount de uma fila.
  • purge_queue: remove todas as mensagens pendentes da fila informada.

Uso programático

import { createRabbitMqServer, loadConfig } from "mcp-rabbitmq";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

dotenv.config();

const { server } = createRabbitMqServer({ config: loadConfig() });
server.connect(new StdioServerTransport());

Scripts disponibilizados

  • npm run build: compila o projeto TypeScript para dist/.
  • npm run clean: remove a pasta dist/.
  • npm run lint: executa o ESLint.

Publicação no npm

O pacote já está configurado com files, exports e script prepare para gerar a build automaticamente antes de ser publicado com npm publish.

Licença

MIT