🚀 MCP Databricks について
MCP Databricksは、Databricksワークスペースを扱うAIアシスタント向けのPython製MCPサーバーです。クラスター、SQLウェアハウス、コマンド実行、ワークスペースオブジェクトを操作でき、Dockerまたはuvで導入できます。
主な機能
- 01クラスターの一覧・作成・管理
- 02クラスターへのライブラリ導入とコマンド実行
- 03SQLウェアハウスの管理
- 04ワークスペースオブジェクトのインポートと管理
活用シーン
- 01Databricksクラスターの確認や起動
- 02クラスター上でのPython・Scala・SQL実行
- 03ワークスペース内のノートブックやファイルの管理
- 04SQLウェアハウスを使ったクエリ作業
MCP 対応
このMCPサーバーはstdioでClaude DesktopなどのMCPクライアントに接続します。Databricksのクラスター管理、コマンド実行、SQLウェアハウス、ワークスペースオブジェクトのツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🚀 MCP Databricks
Model Context Protocol を介して AI アシスタントと Databricks を強力に連携
📖 はじめに
MCP Databricks は、Model Context Protocol(MCP)を通じて AI アシスタントと Databricks ワークスペースをシームレスに接続します。Python で構築されており、Databricks 環境のほぼすべての側面を管理するための豊富なツールを提供します。
このサーバーを使うと、Claude などの AI アシスタントは次のことができます。
- 🔧 コンピュートリソースをきめ細かく管理する
- 📊 SQL クエリを実行し、結果を分析する
- 📁 ワークスペースオブジェクトを整理、操作する
- ✨ その他にもさまざまな操作ができます。
🔍 前提条件
- 🐍 Python 3.11 以降
- 💻 Databricks ワークスペース
- 🔑 Databricks Personal Access Token(PAT)
- 📦 必要な Python パッケージ(セットアップ時にインストール)
🚀 クイックスタート
1️⃣ リポジトリをクローンする
git clone https://github.com/leminkhoa/databricks-mcp
cd databricks-mcp
2️⃣ 環境変数を設定する
プロジェクトのルートに .env ファイルを作成し、Databricks の認証情報を設定します。
# Databricks API Configuration
DATABRICKS_HOST="https://adb-<your workspace uri>.azuredatabricks.net/"
DATABRICKS_TOKEN="dapi_<your_token_here>"
# Server Configuration
SERVER_HOST="0.0.0.0"
SERVER_PORT="8000"
DEBUG="false"
TRANSPORT="stdio"
# Logging Configuration
LOG_LEVEL="INFO"
💡 ヒント: 詳しい手順については、
env.sampleファイルをテンプレートとして使用できます。
3️⃣ インストール方法を選択する
MCP Databricks は、次の 2 つの方法で使用できます。
オプション A:Docker(本番環境におすすめ)
- Docker イメージをビルドします。
docker build -t databricks-mcp .
- 次の
mcp.jsonエントリを使って Cursor で設定します。
{
"databricks-mcp-docker": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--name", "databricks-mcp",
"--env-file", "<path/to/.env>",
"databricks-mcp"
]
}
}
💡 注:
<path/to/.env>を.envファイルの絶対パスに置き換えてください。
オプション B:uv を使ったローカルインストール
- uv をインストールします(まだインストールされていない場合)。
curl -LsSf https://astral.sh/uv/install.sh | sh
💡 注: 別のインストール方法については、uv installation documentation を参照してください。
- 仮想環境をセットアップします。
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- uv で依存関係をインストールします。
uv sync
- 次の
mcp.jsonエントリを使って Cursor で設定します。
{
"databricks-mcp-stdio": {
"command": "uv",
"args": [
"--directory",
"<repository directory>",
"run",
"main.py"
]
}
}
💡 注:
<repository directory>を、クローンしたリポジトリの絶対パスに置き換えてください。
🚀 使用方法
MCP サーバーの起動
Docker または Cursor との連携を使用しない場合は、次のコマンドでサーバーを起動します。
python main.py
または
uv run main.py
Claude やその他の MCP クライアントへの接続
このサーバーは、Claude Desktop やその他の MCP クライアントとシームレスに互換性を保つために、stdio トランスポートを使用します。サーバーをインストールしたら、お好みの MCP クライアントからすぐに接続できます。
🧰 ツールと機能
MCP Databricks サーバーは、Databricks 環境を管理するための包括的なツールキットを提供します。
💻 クラスター管理
| Tool | Description |
|---|---|
list_clusters | ワークスペース内のすべての Databricks クラスターを一覧表示します |
create_cluster | カスタマイズ可能な設定で新しい Databricks クラスターを作成します |
delete_cluster | ID を指定して Databricks クラスターを削除します |
start_cluster | 停止状態の Databricks クラスターを起動します |
list_node_types | Databricks クラスターで利用可能なすべてのノードタイプを一覧表示します |
list_spark_versions | Databricks クラスターで利用可能なすべての Spark バージョンを一覧表示します |
get_cluster | 特定の Databricks クラスターの詳細情報を取得します |
📦 ライブラリ管理
| Tool | Description |
|---|---|
install_libraries | 実行中のクラスターにライブラリ(JAR、WHL、PyPI、Maven、CRAN など)をインストールします |
🖥️ コマンドの実行
| ツール | 説明 |
|---|---|
execute_command | 実行中の Databricks クラスターでコマンド(Python、Scala、SQL)を実行します |
create_execution_context | インタラクティブなコマンドセッション用の実行コンテキストを作成します |
📊 SQL ウェアハウスの管理
| ツール | 説明 |
|---|---|
list_sql_warehouses | ワークスペース内のすべての SQL ウェアハウスを一覧表示します |
create_sql_warehouse | サイズと設定を指定して、新しい SQL ウェアハウスを作成します |
📁 ワークスペースオブジェクト
| ツール | 説明 |
|---|---|
delete_workspace_object | Databricks ワークスペースからオブジェクトを削除します |
get_workspace_object_status | Databricks ワークスペース内のオブジェクトのステータスを取得します |
import_workspace_object | オブジェクト(ノートブック、ファイルなど)をワークスペースにインポートします |
create_workspace_directory | Databricks ワークスペースにディレクトリを作成します |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。