# mq-bridge

An MCP server that shuttles rows between databases, queues and files while the agent stays out of the data path. Useful when something has to be moved, not read.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 25
- Author: marcomq
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/marcomq/mq-bridge/tree/HEAD/apps/mq-bridge-app
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/mq-bridge

## What it does

The server sits on the same engine as the `mqb` command-line tool. Your agent fires a tool call and the transfer runs outside the conversation, so a million rows never land in the transcript.

One binary speaks Kafka, RabbitMQ (AMQP), NATS, AWS SQS, MQTT, HTTP, gRPC, ZeroMQ, MongoDB, MySQL, MariaDB, PostgreSQL and plain files. A route is a URL per endpoint: the scheme picks the connector, query parameters set its behaviour. Middleware can sit in front of any endpoint — retries, dead-letter queues, deduplication, rate limits.

It runs from the `ghcr.io/marcomq/mq-bridge-app:1.1.0` Docker image, so Docker has to be on the machine first. Get a source URL wrong and nothing moves; the failure shows up at connection time, before any rows are copied.

## Requirements
- Needs: Docker

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add mq-bridge-app -- docker run -i --rm ghcr.io/marcomq/mq-bridge-app:1.1.0
```

### Codex

**Platform CLI**
```bash
codex mcp add mq-bridge-app -- docker run -i --rm ghcr.io/marcomq/mq-bridge-app:1.1.0
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mq-bridge-app": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/marcomq/mq-bridge-app:1.1.0"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mq-bridge-app": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "ghcr.io/marcomq/mq-bridge-app:1.1.0"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add mq-bridge-app docker run -i --rm ghcr.io/marcomq/mq-bridge-app:1.1.0
```

## When to use it
- copy a Postgres table into Kafka without dumping rows into the chat
- run a one-off CSV to S3 conversion as JSONL
- filter records at the source before they leave the database
- bridge MQTT traffic into RabbitMQ with no glue code
- test a queue connection before wiring a route

## Example prompts
- Copy the `orders` table from Postgres to NATS, keep only rows where `amount > 100`, and stop when the drain finishes.
- Start the mq-bridge MCP server and list the tools it exposes.
- Move everything from `mqtt://broker` into `out.jsonl` and report the row count.

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40409
- [dbx](https://affpapa.org/en/nevibecode/mcp/dbx.md) — MCP server · ★ 27669
- [Metabase](https://affpapa.org/en/nevibecode/mcp/metabase.md) — MCP server · ★ 49845

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
