Databricks MCP Server

by JordiNeil
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Connects to Databricks API, allowing SQL query execution on Databricks warehouses, listing of jobs, retrieving job status, and accessing detailed job information.

Databricks MCP サーバー

Databricks API に接続し、LLM が SQL クエリを実行し、ジョブを一覧表示し、ジョブ ステータスを取得できるようにするモデル コンテキスト プロトコル (MCP) サーバー。

特徴

  • Databricks SQL ウェアハウスで SQL クエリを実行する
  • すべての Databricks ジョブを一覧表示する
  • 特定の Databricks ジョブのステータスを取得する
  • Databricksの求人に関する詳細情報を入手する

前提条件

  • Python 3.7以上
  • 次の機能を備えた Databricks ワークスペース:
    • 個人アクセストークン
    • SQL ウェアハウスエンドポイント
    • クエリの実行とジョブへのアクセスの権限

設定

  1. このリポジトリをクローンする
  2. 仮想環境を作成してアクティブ化します (推奨):
    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. 依存関係をインストールします:
    pip install -r requirements.txt
  4. 次の変数を含む.envファイルをルート ディレクトリに作成します。
    DATABRICKS_HOST=your-databricks-instance.cloud.databricks.com DATABRICKS_TOKEN=your-personal-access-token DATABRICKS_HTTP_PATH=/sql/1.0/warehouses/your-warehouse-id
  5. 接続をテストします (オプションですが推奨されます):
    python test_connection.py

Databricks 資格情報の取得

  1. ホスト: Databricks インスタンスの URL (例: your-instance.cloud.databricks.com )
  2. トークン: Databricks で個人アクセス トークンを作成します。
    • ユーザー設定に移動します(右上のユーザー名をクリックします)
    • 「開発者」タブを選択します
    • 「アクセストークン」の下の「管理」をクリックします
    • 新しいトークンを生成し、すぐに保存します
  3. HTTP パス: SQL ウェアハウスの場合:
    • DatabricksのSQLウェアハウスへ
    • 倉庫を選択してください
    • 接続の詳細を見つけてHTTPパスをコピーします

サーバーの実行

MCP サーバーを起動します。

python main.py

インスペクタを使用してMCPサーバーをテストするには、次のコマンドを実行します。

npx @modelcontextprotocol/inspector python3 main.py

利用可能なMCPツール

次の MCP ツールが利用可能です。

  1. run_sql_query(sql: str) - Databricks SQL ウェアハウスで SQL クエリを実行します。
  2. list_jobs() - ワークスペース内のすべての Databricks ジョブを一覧表示します
  3. get_job_status(job_id: int) - IDで特定のDatabricksジョブのステータスを取得します
  4. get_job_details(job_id: int) - 特定のDatabricksジョブに関する詳細情報を取得します

LLMの使用例

MCP プロトコルをサポートする LLM と併用すると、このサーバーは Databricks 環境との自然言語による対話を可能にします。

  • 「データベース内のすべてのテーブルを表示」
  • 「顧客テーブルのレコード数をカウントするクエリを実行する」
  • 「すべての Databricks ジョブを一覧表示する」
  • 「ジョブ #123 のステータスを確認してください」
  • 「ジョブ #456 の詳細を表示」

トラブルシューティング

接続の問題

  • Databricksホストが正しく、 https://プレフィックスが含まれていないことを確認してください
  • SQL ウェアハウスが実行中でアクセス可能であることを確認する
  • 個人アクセストークンに必要な権限があることを確認する
  • 付属のテストスクリプトを実行します: python test_connection.py

セキュリティに関する考慮事項

  • Databricks個人アクセストークンを使用すると、ワークスペースに直接アクセスできます。
  • .envファイルを安全に保管し、バージョン管理にコミットしないでください。
  • 適切な権限スコープを持つ Databricks トークンのみの使用を検討してください
  • このサーバーを安全な環境で実行する
-
security - not tested
F
license - not found
-
quality - not tested

LLM が自然言語を通じて Databricks ワークスペースと対話し、SQL クエリの実行とジョブ管理操作を実行できるようにするモデル コンテキスト プロトコル サーバー。

  1. Features
    1. Prerequisites
      1. Setup
        1. Obtaining Databricks Credentials
      2. Running the Server
        1. Available MCP Tools
          1. Example Usage with LLMs
            1. Troubleshooting
              1. Connection Issues
            2. Security Considerations
              ID: gslv6zuxt9