M
marcomq/mq-bridge
Async Rust library to route messages between Kafka, NATS, MQTT, AMQP, databases and HTTP, with Python and Node bindings
SECURITY.md ✓
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
安装与配置
- 复制上面的命令
- 粘成
claude_desktop_config.json里mcpServers的一项(本地服务器用 command + args,示例见 客户端接法) - 重启客户端
取自该仓库的安装命令
pip install mq-bridge
解析自我们于 2026-10-26 抓取的该仓库 README;我们未执行过。
这条是仓库自己写的安装方式,不是 MCP 客户端配置,所以不生成 JSON。
配置项的键名以你的客户端为准:客户端与 CLI
- ★ 数取值
- 27 ★ · marcomq/mq-bridge · 取自 GitHub 搜索 API · (2026-11-13 20:00:50 核对)
- 来源明细
- 收录自 punkpeye/awesome-mcp-servers 榜单(我们从中收集的条目之一) · 条目类型:MCP 服务
- 收录与活跃
- 收录于 2026-10-23 · 最近见到 2026-11-14 · 共见到 26 次 · 被 23 个来源列出
- 评分构成
- 综合分 2,300 · 27 ★ · 23 个来源 · mcp
- 安装
pip install mq-bridge
常见问题(答案都来自我们的记录)
怎么安装?
该仓库给出的安装命令是
pip install mq-bridge。我们的记录里它是仓库自己提供的;不保证在你的客户端上直接可用。它适合谁 / 用来做什么?
我们把它归在这些标签下: MCP 服务。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库
marcomq/mq-bridge;我们收录于 2026-10-23;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。mq-bridge
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
crossing streams · library
One Rust engine to move data reliably between brokers, databases, files and HTTP — embedded in your Rust, Python or Node.js service.
🖥️ mq-bridge-app ·
📊 ETL benchmarks ·
🏗️ Architecture ·
⚙️ Config ·
📚 Middleware & endpoint reference
## What is mq-bridge?
mq-bridge is an asynchronous Rust library that moves messages and data between systems: Kafka, NATS, RabbitMQ, MQTT, MongoDB, PostgreSQL/MySQL/SQLite, Postgres CDC, ClickHouse, Redis Streams, HTTP, WebSocket, gRPC, ZeroMQ, AWS SQS/SNS, IBM MQ, cloud object storage, files, and in-memory channels. Every endpoint sits behind the same batch-shaped receivebatch / sendbatch traits, so any source can feed any sink.
A route connects one input to one output. In between, it can transform, filter, fan out, retry, rate-limit, deduplicate, or answer a request, all by configuration. Where configuration isn't enough, you add a handler in Rust, Python or Node.js. Batching, ack/nack, commit ordering and broker I/O stay in the Tokio-based core, so your code works with plain CanonicalMessages and doesn't handle Kafka offsets or AMQP nacks.
It is a library you embed in your own service, not a daemon or platform you operate. If you'd rather not write code, mq-bridge-app runs the same engine and config as a CLI, server, desktop app, and MCP server.
## Use cases
| Problem | Guide with a runnable example |
| A RAG or semantic-search index drifts from its Postgres source | Keep a vector index in sync with Postgres: CDC → embeddings → Qdrant |
| Search results show what MongoDB no longer has | Keep a search index in sync with MongoDB: change stream → Meilisearch |
| Free-text messages need routing by what they say | Classify and route messages with an LLM |
| Events need a database record and per-key history to act on | Enrich events and keep per-key history in Postgres |
| A service must update its database and publish an event atomically | Transactional outbox with Postgres and Kafka |
| Tests for Kafka, NATS or RabbitMQ consumers need a running broker | Test message handlers without a broker |
## Quick Start
Install the library for your language:
| Language | Package | Install |
| Rust | mq-bridge | cargo add mq-bridge --features kafka,nats,yaml |
| Python | mq-bridge (PyPI) | pip install mq-bridge |
| Node.js | mq-bridge (npm) | npm install mq-bridge |
| C / C++ | mqbridge.h | cargo build --release -p mq-bridge-c (build from source) |
Describe a route — here Kafka → NATS with retries — in routes.yaml:
yaml
kafkatonats:
input:
kafka: { url: "localhost:9092", topic: "orders", groupid: "bridge" }
output:
middlewares:
retry: { maxattempts: 5 }
nats: { url: "nats://localhost:4222", subject: "orders.processed" }
Run it:
python
from mqbridge import Route
Route.fromfile("routes.yaml", "kafkatonats").run() # blocks; use start() to keep going
js
import { Route } from "mq-bridge";
Route.fromFile("routes.yaml", "kafkatonats").start();
rust
mqbridge::deployfile("routes.yaml").await?; // every route in the file, in the background
Attach a handler (withhandler / withHandler) when you need business logic in between. No code at all? mq-bridge-app runs the same engine from the command line or a desktop UI:
One Rust engine to move data reliably between brokers, databases, files and HTTP — embedded in your Rust, Python or Node.js service.
🖥️ mq-bridge-app ·
📊 ETL benchmarks ·
🏗️ Architecture ·
⚙️ Config ·
📚 Middleware & endpoint reference
## What is mq-bridge?
mq-bridge is an asynchronous Rust library that moves messages and data between systems: Kafka, NATS, RabbitMQ, MQTT, MongoDB, PostgreSQL/MySQL/SQLite, Postgres CDC, ClickHouse, Redis Streams, HTTP, WebSocket, gRPC, ZeroMQ, AWS SQS/SNS, IBM MQ, cloud object storage, files, and in-memory channels. Every endpoint sits behind the same batch-shaped receivebatch / sendbatch traits, so any source can feed any sink.
A route connects one input to one output. In between, it can transform, filter, fan out, retry, rate-limit, deduplicate, or answer a request, all by configuration. Where configuration isn't enough, you add a handler in Rust, Python or Node.js. Batching, ack/nack, commit ordering and broker I/O stay in the Tokio-based core, so your code works with plain CanonicalMessages and doesn't handle Kafka offsets or AMQP nacks.
It is a library you embed in your own service, not a daemon or platform you operate. If you'd rather not write code, mq-bridge-app runs the same engine and config as a CLI, server, desktop app, and MCP server.
## Use cases
| Problem | Guide with a runnable example |
| A RAG or semantic-search index drifts from its Postgres source | Keep a vector index in sync with Postgres: CDC → embeddings → Qdrant |
| Search results show what MongoDB no longer has | Keep a search index in sync with MongoDB: change stream → Meilisearch |
| Free-text messages need routing by what they say | Classify and route messages with an LLM |
| Events need a database record and per-key history to act on | Enrich events and keep per-key history in Postgres |
| A service must update its database and publish an event atomically | Transactional outbox with Postgres and Kafka |
| Tests for Kafka, NATS or RabbitMQ consumers need a running broker | Test message handlers without a broker |
## Quick Start
Install the library for your language:
| Language | Package | Install |
| Rust | mq-bridge | cargo add mq-bridge --features kafka,nats,yaml |
| Python | mq-bridge (PyPI) | pip install mq-bridge |
| Node.js | mq-bridge (npm) | npm install mq-bridge |
| C / C++ | mqbridge.h | cargo build --release -p mq-bridge-c (build from source) |
Describe a route — here Kafka → NATS with retries — in routes.yaml:
yaml
kafkatonats:
input:
kafka: { url: "localhost:9092", topic: "orders", groupid: "bridge" }
output:
middlewares:
retry: { maxattempts: 5 }
nats: { url: "nats://localhost:4222", subject: "orders.processed" }
Run it:
python
from mqbridge import Route
Route.fromfile("routes.yaml", "kafkatonats").run() # blocks; use start() to keep going
js
import { Route } from "mq-bridge";
Route.fromFile("routes.yaml", "kafkatonats").start();
rust
mqbridge::deployfile("routes.yaml").await?; // every route in the file, in the background
Attach a handler (withhandler / withHandler) when you need business logic in between. No code at all? mq-bridge-app runs the same engine from the command line or a desktop UI:
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/marcomq-mq-bridge-tree-main-apps-mq-bridge-app/)
- 来源
- awesome · https://github.com/marcomq/mq-bridge/tree/main/apps/mq-bridge-app
- 按领域浏览
- MCP 服务
- Traction
- 27 ★(父仓库总星标,不是这一条自己的)
- 收录来源
- 23 个独立来源
- 收录于
- 今天
- 安全策略
- 该仓库根目录有
SECURITY.md(我们只核文件存在,未核内容)
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。