mq-bridge-app

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Uyari
  • fs module — File system access in .github/workflows/release.yml
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Bridge between multiple MQ message queues and streams like nats or kafka

README.md

mq-bridge-app

Linux
Windows
macOS
License
Docs

mq-bridge-app

crossing streams

mq-bridge-app is a fast, single-command ETL and data-movement tool built in Rust — and, on top of the same engine, a multi-protocol bridge and traffic workbench for messaging.

It ships in three forms that share one engine and one config format: a desktop app (visual workbench), a CLI / server (headless bridge and one-line copy), and a library (embed the engine in Rust, Python, or Node.js). Design a route once, run it anywhere — no rewrite in between.

Supported integration types include Kafka, RabbitMQ (AMQP), NATS, AWS SQS, MQTT, IBM MQ (optional), HTTP, gRPC, ZeroMQ, MongoDB, sqlx (MySQL, MariaDB, PostgreSQL), and filesystem endpoints.

📖 All documentation lives in the documentation book — installation, quick start, tutorials, cookbook, connector reference, CLI, MCP, and performance tuning. This README is only a short overview; the book is the single source of truth.

A quick taste

At its core is a zero-config copy command that moves data between databases, queues, and files in a single line of bash — no YAML, no pipeline definition, no code:

mq-bridge-app copy \
  --from 'postgres://user:pass@localhost/db?table=src&sslmode=disable' \
  --to   'file://out.jsonl?format=raw' \
  --drain

The scheme selects the endpoint and query parameters configure it, so any source→sink pair (Postgres, MySQL, MariaDB, SQLite, NATS, Redis, MongoDB, files, …) is just one URL each. And it's quick: in our benchmarks a 1,000,000-row Postgres → JSONL job sustained 266,951 rows/s at ~20 MiB peak RSS — about 17x faster and ~30x leaner than Meltano on the same machine.

Quick start · Connectors · Performance tuning

The three ways to run it

Test connections and dial in a route in the Postman-inspired UI, export the JSON/YAML, then run that config as a service or from library code. One engine, one config format.

Form What it is Quick install
Desktop app (UI) The visual workbench — build/test routes, run request/response traffic, inspect message history brew install --cask marcomq/tap/mq-bridge
CLI / server Headless binary: a one-line copy, a drain-then-exit batch job, or a long-lived bridge (also serves the same UI in a browser) brew install marcomq/tap/mq-bridge-app
Library The engine embedded in your own code — native Rust, Python, or Node.js bindings cargo add / pip / npm

mq-bridge UI - publishers

Learn each form in the book: the three ways to run it · the desktop / web UI · CLI commands · MCP server · library bindings.

Install

brew is the quickest path on macOS and Linux:

brew install marcomq/tap/mq-bridge-app         # CLI / server
brew install --cask marcomq/tap/mq-bridge      # desktop app

On Windows, install the CLI with cargo binstall mq-bridge-app, or download the desktop installer / CLI from the Releases page. Also available via cargo install mq-bridge-app (from source) and the Docker image ghcr.io/marcomq/mq-bridge-app:latest.

→ Every install method and platform (including the IBM MQ build and Docker) is in the Install guide; to compile from source see Building.

Use it from an AI agent

The same binary is an MCP server, so an agent can move data without the rows passing through its context:

mq-bridge-app mcp install          # register with Claude Code / Claude Desktop / Cursor
  • MCP Registry name: mcp-name: io.github.marcomq/mq-bridge-app

→ Tools, transports, and the token-cost measurement: MCP server.

Features

  • Multi-protocol bridging — Kafka, IBM MQ, NATS, AMQP (RabbitMQ), MQTT, AWS SQS, gRPC, ZeroMQ, MongoDB, sqlx (MySQL/MariaDB/PostgreSQL), HTTP, and files. Act as an HTTP server and client, with full request-response support.
  • Middleware chains — retries, dead-letter queues, deduplication, rate limiting, buffering, transforms, weak-join correlation, and more, wrapping any endpoint.
  • Built-in web UI — Svelte-based management for publishers, consumers, routes, runtime status, presets, and imports; the same UI the CLI serves in a browser.
  • Observability — structured JSON logging and a Prometheus metrics endpoint.
  • Flexible configuration — hierarchical files (YAML/JSON/TOML) plus environment variables, suited to Container/Kubernetes.
  • Security & storage — config security modes (plain / extracted secrets / encrypted config / persistent encrypted history), encryption at rest, and local-first operation.
  • High performance — Rust + Tokio: low latency, high concurrency, small memory footprint.

Why not just an API client?

mq-bridge-app's UI overlaps with API clients like Postman, Bruno, Insomnia, and Hoppscotch, but its center of gravity is different: message bridging, runtime operation, and long-lived route management rather than just request composition. Exact feature sets vary by product and edition; this captures the difference in emphasis.

Capability mq-bridge Postman Bruno Insomnia Hoppscotch
Basic HTTP/API requests
Scripting
Cookie jar Not yet ~
Multipart forms
Hex-level payload debugging
Broker pub/sub workflow MQTT MQTT
Long-lived consumers/routes
Bridge traffic between protocols
Replay messages ~ ~
Local-first workspace ~ ~
Git-friendly config ~ ~
Cloud sync by default Optional Optional
AI / agent features ~ ~
Encrypted config ~ ~ ~ ~

Use Postman/Bruno when your main job is crafting and sharing API requests; use mq-bridge-app when you need to connect systems, move messages between protocols, inspect live traffic, and manage bridge-style runtime configuration.

Performance

A CSV → JSONL conversion hit 784,313 rows/s; the same job through an MCP tool call ran at 735,330 rows/s while costing an agent a flat ~370 tokens regardless of row count, because the rows never enter the model's context.

→ Full numbers, methodology, and knobs: Performance tuning and benches/etl/README.md.

How it's built

mq-bridge-app uses the mq-bridge engine on itself — the management UI is served through the engine's own HTTP-request/response routing, and the UI form is generated from the Rust config schema (no hand-written form code). See How the app is built.

Status

Active development. Originally the reference implementation and testbed for the mq-bridge engine. The UI/Tauri layer is a working demo rather than a reference implementation — test before relying on it in production.

License

MIT — see LICENSE.

Yorumlar (0)

Sonuc bulunamadi