mq-bridge について
mq-bridgeは、データベース、キュー、ファイルを接続するRust製のデータ移動・メッセージブリッジです。同じエンジンと設定形式で、コマンドライン、デスクトップアプリ、ライブラリ、MCPサーバーとして動作します。
主な機能
- 01データベース、キュー、ファイル間のデータブリッジ
- 02単一コマンドでのETLコピー
- 03再試行、変換、レート制限の適用
- 04内蔵UIでのトラフィック確認
- 05YAML、JSON、TOMLによるルート設定
活用シーン
- 01データベースの行をファイルにコピー
- 02異なるプロトコル間でメッセージを中継
- 03長時間稼働するメッセージルートの管理
- 04行データをコンテキストに読み込まずAgent経由で移動
MCP 対応
同じバイナリをMCPサーバーとして実行し、エージェントにデータ移動操作を公開できます。READMEではClaude Code、Claude Desktop、Cursorへの登録に触れています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mqb · mq-bridge-app
流れをつなぐ
mq-bridge-app は Rust で構築された、高速で、単一コマンドで使える ETL およびデータ移動ツールです。同じエンジンを基盤として、メッセージング向けのマルチプロトコルブリッジおよびトラフィックワークベンチも提供します。
1 つのエンジンと 1 つの設定形式を共有する 3 つの形態で提供されます。デスクトップアプリ(ビジュアルワークベンチ)、CLI/サーバー(ヘッドレスブリッジと 1 行の copy)、そしてライブラリ(エンジンを Rust、Python、Node.js に組み込めます)です。ルートを一度設計すれば、書き換えることなく、どこでも実行できます。
対応する連携タイプには、Kafka、RabbitMQ (AMQP)、NATS、AWS SQS、MQTT、IBM MQ(オプション)、HTTP、gRPC、ZeroMQ、MongoDB、sqlx (MySQL, MariaDB, PostgreSQL)、およびファイルシステムのエンドポイントがあります。
📖 ドキュメントはすべてドキュメントブックにあります。インストール、クイックスタート、チュートリアル、レシピ集、コネクターリファレンス、CLI、MCP、パフォーマンス調整を掲載しています。この README は概要のみです。唯一の正式な情報源はドキュメントブックです。
まずは簡単に
中核となるのは、データベース、キュー、ファイル間でデータを 1 行の bash コマンドで移動する、設定不要の copy コマンドです。YAML も、パイプライン定義も、コードも必要ありません。
mqb copy \
'postgres://${PGUSER}:${PGPASSWORD}@localhost/db?table=src&sslmode=disable' \
'file://out.jsonl?format=raw' \
--filter 'amount > 100' \
--drain
スキームがエンドポイントを選択し、クエリパラメーターで設定するため、どのようなソース→シンクの組み合わせ(Postgres、MySQL、MariaDB、SQLite、NATS、Redis、MongoDB、ファイルなど)も、それぞれ URL 1 つで指定できます。しかも高速です。
ソースに安全なネイティブ位置情報がある場合(たとえば Kafka のコンシューマーグループ、MongoDB の変更ストリームカーソル、Postgres の CDC スロット、または明示的に設定した SQL カーソル)は、--resume を使用してください。従来の --from ... --to ... という書き方も引き続きサポートされています。
→ クイックスタート · コネクター · パフォーマンス調整
実行方法は3つ
Postman をイメージした UI で接続をテストしてルートを調整し、JSON/YAML をエクスポートしたら、その設定をサービスとして、またはライブラリコードから実行できます。エンジンも設定形式も1つです。
| 形式 | 内容 | クイックインストール |
|---|---|---|
| デスクトップアプリ(UI) | ビジュアルな作業環境です。ルートの作成・テスト、リクエスト/レスポンスのトラフィックの実行、メッセージ履歴の確認ができます | brew install --cask marcomq/tap/mq-bridge |
| CLI/サーバー | ヘッドレスバイナリです。1行の copy、処理後に終了するバッチジョブ、または長時間稼働するブリッジとして実行できます(同じ UI をブラウザーで提供することもできます) | brew install marcomq/tap/mq-bridge-app |
| ライブラリ | 独自のコードに組み込めるエンジンです。ネイティブの Rust、Python、Node.js バインディングを利用できます | cargo add mq-bridge · pip install mq-bridge · npm install mq-bridge |

各形式についてはガイドでご確認ください: 実行方法の3つの形式 · デスクトップ/Web UI · CLI コマンド · MCP サーバー · ライブラリバインディング。
インストール
macOS と Linux では、brew が最も手軽です:
brew install marcomq/tap/mq-bridge-app # CLI / server
brew install --cask marcomq/tap/mq-bridge # desktop app
Windows では、cargo binstall mq-bridge-app で CLI をインストールするか、リリースページからデスクトップインストーラー/CLI をダウンロードしてください。cargo install mq-bridge-app(ソースから)と Docker イメージ ghcr.io/marcomq/mq-bridge-app:latest も利用できます。
→ IBM MQ ビルドや Docker を含む、すべてのインストール方法とプラットフォームについては、**インストールガイド**をご覧ください。ソースからコンパイルする場合は、ビルドをご覧ください。
AI エージェントから利用する
同じバイナリが MCP サーバーとして動作するため、データを移動する際に、行データをエージェントのコンテキストに通す必要はありません:
mqb mcp install # register with Claude Code / Claude Desktop / Cursor
- MCP レジストリ名:
mcp-name: io.github.marcomq/mq-bridge
→ ツール、トランスポート、トークンコストの測定については、**MCP サーバー**をご覧ください。
機能
- マルチプロトコルブリッジ — Kafka、IBM MQ、NATS、AMQP(RabbitMQ)、MQTT、AWS SQS、gRPC、ZeroMQ、MongoDB、sqlx(MySQL/MariaDB/PostgreSQL)、HTTP、ファイルに対応します。HTTP サーバーとクライアントの両方として動作し、リクエスト/レスポンスを完全にサポートします。
- ミドルウェアチェーン — リトライ、デッドレターキュー、重複排除、レート制限、バッファリング、変換、弱結合の相関処理などを、任意のエンドポイントに適用できます。
- 組み込み Web UI — パブリッシャー、コンシューマー、ルート、実行時のステータス、プリセット、インポートを管理する Svelte ベースの UI です。CLI がブラウザーで提供する UI と同じものです。
- ネイティブプラグイン — このバイナリでコンパイルされていないエンドポイントやミドルウェア(Pulsar、社内トランスポートなど)を、共有ライブラリから読み込めます。設定ファイルの
plugins:または--plugin <path>で指定し、ルート内で名前を使って利用できます。特別なビルドは不要です。プラグインパスは起動時にのみ読み込まれるため、追加するには信頼済みの起動設定を編集して再起動する必要があります:ネイティブプラグイン。 - 可観測性 — 構造化 JSON ロギング、Prometheus メトリクスエンドポイント、稼働中のすべてを一覧表示する
mqb statusを利用できます。 - 柔軟な設定 — 階層化されたファイル(YAML/JSON/TOML)と環境変数に対応し、コンテナー/Kubernetes に適しています。
- セキュリティとストレージ — 設定のセキュリティモード(平文/シークレットの分離/暗号化設定/永続的な暗号化履歴)、保存データの暗号化、ローカル優先の運用に対応します。
- 高性能 — Rust + Tokio による低レイテンシー、高い並行性、小さなメモリフットプリントを実現します。
API クライアントではだめなのですか?
mq-bridge-app の UI は Postman、Bruno、Insomnia、Hoppscotch などの API クライアントと機能が重なる部分がありますが、中心となる用途は異なります。単にリクエストを作成するのではなく、メッセージのブリッジング、ランタイムの運用、長期間にわたるルート管理に重点を置いています。機能の正確な範囲は製品やエディションによって異なります。この表は、それぞれの重点の違いを示しています。
| 機能 | mq-bridge | Postman | Bruno | Insomnia | Hoppscotch |
|---|---|---|---|---|---|
| 基本的な HTTP/API リクエスト | ✓ | ✓ | ✓ | ✓ | ✓ |
| スクリプト | — | ✓ | ✓ | ✓ | ✓ |
| Cookie jar | まだ未対応 | ✓ | ✓ | ✓ | ~ |
| マルチパートフォーム | — | ✓ | ✓ | ✓ | ✓ |
| 16 進数レベルのペイロードデバッグ | ✓ | — | — | — | — |
| ブローカーのパブリッシュ/サブスクライブワークフロー | ✓ | MQTT | — | — | MQTT |
| 長期間稼働するコンシューマー/ルート | ✓ | — | — | — | — |
| プロトコル間のトラフィックブリッジング | ✓ | — | — | — | — |
| メッセージの再生 | ✓ | ~ | — | — | ~ |
| ローカルファーストのワークスペース | ✓ | ~ | ✓ | ✓ | ~ |
| Git に適した設定 | ✓ | ~ | ✓ | ✓ | ~ |
| クラウド同期がデフォルト | — | ✓ | — | オプション | オプション |
| AI/エージェント機能 | — | ✓ | — | ~ | ~ |
| 暗号化された設定 | ✓ | ~ | ~ | ~ | ~ |
API リクエストの作成と共有が主な用途であれば Postman/Bruno を、システムの接続、プロトコル間のメッセージ転送、ライブトラフィックの確認、ブリッジ形式のランタイム設定の管理が必要であれば mq-bridge-app をお使いください。
パフォーマンス
CSV から JSONL への変換では、3,134,796 行/秒を達成しました(mq-bridge 0.4.20)。同じファイルを DuckDB で全コアコピーした場合と比べて、使用コア数は少なく、メモリ使用量は約 18 分の 1 でありながら、約 1.5 倍の速度です。同じ処理をMCP ツール呼び出し経由で実行した場合も、3,108,517 行/秒でした(mq-bridge 1.2.0)。このセッションの CLI 基準値である 3,076,923 行/秒と同等です。MCP インターフェースが追加するのは、リクエスト/レスポンスにかかる小さな固定コストであり、行ごとの追加コストではありません。行数にかかわらず、エージェントのトークン消費量は一定の約 385 トークンです。行データがモデルのコンテキストに入ることはないためです。
mq-bridge-app のデフォルトのファイル形式を使い、変換なしで Kafka からファイルへリレーする処理では、 mimalloc アロケーターで比較した場合、同じエンジンは Sea Streamer より約 78%高速でした (デフォルトアロケーターのビルドとの比較では約 82%高速)。ネイティブのファイル形式に関する注意点は、 リンク先のベンチマークドキュメントで詳しく説明しています。
→ 数値、方法、調整項目の詳細:パフォーマンスチューニング および benches/etl/README.md。
nats/kafka/postgres などでテストする
テスト用に、対応するバックエンドの docker-compose ファイルを用意しています:
docker-compose -f https://raw.githubusercontent.com/marcomq/mq-bridge/main/tests/integration/docker-compose/postgres.yml up
仕組み
mq-bridge-app は mq-bridge エンジンをそれ自体の上で使用しています。管理 UI はエンジン独自の HTTP リクエスト/レスポンスルーティングを通じて提供され、UI フォームは Rust の設定スキーマから生成されます(フォームのコードを手書きする必要はありません)。アプリの仕組みをご覧ください。
ステータス
現在も開発中です。もともとは mq-bridge エンジンのリファレンス実装およびテストベッドでした。UI/Tauri レイヤーはリファレンス実装ではなく、動作するデモです。本番環境で利用する前にテストしてください。
ライセンス
mq-bridge-app は、MIT ライセンスまたは Apache License, Version 2.0のいずれかを選択して、デュアルライセンスのもとで提供されます。CLI およびデスクトップ配布物に関する サードパーティのライセンス条項は、 THIRD_PARTY_LICENSES.txtに記載されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。