mcpField
D
Databricks MCP Server

Databricks MCP Server

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

Databricks MCP Server について

Databricks MCP Serverは、公式Python SDKを通じてMCPクライアントをDatabricksの各サービスに接続します。データ、コンピュート、機械学習、管理、ガイド付きワークフローを幅広く扱い、モジュール単位でツールを絞り込めます。

主な機能

  1. 0128サービス領域のツール
  2. 028種類のガイド付きプロンプト
  3. 03ツールモジュールの選択読み込み
  4. 04SDKによる認証管理
  5. 05ワークスペース情報のリソース
  6. 06stdioとSSEのトランスポート

活用シーン

  1. 01データのクエリとUnity Catalogの探索
  2. 02コンピュート、ジョブ、パイプラインの管理
  3. 03モデルのデプロイとVector Searchの利用
  4. 04ワークスペースのユーザーと権限の管理

MCP 対応

Databricksの操作をMCPツールとして提供し、プロンプトテンプレートと読み取り専用のワークスペース情報も公開します。クライアントはstdioまたはSSEで接続でき、環境変数でツールモジュールを絞り込めます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"pramodbhatofficial-databricks-sdk": {
"command": "uvx",
"args": [
"databricks-sdk-mcp"
],
"env": {
"DATABRICKS_HOST": "<DATABRICKS_HOST>",
"DATABRICKS_TOKEN": "<DATABRICKS_TOKEN>",
"DATABRICKS_MCP_TOOLS_INCLUDE": "<DATABRICKS_MCP_TOOLS_INCLUDE>"
}
}
}
}
起動コマンドuvx databricks-sdk-mcp
設定が必要な環境変数
DATABRICKS_HOSTYour Databricks workspace URL (e.g. https://adb-123.azuredatabricks.net)
DATABRICKS_TOKENシークレットDatabricks personal access token or OAuth token
DATABRICKS_MCP_TOOLS_INCLUDEComma-separated list of tool modules to load (e.g. unity_catalog,sql,compute). Leave empty to load all 263 tools.

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

パッケージ
pypidatabricks-sdk-mcp0.1.0

ツール

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

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

詳細

Databricks MCP サーバー

PyPI CI Python 3.10+ License: Apache 2.0

公式の Databricks Python SDK を基盤として構築された、Databricks 向けの包括的な Model Context Protocol (MCP) サーバーです。

28 のサービス領域にわたる 263 個のツールと 8 個のプロンプトテンプレートを提供し、AI アシスタントから Databricks プラットフォーム全体にアクセスできます。

特長

  • SDK を優先:型安全性と API の自動的な最新化のため、databricks-sdk を使用します
  • 幅広い対応範囲:Unity Catalog、SQL、Compute、Jobs、Pipelines、Serving、Vector Search、Apps、Lakebase、Dashboards、Genie、Secrets、IAM、Connections、Experiments、Delta Sharing をカバーします
  • カスタム認証不要:認証はすべて SDK に委任されます(PAT、OAuth、Azure AD、サービスプリンシパルに自動対応)
  • 選択的な読み込み:環境変数を使ってツールモジュールを含めるか除外できます
  • MCP リソース:読み取り専用のワークスペースコンテキスト(URL、現在のユーザー、認証タイプ)

クイックスタート

インストール
pip install databricks-sdk-mcp

または、Docker で実行します:

docker run -i -e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=... databricks-mcp

または、ソースからインストールします:

git clone https://github.com/pramodbhatofficial/databricks-mcp-server.git
cd databricks-mcp-server
pip install -e ".[dev]"
認証

認証は Databricks SDK が処理します。次のいずれかを設定してください。

個人用アクセストークン(最も簡単):

export DATABRICKS_HOST=https://your-workspace.databricks.com
export DATABRICKS_TOKEN=dapi...

OAuth(M2M — サービスプリンシパル):

export DATABRICKS_HOST=https://your-workspace.databricks.com
export DATABRICKS_CLIENT_ID=...
export DATABRICKS_CLIENT_SECRET=...

OAuth(U2M — 対話型ブラウザーログイン):

有効期間が短く、自動更新される OAuth トークンを使って、自分のアカウントで認証します。Databricks CLI で一度ログインすると、トークンは名前付きプロファイルとして ~/.databrickscfg にキャッシュされます。

databricks auth login --host https://your-workspace.databricks.com --profile my-profile

続いて、トークンを設定する代わりに、そのプロファイルをサーバーに指定します。

export DATABRICKS_CONFIG_PROFILE=my-profile

注記: DATABRICKS_TOKEN が設定されている場合、SDK はプロファイルよりもそちらを優先して使用します。 プロファイルを使って認証する場合は、DATABRICKS_TOKEN/DATABRICKS_HOST を未設定にしてください。

その他の方法:Azure AD、Azure Managed Identity — いずれも SDK が自動検出します。

実行
databricks-mcp

これにより、stdio トランスポートを使って MCP サーバーが起動します。

インテグレーション

Claude Code(ターミナル)

~/.claude/settings.json またはプロジェクトの .claude/settings.json に追加します。

{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi..."
      }
    }
  }
}

トークンの代わりに OAuth U2M を使用するには、ログイン済みのプロファイルを指定し(認証を参照)、DATABRICKS_HOST/DATABRICKS_TOKEN を省略します。

{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_CONFIG_PROFILE": "my-profile"
      }
    }
  }
}

続いて Claude Code を再起動します。/mcp を実行すると、登録済みのツールを確認できます。

Claude Desktop

Claude Desktop の設定ファイルに追加します。

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi..."
      }
    }
  }
}

Claude Desktop を再起動すると、ツール選択メニューに Databricks ツールが表示されます。

Cursor

プロジェクトのルートにある .cursor/mcp.json(または全体設定用の ~/.cursor/mcp.json)に追加します。

{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi..."
      }
    }
  }
}

Cursor の Settings > MCP を開き、サーバーが接続されていることを確認します。

Windsurf

~/.codeium/windsurf/mcp_config.json に追加します。

{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi..."
      }
    }
  }
}
VS Code(Copilot)

プロジェクト内の .vscode/mcp.json に追加します。

{
  "servers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi..."
      }
    }
  }
}
Zed

Zed の設定(~/.config/zed/settings.json)に追加します。

{
  "context_servers": {
    "databricks": {
      "command": {
        "path": "databricks-mcp",
        "env": {
          "DATABRICKS_HOST": "https://your-workspace.databricks.com",
          "DATABRICKS_TOKEN": "dapi..."
        }
      }
    }
  }
}
任意の MCP クライアント(汎用 stdio)

このサーバーは stdio トランスポートを使用します。MCP 対応の任意のクライアントから接続できます。

# Set auth env vars
export DATABRICKS_HOST=https://your-workspace.databricks.com
export DATABRICKS_TOKEN=dapi...

# Start the server (communicates via stdin/stdout)
databricks-mcp
ヒント:必要なものだけを読み込む

MCP クライアントが多数のツールを扱いきれない場合は、選択的な読み込みを使ってツール数を減らしてください。

{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi...",
        "DATABRICKS_MCP_TOOLS_INCLUDE": "unity_catalog,sql,compute,jobs"
      }
    }
  }
}

ツールモジュール

モジュールツール説明
unity_catalog23カタログ、スキーマ、テーブル、ボリューム、関数、登録済みモデル
sql14ウェアハウス、SQL の実行、クエリ、アラート、履歴
workspace10ノートブック、ファイル、リポジトリ
compute18クラスター、インスタンスプール、ポリシー、ノードタイプ、Spark バージョン
jobs13ジョブ、実行、タスク、修復、すべてキャンセル
pipelines8DLT / Lakeflow パイプライン
serving10サービングエンドポイント、モデルバージョン、OpenAPI
vector_search10ベクトル検索エンドポイント、インデックス、同期
apps10Databricks Apps のライフサイクル
database10Lakebase PostgreSQL インスタンス
dashboards9Lakeview AI/BI ダッシュボード、公開済みビュー
genie5Genie AI/BI の会話
secrets8シークレットスコープとシークレット
iam16ユーザー、グループ、サービスプリンシパル、権限、現在のユーザー
connections5外部接続
experiments14MLflow の実験、実行、アーティファクト、メトリクス、パラメーター
sharing11Delta Sharing の共有、受信者、プロバイダー
files12DBFS と UC Volumes のファイル操作
grants3Unity Catalog の権限付与(GRANT/REVOKE)
storage10ストレージ認証情報と外部ロケーション
metastores8Unity Catalog のメタストア管理
online_tables3低レイテンシーのサービング用オンラインテーブル
global_init_scripts5ワークスペース全体の初期化スクリプト
tokens5個人用アクセストークンの管理
git_credentials5リポジトリ用 Git 認証情報の管理
quality_monitors8データ品質のモニタリングと更新
command_execution4クラスターでの対話型コマンド実行
workflows5複合的な複数ステップ操作(ワークスペースの状態、スキーマ設定、クエリのプレビュー)

ツールの選択的な読み込み

ツールが263個あるため、必要なモジュールのみを読み込むことをおすすめします。これにより、エージェントのパフォーマンスとツール選択の精度が向上します。

ロール別プリセット(推奨)

自分の役割に合ったプリセットを選択してください。

プリセットモジュールツール設定
データエンジニアunity_catalog, sql, compute, jobs, pipelines, files, quality_monitors~100DATABRICKS_MCP_TOOLS_INCLUDE=unity_catalog,sql,compute,jobs,pipelines,files,quality_monitors
ML エンジニアserving, vector_search, experiments, compute, unity_catalog, online_tables, files~98DATABRICKS_MCP_TOOLS_INCLUDE=serving,vector_search,experiments,compute,unity_catalog,online_tables,files
プラットフォーム管理者iam, secrets, tokens, metastores, compute, global_init_scripts, grants, storage~85DATABRICKS_MCP_TOOLS_INCLUDE=iam,secrets,tokens,metastores,compute,global_init_scripts,grants,storage
アプリ開発者apps, database, sql, files, serving, secrets~64DATABRICKS_MCP_TOOLS_INCLUDE=apps,database,sql,files,serving,secrets
データアナリストsql, unity_catalog, dashboards, genie, workspace~61DATABRICKS_MCP_TOOLS_INCLUDE=sql,unity_catalog,dashboards,genie,workspace
最小構成sql, unity_catalog~37DATABRICKS_MCP_TOOLS_INCLUDE=sql,unity_catalog

Claude Code でプリセットを使用する例:

{
  "mcpServers": {
    "databricks": {
      "command": "databricks-mcp",
      "env": {
        "DATABRICKS_HOST": "https://your-workspace.databricks.com",
        "DATABRICKS_TOKEN": "dapi...",
        "DATABRICKS_MCP_TOOLS_INCLUDE": "unity_catalog,sql,compute,jobs,pipelines,files,quality_monitors"
      }
    }
  }
}
カスタムフィルタリング
# Only include specific modules
export DATABRICKS_MCP_TOOLS_INCLUDE=unity_catalog,sql,serving

# Exclude specific modules (cannot combine with INCLUDE)
export DATABRICKS_MCP_TOOLS_EXCLUDE=iam,sharing,experiments

INCLUDE が設定されている場合、そのモジュールのみが読み込まれます。EXCLUDE が設定されている場合、そのモジュール以外のすべてが読み込まれます。両方が設定されている場合は、INCLUDE が優先されます。

ツールの検出(AI エージェント向け)

サーバーには、AI エージェントが適切なツールを見つけやすくする組み込みのツール検出機能があります。

MCP リソース
URI説明
databricks://workspace/infoワークスペース URL、現在のユーザー、認証タイプ
databricks://tools/guideモジュールの説明、使用例、ロール別プリセットを含むツールカタログ

エージェントは接続時に databricks://tools/guide を読み取り、利用可能な機能を確認できます。

検索ツール

databricks_tool_guide ツールを使うと、エージェントは会話中に適切なツールを見つけられます。

# Find tools for a specific task
databricks_tool_guide(task="run a SQL query")
databricks_tool_guide(task="deploy an ML model")
databricks_tool_guide(task="create a user")

# Get role-based recommendations
databricks_tool_guide(role="data_engineer")
databricks_tool_guide(role="ml_engineer")

説明と使用上のヒントとともに該当するモジュールが返されるため、エージェントは呼び出すべき databricks_* ツールを正確に把握できます。

MCP プロンプト(ガイド付きワークフロー)

サーバーには、AI エージェントを複数ステップの Databricks ワークフローに沿ってガイドする、8 つのプロンプトテンプレートが含まれています。

プロンプト説明
explore_data_catalogUnity Catalog の構造(カタログ → スキーマ → テーブル)を確認する
query_dataウェアハウスを見つけ、SQL を実行して、結果を整形する
debug_failing_job失敗したジョブを調査する:ステータス、ログ、エラー分析
setup_ml_experimentMLflow の実験を作成し、トラッキングを設定する
deploy_modelモデルをサービングエンドポイントにデプロイする
setup_data_pipelineスケジュールを設定して DLT パイプラインを作成する
workspace_health_checkクラスター、ウェアハウス、ジョブ、エンドポイントを監査する
manage_permissionsワークスペースオブジェクトの権限を確認・更新する

プロンプトに対応する MCP クライアント(例:Claude Desktop のプロンプト選択機能)では、プロンプトが自動的に表示されます。

Docker

コンテナー内で MCP サーバーを実行します。

# Build
docker build -t databricks-mcp .

# Run with stdio
docker run -i \
  -e DATABRICKS_HOST=https://your-workspace.databricks.com \
  -e DATABRICKS_TOKEN=dapi... \
  databricks-mcp

# Run with SSE transport
docker run -p 8080:8080 \
  -e DATABRICKS_HOST=https://your-workspace.databricks.com \
  -e DATABRICKS_TOKEN=dapi... \
  databricks-mcp --transport sse --port 8080

# Run with selective modules
docker run -i \
  -e DATABRICKS_HOST=https://your-workspace.databricks.com \
  -e DATABRICKS_TOKEN=dapi... \
  -e DATABRICKS_MCP_TOOLS_INCLUDE=sql,unity_catalog \
  databricks-mcp

SSE トランスポート(リモートサーバー)

サーバーはリモート接続向けに SSE トランスポートをサポートしています。

# Start as SSE server
databricks-mcp --transport sse --port 8080

# Custom host/port
databricks-mcp --transport sse --host 127.0.0.1 --port 3000

SSE をサポートする任意の MCP クライアントから接続します。

{
  "mcpServers": {
    "databricks": {
      "url": "http://localhost:8080/sse"
    }
  }
}

開発

# Install with dev dependencies
pip install -e ".[dev]"

# Lint
ruff check databricks_mcp/

# Test
pytest tests/ -v

作成者

Pramod Bhat

ライセンス

Apache 2.0 -- LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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