Dremio MCP server について
Dremio MCP server は、LLM から Dremio を利用するための MCP サーバーです。Claude Desktop 向けのローカルインストールと、Kubernetes 上でのリモートデプロイの両方に対応しています。Dremio のデータ探索やシステム分析を行いたいユーザーを想定しています。
主な機能
- 01コマンドラインによるローカルインストールと設定ファイル管理
- 02Helm Chart によるリモート Streaming HTTP デプロイ
- 03OAuth と外部トークンプロバイダーによる認証
- 04データ探索、システム自己分析、Prometheus 連携の3つのモード
- 05プラットフォーム標準ディレクトリへのログ出力と JSON 形式対応
活用シーン
- 01Claude Desktop から Dremio 内のテーブルやデータを探索する
- 02Kubernetes 上でリモートサーバーとして Dremio MCP サーバーを運用する
- 03Prometheus のメトリクスと併せて Dremio のワークロードを分析する
MCP 対応
本プロジェクトは MCP サーバーであり、Claude Desktop などの MCP クライアントに Dremio 関連の機能を提供します。ローカルとリモートの両方の接続方式をサポートします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Dremio MCP サーバー
目次
はじめに
このリポジトリは、Dremio との LLM 統合を容易にするための Model Context Protocol(MCP)サーバーを提供します。MCP や MCP サーバーを初めて利用する方は、Dremio University の Dremio MCP Server コース(DremioU)をご覧ください。これらの概念をご存じの方は、以下にお進みください。
%%{init:
{
"themeVariables": {
"fontFamily": "Inter"
}
}
}%%
architecture-beta
group ws(cloud)[Workstation]
service cf(database)[Config] in ws
service mcp(server)[Dremio MCP Server] in ws
service claude(cloud)[Claude Desktop] in ws
mcp:B <-- T:cf
claude:R <--> L:mcp
group dremio(cloud)[Dremio]
service de(server)[Dremio Engine] in dremio
mcp:R <--> L:de
インストール
Dremio MCP サーバーは、次の 2 つの方法でデプロイできます。
リモート/ストリーミング HTTP デプロイ
Kubernetes 環境で本番環境にデプロイする場合は、Helm チャートを使用してください。
Helm を使用したクイックスタート
# Build Docker image
docker build -t dremio-mcp:0.1.0 .
# Production deployment with OAuth (Recommended)
helm install my-dremio-mcp ./helm/dremio-mcp \
--set dremio.uri=https://dremio.example.com:9047
# Development/Testing with PAT (Not for production)
helm install my-dremio-mcp ./helm/dremio-mcp \
--set dremio.uri=https://dremio.example.com:9047 \
--set dremio.pat=<your-pat>
主な機能
- ✅ OAuth + 外部トークンプロバイダー認証(本番環境での使用を推奨)
- ✅ Web ベースのデプロイに対応するストリーミング HTTP モード
- ✅ スケーラビリティを実現する水平 Pod オートスケーリング
- ✅ Prometheus メトリクスとの統合
- ✅ TLS/SSL に対応するIngress サポート
- ✅ セキュリティのベストプラクティス(非 root、読み取り専用ファイルシステム)
ドキュメント
- Helm チャートの README - インストールと設定に関する完全なガイド
- 認証ガイド - OAuth + 外部トークンプロバイダーの実装
- 設定例 - 本番環境および開発環境向けの例
ローカルインストール(デスクトップ/開発)
MCP サーバーは、LLM フロントエンド(例:Claude)を実行するマシン上でローカルに動作します。インストール手順は簡単です。
- このリポジトリをクローンするか、ダウンロードします。
- uv パッケージマネージャーをインストールします(MCP サーバーには Python 3.11 以降が必要です)。
- 初めてインストールする場合は、インストールの最後にターミナルを再起動してください。
- 以下のコマンドを実行して、Python がインストールされていることを確認します。Python 3.11 以降が表示されるはずです(Python がインストールされていない場合は、こちらの手順に従うか、
uv python installを実行してください)。
$ uv python find
- コマンドを実行し、以下に示す出力を確認して、正しく動作することを確かめます。
# cd <toplevel git dir> or add `--directory <toplevel git dir>`
# to the command below
$ uv run dremio-mcp-server --help
Usage: dremio-mcp-server [OPTIONS] COMMAND [ARGS]...
╭─ Options ────────────────────────────────────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy │
│ it or customize the installation. │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────╮
│ run Run the DremioAI MCP server │
│ tools Support for testing tools directly │
│ config Configuration management │
╰──────────────────────────────────────────────────────────────────────────────────╯
初期設定
MCP サーバーを呼び出す前に、2 つの設定が必要です。
- サーバー設定ファイル:Dremio への接続と通信に関する詳細を設定します。
- LLM 設定ファイル:MCP サーバーを認識できるよう、LLM デスクトップアプリ(現時点では Claude)を設定します。
クイックスタート
このセットアップを最も手早く行う方法は次のとおりです。
- 以下の説明に従って dremio config ファイルを作成し、次の値を用意します
$ uv run dremio-mcp-server config create dremioai \
--uri <dremio uri> \
# the endpoint portion of the URL for your environment
--pat <dremio pat> \
# https://docs.dremio.com/current/security/authentication/personal-access-tokens/#using-a-pat
# required for cloud: add your project ID if setting up for dremio cloud
# --project-id <dremio project id>
注:uri は、お使いの環境に関連付けられた API エンドポイントです。
- 米国リージョンの Dremio クラウド(https://app.dremio.cloud)の場合は、`https://api.dremio.cloud` または短縮形の
prodを使用します - EMEA リージョンの Dremio クラウド(https://app.eu.dremio.cloud)の場合は、`https://api.eu.dremio.cloud` または短縮形の
prodemeaを使用します - SW/K8S デプロイの場合は、https://<coordinator‑host>:<9047 or custom port> を使用します
注:セキュリティ上、PAT がシェルの履歴ファイルに漏れるのを防ぎたい場合は、PAT を記載したファイルを作成し、それを dremio config の引数として指定してください。
例:
$ uv run dremio-mcp-server config create dremioai \
--uri <dremio uri> \
--pat @/path/to/tokenfile \
- Claude Desktop をダウンロードしてインストールします(Claude)
注:Claude には node.js などのシステム要件があります。お使いのシステムが要件を満たしているか、Claude の公式ドキュメントで確認してください。
- 次のコマンドを使用して Claude config ファイルを作成します
$ uv run dremio-mcp-server config create claude
- 次のコマンドを使用して config ファイルを検証します
$ uv run dremio-mcp-server config list --type claude
Default config file: '/Users/..../Library/Application Support/Claude/claude_desktop_config.json' (exists = True)
{
'globalShortcut': '',
'mcpServers': {
'Dremio': {
'command': '/opt/homebrew/Cellar/uv/0.6.14/bin/uv',
'args': [
'run',
'--directory',
'...../dremio-mcp',
'dremio-mcp-server',
'run'
]
}
}
}
$ uv run dremio-mcp-server config list --type dremioai
Default config file: /Users/..../.config/dremioai/config.yaml (exists = True)
dremio:
enable_search: false
pat: ....
uri: ....
tools:
server_mode: FOR_DATA_PATTERNS
これで完了です! Claude を起動して、MCP サーバーを使用できます。
デモ(ローカルインストール)

以下のドキュメントでは、config ファイルの詳細について説明します。
設定の詳細
MCP サーバーの config ファイル
このファイルはデフォルトで $HOME/.config/dremioai/config.yaml にありますが、実行時に dremio-mcp-server の --cfg オプションを使用して別の場所を指定できます。
形式
# The dremio section contains 3 main things - the URI to connect, PAT to use
# and optionally the project_id if using with Dremio Cloud
dremio:
uri: https://.... # the Dremio URI
pat: "@~/ws/tokens/idl.token" # PAT can be put in a file and used here with @ prefix
project_id: <string> Project ID required for Dremio Cloud
enable_search: <bool> # Optional: Enable semantic search
allow_dml: <bool> # Optional: Allow MCP Server to create views in Dremio
tools:
server_mode: FOR_DATA_PATTERNS # the serverm
# Optionally the MCP server can also connect and use a prometheus configuration if it
# has been enabled for your Dremio cluster (typically useful for SW installations)
#prometheus:
#uri: ...
#token: ...
モード
モードは3つあります。
FOR_DATA_PATTERNS- MCP サーバーが LLM にテーブルとデータを参照させ、パターンの発見やその他のユースケースに対応できる通常のモードですFOR_SELF- ワークロード分析などを含め、MCP サーバーが Dremio システムをイントロスペクトできるモードです。FOR_PROMETHEUS- Prometheus の環境がある場合に、MCP サーバーが接続し、Dremio 関連のメトリクスでインサイトを強化できるモードです
複数のモードは , で区切って指定できます。
LLM(Claude)の config ファイル
注:これはローカルインストールの場合にのみ適用されます。
Claude config ファイルを設定するには(こちらを例として参照)、Claude デスクトップの config ファイルを編集します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
次に、このセクションを追加します。
{
"globalShortcut": "",
"mcpServers": {
"Dremio": {
"command": "uv",
"args": [
"run",
"--directory", "<toplevel git directory>"
"dremio-mcp-server",
"run"
]
}
}
}
これにより、MCP サーバーの config ファイルのデフォルトの場所が読み込まれます。また、上記の args セクションで run の後に "--config-file", "<custom config file>" を渡すこともできます。
ログ記録
Dremio MCP サーバーは、オペレーティングシステムの規則に従って、プラットフォーム固有のディレクトリにログファイルを自動的に書き込みます。これにより、サーバーのトラブルシューティングや動作の監視が容易になります。
ログファイルの場所
ログファイルは、お使いのオペレーティングシステムに応じて次の場所に保存されます。
Linux
- ディレクトリ:
~/.local/share/dremioai/logs/ - フルパス:
~/.local/share/dremioai/logs/dremioai.log - XDG 準拠:設定されている場合は
$XDG_DATA_HOME環境変数に従います
macOS
- ディレクトリ:
~/Library/Logs/dremioai/ - フルパス:
~/Library/Logs/dremioai/dremioai.log
Windows
- ディレクトリ:
%LOCALAPPDATA%\dremioai\logs\ - フルパス:
%LOCALAPPDATA%\dremioai\logs\dremioai.log - 一般的な場所:
C:\Users\<username>\AppData\Local\dremioai\logs\dremioai.log
ファイルへのログ記録の制御
デフォルトでは、MCP サーバーは上記のログファイルにログを記録します。さらに細かく制御するには、次の環境変数とコマンドラインオプションを使用できます。
- JSON 形式を使用する:
JSON_LOGGING=1を設定するか、--enable-json-loggingを指定すると、構造化された JSON ログが出力されます - ファイルへのログ記録を無効にする:
--no-log-to-fileを指定すると、ログのファイルへの書き込みが無効になります
例:
$ uv run dremio-mcp-server run --no-log-to-file --enable-json-logging
# OR
$ uv run dremio-mcp-server run --enable-json-logging
ログディレクトリは、存在しない場合に自動的に作成されるため、手動で設定する必要はありません。
詳細ドキュメント
-
アーキテクチャ:コンポーネント間の連携やデータフローを含む、Dremio MCP サーバーのアーキテクチャの詳細な概要です。
-
ツール:利用可能なツールに関する包括的なガイドです。以下の内容を含みます。
- ツールのカテゴリと種類
- 使用例
- 開発ガイドライン
- 統合のサポート
-
設定:以下を網羅した、設定に関する完全なリファレンスです。
- Dremio の接続設定
- ツールの設定
- フレームワークとの統合
- 環境変数
追加情報
このリポジトリは、機能の追加、問題の報告、修正への貢献など、あらゆる形での貢献を促すオープンソースソフトウェアを目指しています。Dremio 製品のサポートには含まれません。
テスト
このプロジェクトではテストに pytest を使用します。テストを実行するには、次のコマンドを実行してください。
# Run all tests
$ uv run pytest tests
GitHub Actions は、プルリクエストおよび main ブランチへのプッシュ時にテストを自動的に実行します。
貢献
以下の詳細については、貢献ガイドをご覧ください。
- 開発環境のセットアップ
- 貢献方法
- コードスタイルのガイドライン
- ドキュメントの要件
- テストの実行
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。