Dbconvert Streams MCP について
DBConvert Streams の MCP サーバーで、AIアシスタントに PostgreSQL、MySQL、CSV/JSONL/Parquet ファイル、S3 上のデータベース構造とデータへの読み取り専用アクセスを提供します。読み取り専用ツールは 26 個あり、サーバー側のフィルターで SELECT のみを許可するため、AIは確認と説明はできても書き込みはできません。
主な機能
- 01スキーマ、テーブル、ビューの参照
- 02データのプレビューと読み取り専用 SELECT の実行
- 03データベースとファイルをまたぐフェデレーテッド SQL
- 04ストリームの状態とエラーの診断
- 05サーバー側フィルターによる SELECT のみの許可
活用シーン
- 01AIアシスタントによるテーブル構造とキーの説明
- 02書き込み権限なしでの PostgreSQL と Parquet にまたがるデータ分析
- 03CDC やマイグレーションストリームの稼働状況の確認
MCP 対応
本プロジェクトは MCP サーバーであり、接続、スキーマ、クエリ、ファイル、ストリーム診断に関する読み取り専用ツールを MCP クライアントに公開します。MCP クライアントは接続、設定、ストリーム、データを変更できません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DBConvert Streams
データベース IDE + 移行 + リアルタイム CDC — すべてを1つのワークフローに。
データをクエリし、
移動し、
同期を保ち、
AI アシスタントにすべてを見せられます
ツールを切り替えることなく。
便利そうだと思ったら、⭐ を付けていただけるとうれしいです。
これが生まれた理由
多くの環境は次のようになっています。
- クエリ用の DB クライアント
- 移行用のスクリプトやツール
- 独立した CDC パイプライン
動作はしますが、分断されています。
DBConvert Streams は、これらを1つのワークスペースにまとめます。
使い心地
次のようなものと考えてください。
DBeaver / DataGrip
- 移行ツール
- CDC
ただし、毎回ツールを切り替える必要はありません。
例
データベースやファイルをまたいでクエリを実行できます。
SELECT *
FROM read_parquet('orders.parquet') o
JOIN postgres.public.customers c
ON o.customer_id = c.id
LIMIT 10;
その後、同じクエリをデータソースとして使い、どこへでもストリーミングできます。
できること
- データベース、ファイル、S3 を調べる
- 複数のソースにまたがって SQL を実行する
- システム間でデータを移動する
- CDC で同期を保つ
- Claude、Cursor、Copilot を接続する — AI がライブのスキーマ、データ、ストリームを読み取ります(MCP 経由の読み取り専用)
すべて同じワークフローで行えます。
注: ここは DBConvert Streams の公開ページです。設定例、ドキュメント、課題管理、リリースノートを掲載しています。製品自体はプロプライエタリです。
クイックスタート
ノート PC、VPS、自社のインフラなど、どこでも実行できます。クラウドへの依存やベンダーロックインはありません。
デスクトップアプリ
Windows、macOS、Linux 用のダウンロードはこちらです。アカウントは不要です。
AI クライアント拡張機能
Releasesからdbconvert-streams-<version>.mcpbを取得し、Claude → Settings → Extensionsにドロップしてください。接続文字列とフォルダーを求められるだけで、ほかにインストールするものはありません。DBConvert Streams も、ツールチェーンも、実行するサーバーも不要です。
postgres://user:password@host:5432/dbname
mysql://user:password@host:3306/dbname
s3://bucket/folder?region=us-east-1
複数のソースは1つのフィールドにスペース区切りで入力します — shop=postgres://… orders=mysql://… — 1つの質問でそれらすべてを結合できます。
フォルダーピッカーを使って、Parquet、CSV、JSON ファイルのフォルダーを追加できます。各ソースがチャット内で読み取り専用のツールになり、1つの質問で複数のソースを同時に扱えます。
1つのファイルで Windows と Linux の両方に対応します。バンドルにはそれぞれのバイナリが含まれ、適切なものが選ばれます。macOS への対応は今後のリリースで予定されています。
Claude をお使いでない場合も大丈夫です。 同じサーバーをコンテナーとして実行でき、コンテナーを起動できる MCP クライアントであれば利用できます。
docker run -i --rm slotix/stream-mcp "shop=postgres://user:password@host:5432/shop"
Cursor と VS Code では、ワンクリックで設定できます — Cursor に追加 · VS Code に追加 — VS Code ではインストール時に接続文字列を入力します。Cursor ではサンプルの接続文字列を置き換えてください。フォルダー、S3 キーなどについては、スタンドアロンサーバーをご覧ください。
バンドルされたサーバーはプロプライエタリソフトウェアであり、DBConvert Streams ライセンスに基づいて配布されます。このリポジトリの MIT ライセンスの対象は、ここにあるサンプル、ドキュメント、アセットであり、バイナリは含まれません。
セルフホスト(Docker)
ローカルサーバー、VPS(DigitalOcean、Hetzner、AWS EC2 など)、自社のインフラなど、Docker が使える任意のマシンにデプロイできます。
curl -fsSL https://dbconvert.nyc3.digitaloceanspaces.com/downloads/streams/latest/docker-install.sh | sh
DBConvert Streams とは?
DBConvert Streams は、移行機能とリアルタイム CDC を内蔵したデータベース IDE です。
データベース、ローカルファイル、S3 ストレージを参照できます。データを直接編集できます。中間エクスポートなしで、異なるデータベースエンジン間のテーブルを結合するフェデレーション SQL クエリを実行できます。
主な機能
実際には、次のような機能があります。
データベース IDE とワークスペース(無料)
- データエクスプローラー — データベース、ファイル、S3 を1か所で参照
- ER 図 — データベースの関係を可視化
- スキーマ比較 — データベース間でスキーマとデータを比較
- スキーマナビゲーション — 接続をまたいで状態と検索を保持
フェデレーション SQL
- 複数のデータベースとファイルソースにまたがる SQL クエリを同時に実行
- 接続エイリアスを使って、稼働中の PostgreSQL と MySQL のテーブルを結合
- データベースと並行して、CSV、JSON、Parquet ファイルや S3 ストレージをクエリ
組み込み AI チャット — 2.5.0 の新機能
デスクトップアプリですでに開いているデータベース作業(テーブル、ビュー、 ファイル、SQL コンソール、接続、または移行/CDC ストリーム)について質問できます。AI チャットは そのワークスペースのライブコンテキストから開始するため、DDL を別のチャットに 貼り付けなくても、スキーマとデータを調査し、失敗したクエリを説明または修正し、 ストリームの状態を診断できます。
インストール済みのエージェント CLI(Claude Code、Codex、GitHub Copilot CLI、 OpenCode)を使用します。AI チャットは関連するスコープに限定された DBConvert の読み取り専用ツールを自動的に提供し、処理中のツールの動作を表示します。 接続、設定、ストリーム、データを変更することはできません。
MCP 経由の AI アシスタント — 2.4 の新機能
- MCP サーバーを内蔵:Claude、Cursor、VS Code Copilot、Windsurf、Gemini CLI、Codex がライブのスキーマ、データ、ストリーム状態を読み取れます。チャットに DDL を貼り付ける必要はありません
- 27 個の読み取り専用ツール:ワークスペースの接続、スキーマ、テーブル、ビューを調査し、読み取り専用 SQL とフェデレーションクエリを実行し、スキーマとサンプルを比較し、ストリームを診断し、ファイルと S3 を参照できます
- ✨ AI アシスタントパネルからワンクリックでセットアップできます。Docker のデプロイでは
/mcpを HTTP(S) 経由で公開します - 設計上、読み取り専用です。サーバー側フィルターを通過するのは
SELECTのみです。AI は参照して助言できますが、書き込みはできません
ツール
DBConvert Streams は、以下の27 個の読み取り専用 MCP ツールを公開します。以下の名前は、 稼働中の MCP サーバーのものと一致します。
接続とスキーマ
dbconvert_list_connections— ワークスペースの接続を一覧表示dbconvert_get_connection— 1つの接続を調査dbconvert_list_databases— データベースを一覧表示dbconvert_list_schemas— スキーマを一覧表示dbconvert_list_tables— テーブルを一覧表示dbconvert_list_views— ビューを一覧表示
テーブルとビューの調査
dbconvert_describe_table— テーブルの列とキーを調査dbconvert_preview_table— テーブルの行をプレビューdbconvert_describe_view— ビューを調査dbconvert_preview_view— ビューの行をプレビュー
読み取り専用 SQL
dbconvert_run_select— SELECT クエリを実行dbconvert_explain_select— SELECT クエリを説明
スキーマとデータの比較
dbconvert_compare_schemas— スキーマを比較dbconvert_compare_data_sample— データサンプルを比較
ストリーム診断
dbconvert_list_streams— ストリームを一覧表示dbconvert_get_stream— ストリームを調査dbconvert_get_stream_status— ストリームの状態を取得dbconvert_get_stream_stats— ストリームのスループットと統計情報を取得dbconvert_get_stream_recent_errors— ストリームの最近のエラーを調査dbconvert_get_stream_recent_logs— ストリームの最近のログを調査
ファイルと S3
dbconvert_list_files— ワークスペースのファイルを一覧表示dbconvert_get_file_schema— ファイルのスキーマを調査dbconvert_preview_file— ファイルの行をプレビューdbconvert_list_s3_buckets— S3 バケットを一覧表示dbconvert_list_s3_objects— S3 オブジェクトを一覧表示
フェデレーション SQL
dbconvert_run_federated_select— 複数のソースにまたがる読み取り専用クエリを実行しますdbconvert_explain_federated_select— フェデレーション SELECT クエリを説明します
公開されている操作は読み取り専用のみです。サーバー側のフィルターで
SELECT のみが許可されるため、AI クライアントが接続、設定、ストリーム、または
データを変更することはできません。クライアントのセットアップについては、MCP セットアップガイドをご覧ください。
データ移行(ロードモード)
自動的なスキーマ変換と検証により、大規模なデータセットをデータベース間で迅速に移行できます。
パフォーマンス: 2,300 万行(4.38 GB)を MySQL から Parquet に、136 MB/s で 35.7 秒で移行しました。
リアルタイム CDC(変更データキャプチャ)
INSERT、UPDATE、DELETE 操作を、最小限の遅延でソースからターゲットへリアルタイムにストリーミングします。データベース、ファイル、S3 ストレージへの CDC に対応しています。
これはおそらく適していません
- 100 以上のコネクター(SaaS、API など)が必要な場合
- 大規模な Kafka パイプラインをすでに運用している場合
- 複雑な ETL/変換が必要な場合
スクリーンショット
データエクスプローラー
統合されたツリーナビゲーションで、複数のデータベース接続にまたがってスキーマの閲覧、データの表示と編集ができます。

フェデレーション SQL
単一のクエリで、MySQL、PostgreSQL、ファイルソース(CSV、Parquet)にまたがるテーブルを結合できます。

ER 図
対話型の実体関連図で、データベースの関係を可視化できます。

ストリーム設定
テーブルの選択、カスタムクエリ、転送設定を使用して、データ移行と CDC ストリームを設定できます。

ストリーム監視
行数、データサイズ、転送速度、テーブルごとの進行状況など、データストリームのリアルタイム指標を追跡できます。

AI アシスタント
ワンクリックで AI クライアントを接続できます。表示されているものと同じワークスペースを読み取り専用で参照します。

対応ソースとターゲット
ソース
- MySQL/MariaDB/Percona
- PostgreSQL/CockroachDB
- Amazon RDS、Aurora、Google Cloud SQL、Azure Database
- ローカルファイル(CSV、JSONL、Parquet)
- S3 互換ストレージ(AWS S3、MinIO、DigitalOcean Spaces、Wasabi)
ターゲット
- MySQL/PostgreSQL
- Snowflake
- CSV/JSONL/Parquet(ローカルファイル)
- Amazon S3/MinIO/S3 互換ストレージ
- Google Cloud Storage(GCS)
- Azure Blob Storage
デプロイ方法
どこでも実行できます。クラウドアカウントは不要で、ベンダーロックインもありません。
| 方法 | 説明 |
|---|---|
| デスクトップ | Windows、macOS、Linux — ローカルでセットアップでき、アカウントは不要です |
| セルフホスト | 任意のマシンで Docker/Docker Compose を使用 — ローカルサーバー、VPS、自社インフラに対応します |
料金
Database IDE は永久に無料です。データ移行と CDC ストリーミングについては、料金の詳細をご覧ください。
例
ほとんどのユーザーは API を使いません。 UI では、接続、テーブルの選択、フェデレーション SQL、ストリームの設定、監視までを一貫して行えます。以下の
curlの例は、デプロイをスクリプト化したい場合、DBConvert Streams を CI/CD に組み込みたい場合、または別のサービスから操作したい場合のものであり、必須のワークフローではありません。
接続は個別に管理され、ストリーム設定では ID を使って接続を参照します。API を使った一般的なワークフローを紹介します。
1. 接続を作成する
# Create a MySQL source connection
curl -X POST http://localhost:8020/api/v1/connections \
-H "Content-Type: application/json" \
-d '{
"name": "mysql-source",
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "password"
}'
# Create a PostgreSQL target connection
curl -X POST http://localhost:8020/api/v1/connections \
-H "Content-Type: application/json" \
-d '{
"name": "pg-target",
"type": "postgresql",
"host": "localhost",
"port": 5432,
"username": "postgres",
"password": "password"
}'
2. MySQL → PostgreSQL(ロード)
テーブルを選択して一度だけ移行します。
{
"name": "mysql-to-postgres-migration",
"mode": "load",
"source": {
"connections": [{
"connectionId": "<mysql-connection-id>",
"database": "sakila",
"tables": [
{ "name": "actor" },
{ "name": "film" },
{ "name": "customer" }
]
}]
},
"target": {
"id": "<pg-connection-id>",
"spec": {
"db": {
"database": "target_db",
"schema": "public",
"schemaPolicy": "drop_and_recreate"
}
}
}
}
3. MySQL → PostgreSQL(CDC)
挿入、更新、削除をキャプチャしてリアルタイムにレプリケーションします。
{
"name": "mysql-to-postgres-cdc",
"mode": "cdc",
"source": {
"connections": [{
"connectionId": "<mysql-connection-id>",
"database": "sakila",
"tables": [
{ "name": "actor" },
{ "name": "film" }
]
}],
"options": {
"operations": ["insert", "update", "delete"]
}
},
"target": {
"id": "<pg-connection-id>",
"spec": {
"db": {
"database": "target_db",
"writeMode": "upsert"
}
}
}
}
4. PostgreSQL → S3 Parquet(ロード)
データベースのテーブルを S3 上の Parquet ファイルにエクスポートします。
{
"name": "pg-to-s3-parquet",
"mode": "load",
"source": {
"connections": [{
"connectionId": "<pg-connection-id>",
"database": "analytics",
"tables": [
{ "name": "orders" },
{ "name": "customers" }
]
}]
},
"target": {
"id": "<s3-connection-id>",
"spec": {
"s3": {
"fileFormat": "parquet",
"upload": {
"bucket": "my-data-lake",
"prefix": "exports/"
}
}
}
}
}
5. 複数ソースのフェデレーションクエリ(ロード)
MySQL と PostgreSQL のデータを結合して、1 つのターゲットに書き込みます。
{
"name": "federated-migration",
"mode": "load",
"source": {
"connections": [
{
"alias": "my1",
"connectionId": "<mysql-connection-id>",
"database": "sakila"
},
{
"alias": "pg1",
"connectionId": "<pg-connection-id>",
"database": "dvdrental"
}
]
},
"target": {
"id": "<target-connection-id>",
"spec": {
"db": { "database": "warehouse" }
}
}
}
6. ストリームを開始する
curl -X POST http://localhost:8020/api/v1/stream-configs/<config-id>/start
7. 進捗を監視する
curl http://localhost:8020/api/v1/streams/<stream-id>/stats
すべてのエンドポイントとオプションについては、API ドキュメントをご覧ください。スタンドアロンのストリーム設定ファイルは
examples/api/にあり、再現可能なベンチマーク(Debezium との並列比較を含む)はexamples/benchmarks/にあります。
詳細情報
フィードバックとサポート
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。