ClickHouse・DuckDB・BigQueryのMCP接続を比較する
分析用途のMCPサーバー3種を、読み取り専用の既定値と料金モデルの違いで比較します。BigQueryはGoogleのマネージド型です。
ClickHouse・DuckDB・BigQueryは、いずれも分析(OLAP)ワークロード向けのMCPサーバーを公式に提供しています。ただし運用の重心が3者3様です。ClickHouseは自前クラスタかClickHouse Cloudかで料金構造が変わり、DuckDBはローカルなら無料、MotherDuckを使うと有料階層に入り、BigQueryはそもそもサーバーを自分でホストする必要がありません。どれを選ぶかは、分析データをどこに置きたいかで自然に決まります。
3つのMCPサーバーの立ち位置が違う
ClickHouseのmcp-clickhouseとDuckDBのmcp-server-motherduckはどちらも自分でプロセスを起動するローカル型のMCPサーバーです。対してBigQueryは、Googleがbigquery.googleapis.com/mcpで自社運用するマネージドサーバーに接続するだけで使えます。サーバーをホストする作業自体が要らない点が、BigQueryをこの3つの中で際立たせています。
比較の軸は3つです。ホスト形態(自分でプロセスを起動するかマネージドサービスに接続するか)、読み取り専用の既定値(接続しただけで安全側に倒れているか)、料金が発生する条件(常に課金対象か、クラウド版に切り替えたときだけか)です。分析基盤をどこに置きたいかで、この3つの答えは大きく変わります。
| 項目 | ClickHouse(mcp-clickhouse) | DuckDB(mcp-server-motherduck) | BigQuery(Google公式) |
|---|---|---|---|
| ホスト形態 | ClickHouse(mcp-clickhouse)自分で起動(自前クラスタ/ClickHouse Cloud接続) | DuckDB(mcp-server-motherduck)自分で起動(ローカルファイル/MotherDuck接続) | BigQuery(Google公式)Googleがマネージド運用 |
| 読み取り専用の既定値 | ClickHouse(mcp-clickhouse)既定で読み取り専用 | DuckDB(mcp-server-motherduck)v1系から既定で読み取り専用 | BigQuery(Google公式)ツールをexecute_sql_readonlyに限定すれば読み取り専用 |
| 料金がかかる場面 | ClickHouse(mcp-clickhouse)ClickHouse Cloud利用時のみ(自前OSSは無料) | DuckDB(mcp-server-motherduck)MotherDuck利用時のみ(ローカルDuckDBは無料) | BigQuery(Google公式)BigQuery自体の利用料金(常に発生) |
ClickHouseは読み取り専用が既定、書き込みはopt-in
mcp-clickhouseのrun_queryツールは、既定でCLICKHOUSE_ALLOW_WRITE_ACCESS=falseとして動作します。書き込みを許可したいときだけ明示的にこの環境変数をtrueにする設計です。加えてchDB(組み込みClickHouseエンジン)を使うrun_chdb_select_queryツールもあり、ETLを挟まずファイルやURLから直接SQLでデータを引ける点が独自です。
料金は接続先で変わります。自分でホストするOSS版ClickHouseは無料ですが、ClickHouse Cloudを使うと「使った分だけ払う」従量課金になります。コンピュートとストレージが別建てで、未使用のリソースは自動的にゼロまでスケールダウンする設計です。
HTTP/SSEトランスポートで接続する場合、mcp-clickhouseは認証を必須にしています。静的なベアラートークン(CLICKHOUSE_MCP_AUTH_TOKEN)、OAuth/OIDC(Azure Entra・Google・GitHub等)、開発用途限定のCLICKHOUSE_MCP_AUTH_DISABLED=trueの3方式から選べ、いずれも未設定のままだと起動自体が失敗します。既定のstdioトランスポートは標準入出力だけで通信するため、この認証設定は不要です。
DuckDBはローカルなら無料、MotherDuckは有料階層
mcp-server-motherduckはv1.0以降、既定の起動を読み取り専用に変更しました。書き込みを行うには--read-writeフラグを明示します。ローカルのDuckDBファイルに接続する分にはこれだけで完結し、料金も一切かかりません。
claude mcp add duckdb-ro \
-- uvx mcp-server-motherduck --db-path /absolute/path/to/analytics.duckdbクラウド版のMotherDuckを使う場合は話が変わります。読み取り専用でMotherDuckに接続するには「read-scaling token」という専用のトークンが必要で、通常のトークンでは--read-writeを付けないと接続できません。料金プランは個人・小規模向けのLite(無料)、本番分析向けのBusiness(月額250ドル)、個別見積もりのEnterpriseの3階層です。DuckDB自体はオープンソースの組み込みエンジンで無料ですが、MotherDuckのマネージド機能(チーム共有・自動スケールなど)を使う瞬間に料金が発生します。
mcp-server-motherduckはDuckDBファイル単体だけでなく、S3上のリモートDuckDBファイルへの接続や、実行中に接続先データベースを切り替える--allow-switch-databasesにも対応します。ローカルとMotherDuck、複数の分析基盤を1つのMCPサーバーで横断できる柔軟さは、単一クラスタへの接続が前提のClickHouseやBigQueryには無い特徴です。
BigQueryはGoogleが運用するマネージドMCPサーバー
BigQueryのMCPサーバーは、GoogleがIAM権限の設定だけで使えるマネージドサービスとして公式提供しています。提供するツールのうちexecute_sql_readonlyは読み取り専用の操作しかできず、書き込みが可能なのはexecute_sqlだけです。IAMのdenyポリシーでexecute_sqlへのアクセスを個別に制限することもできます。
料金は2つのモデルから選べます。既定のオンデマンド課金は、クエリがスキャンしたデータ量に応じた従量課金で、月1TiBまでの処理は無料枠として扱われます。もう1つはキャパシティ課金で、スロット(仮想CPU)単位の計算能力をコミットして使う定額型です。データ量が読めない探索的な分析はオンデマンド、日常的に大量のクエリを流すダッシュボード用途はキャパシティ課金、という使い分けがGoogleの案内する典型パターンです。分析の頻度が低いうちはオンデマンドの無料枠だけで足りることも多く、ClickHouse CloudやMotherDuckの月額固定プランとは料金の発生条件そのものが異なります。
セットアップとレポート作成までの具体的な手順はClaude BigQuery連携とBigQueryをClaudeで自然言語のまま分析するにまとめています。BigQueryはサーバーを自前で立てる必要が無いため、この記事ではセットアップの詳細には立ち入りません。他の2製品と比べて権限管理の単位がIAMロールに一本化されている点も、既にGoogle Cloudを使っているチームには覚えやすい設計です。
認証方式の違いが接続の手間を左右する
3製品は認証の要不要も異なります。ローカルのDuckDBファイルに接続するだけなら、mcp-server-motherduckは認証情報そのものが不要です。MotherDuckクラウドに切り替えた瞬間、motherduck_tokenという接続トークンが必須になります。ClickHouseはユーザー名とパスワード、またはHTTP/SSE経由ならベアラートークンやOAuthのいずれかを選んで設定します。BigQueryは接続そのものにGoogle CloudのIAM認証(サービスアカウントやOAuth)を使い、データベース固有のパスワードという概念がありません。「まず何を用意すれば動くか」で並べると、DuckDBローカルが最短、BigQueryはGoogle Cloudのプロジェクトと権限設定が前提になる分、初回セットアップの手間が最も大きくなります。
実行環境の違いもチーム導入のしやすさに影響する
ClickHouseとDuckDBはどちらもuvxで起動するPython実装で、各メンバーのマシンにuvが入っている前提です。BigQueryはGoogle運用のマネージドサーバーへの接続なので、ローカルにランタイムを用意する必要そのものがありません。チームで同じ分析基盤に接続する構成を作るなら、BigQueryはIAM権限さえ揃えれば全員が同じ手順で使えます。ClickHouse Cloudのmcp-clickhouseをチーム共有するなら、HTTP/SSEトランスポートで起動し、ベアラートークンやOAuthで認証方式を揃えるのが現実的な運用です。
実際に試す
ClickHouseは接続情報を渡すだけで、既定のまま読み取り専用として動きます。
claude mcp add clickhouse \
--env CLICKHOUSE_HOST="your-cluster.clickhouse.cloud" \
--env CLICKHOUSE_USER="default" \
--env CLICKHOUSE_PASSWORD="your-password" \
-- uvx mcp-clickhouseどのツールを選ぶか
| 用途 | おすすめ | 理由 |
|---|---|---|
| 既存のClickHouseクラスタを分析に使いたい | おすすめ◎ mcp-clickhouse | 理由既定で読み取り専用、chDBでETLも省ける |
| ローカルのCSV/Parquetをすぐ分析したい | おすすめ◎ mcp-server-motherduck(ローカル) | 理由インストールのみで無料、読み取り専用が既定 |
| チームでダッシュボード用データを共有したい | おすすめ◎ MotherDuck(Business以上) | 理由マネージド型でチーム共有・自動スケールに対応 |
| 既にBigQueryにデータがある | おすすめ◎ BigQuery公式MCPサーバー | 理由サーバー運用が不要、IAMだけで権限管理できる |
よくあるつまずき
MotherDuckの「読み取り専用」を誤解する。ローカルのDuckDBファイルは通常のトークンで読み取り専用接続ができますが、MotherDuckクラウドを読み取り専用で使うにはread-scaling tokenが別途必要です。通常のトークンのまま読み取り専用のつもりで接続すると、実際には--read-writeを明示しない限り接続自体が通らない場面に当たります。
ClickHouse Cloudの料金を「OSS版と同じ無料」だと思い込む。自前ホストのOSS版とClickHouse Cloudは別物で、Cloud版はコンピュートとストレージの従量課金です。検証はOSS版、本番はCloud版、という切り分けを料金面でも意識します。
BigQueryのexecute_sqlが既定で使える状態を見落とす。読み取り専用のexecute_sql_readonlyだけに絞りたい場合は、IAM側のdenyポリシーでexecute_sqlを個別に制限する必要があります。接続しただけでは両方のツールが使える状態です。
認証方式の違いを他の2製品に流用しようとする。BigQueryのIAM認証やMotherDuckの接続トークンをそのままClickHouseに使い回すことはできません。3製品は認証の仕組みそのものが別物なので、乗り換えるたびに認証設定を作り直す前提で移行計画を立てます。
まとめ
ClickHouse・DuckDB・BigQueryのMCPサーバーは、いずれも読み取り専用への配慮がありますが、コストの発生ポイントが違います。ClickHouseとDuckDBは自前ホストなら無料でクラウド版のみ課金、BigQueryは常にBigQuery自体の利用料金がかかります。認証の仕組みも3製品で異なるため、乗り換えを検討するときは料金だけでなく接続設定のやり直しも見込んでおきます。BigQueryの具体的な接続手順はClaude BigQuery連携、他の業務データベースの読み取り専用実装はデータベースMCPサーバーの読み取り専用設定を5製品で比較するを参照してください。