mcpField
D
Dremio MCP server

Dremio MCP server

ローカル
github.com/dremioデータベース533 週間前に更新

Dremio MCP server について

Dremio MCP server は、LLM から Dremio を利用するための MCP サーバーです。Claude Desktop 向けのローカルインストールと、Kubernetes 上でのリモートデプロイの両方に対応しています。Dremio のデータ探索やシステム分析を行いたいユーザーを想定しています。

主な機能

  1. 01コマンドラインによるローカルインストールと設定ファイル管理
  2. 02Helm Chart によるリモート Streaming HTTP デプロイ
  3. 03OAuth と外部トークンプロバイダーによる認証
  4. 04データ探索、システム自己分析、Prometheus 連携の3つのモード
  5. 05プラットフォーム標準ディレクトリへのログ出力と JSON 形式対応

活用シーン

  1. 01Claude Desktop から Dremio 内のテーブルやデータを探索する
  2. 02Kubernetes 上でリモートサーバーとして Dremio MCP サーバーを運用する
  3. 03Prometheus のメトリクスと併せて Dremio のワークロードを分析する

MCP 対応

本プロジェクトは MCP サーバーであり、Claude Desktop などの MCP クライアントに Dremio 関連の機能を提供します。ローカルとリモートの両方の接続方式をサポートします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dremio": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 チャートのドキュメント

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、読み取り専用ファイルシステム)
ドキュメント

ローカルインストール(デスクトップ/開発)

MCP サーバーは、LLM フロントエンド(例:Claude)を実行するマシン上でローカルに動作します。インストール手順は簡単です。

  1. このリポジトリをクローンするか、ダウンロードします。
  2. uv パッケージマネージャーをインストールします(MCP サーバーには Python 3.11 以降が必要です)。
  • 初めてインストールする場合は、インストールの最後にターミナルを再起動してください。
  1. 以下のコマンドを実行して、Python がインストールされていることを確認します。Python 3.11 以降が表示されるはずです(Python がインストールされていない場合は、こちらの手順に従うか、uv python install を実行してください)。
$ uv python find
  1. コマンドを実行し、以下に示す出力を確認して、正しく動作することを確かめます。
# 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 つの設定が必要です。

  1. サーバー設定ファイル:Dremio への接続と通信に関する詳細を設定します。
  2. LLM 設定ファイル:MCP サーバーを認識できるよう、LLM デスクトップアプリ(現時点では Claude)を設定します。
クイックスタート

このセットアップを最も手早く行う方法は次のとおりです。

  1. 以下の説明に従って 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 エンドポイントです。

注:セキュリティ上、PAT がシェルの履歴ファイルに漏れるのを防ぎたい場合は、PAT を記載したファイルを作成し、それを dremio config の引数として指定してください。

例:

$ uv run dremio-mcp-server config create dremioai \
    --uri <dremio uri> \
    --pat @/path/to/tokenfile \
  1. Claude Desktop をダウンロードしてインストールします(Claude)

注:Claude には node.js などのシステム要件があります。お使いのシステムが要件を満たしているか、Claude の公式ドキュメントで確認してください。

  1. 次のコマンドを使用して Claude config ファイルを作成します
$ uv run dremio-mcp-server config create claude
  1. 次のコマンドを使用して 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つあります。

  1. FOR_DATA_PATTERNS - MCP サーバーが LLM にテーブルとデータを参照させ、パターンの発見やその他のユースケースに対応できる通常のモードです
  2. FOR_SELF - ワークロード分析などを含め、MCP サーバーが Dremio システムをイントロスペクトできるモードです。
  3. 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 サーバーは上記のログファイルにログを記録します。さらに細かく制御するには、次の環境変数とコマンドラインオプションを使用できます。

  1. JSON 形式を使用する:JSON_LOGGING=1 を設定するか、--enable-json-logging を指定すると、構造化された JSON ログが出力されます
  2. ファイルへのログ記録を無効にする:--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

ログディレクトリは、存在しない場合に自動的に作成されるため、手動で設定する必要はありません。

詳細ドキュメント

  1. アーキテクチャ:コンポーネント間の連携やデータフローを含む、Dremio MCP サーバーのアーキテクチャの詳細な概要です。

  2. ツール:利用可能なツールに関する包括的なガイドです。以下の内容を含みます。

    • ツールのカテゴリと種類
    • 使用例
    • 開発ガイドライン
    • 統合のサポート
  3. 設定:以下を網羅した、設定に関する完全なリファレンスです。

    • Dremio の接続設定
    • ツールの設定
    • フレームワークとの統合
    • 環境変数
  4. リモート HTTP ストリーミング/Helm Chart

追加情報

このリポジトリは、機能の追加、問題の報告、修正への貢献など、あらゆる形での貢献を促すオープンソースソフトウェアを目指しています。Dremio 製品のサポートには含まれません。

テスト

このプロジェクトではテストに pytest を使用します。テストを実行するには、次のコマンドを実行してください。

# Run all tests
$ uv run pytest tests

GitHub Actions は、プルリクエストおよび main ブランチへのプッシュ時にテストを自動的に実行します。

貢献

以下の詳細については、貢献ガイドをご覧ください。

  • 開発環境のセットアップ
  • 貢献方法
  • コードスタイルのガイドライン
  • ドキュメントの要件
  • テストの実行

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。