Databricks MCP Server

by JustTryAI
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

  • Provides access to Databricks functionality through tools that allow interacting with clusters (listing, creating, terminating, starting), jobs (listing, running), notebooks (listing, exporting), files (browsing DBFS paths), and executing SQL queries on a Databricks instance.

  • Used for implementing test endpoints and API functionality for the MCP server, enabling proper API interaction with Databricks services.

Databricks MCP サーバー

Databricks用のモデル補完プロトコル(MCP)サーバー。MCPプロトコルを介してDatabricks機能へのアクセスを提供します。これにより、LLM対応ツールはDatabricksクラスター、ジョブ、ノートブックなどと連携できるようになります。

特徴

  • MCP プロトコル サポート: MCP プロトコルを実装して、LLM が Databricks と対話できるようにします。
  • Databricks API統合: Databricks REST API機能へのアクセスを提供します
  • ツール登録: Databricks の機能を MCP ツールとして公開します
  • 非同期サポート: 効率的な操作のために asyncio で構築されています

利用可能なツール

Databricks MCP サーバーは次のツールを公開します。

  • list_clusters : すべての Databricks クラスターを一覧表示する
  • create_cluster : 新しい Databricks クラスターを作成する
  • terminate_cluster : Databricks クラスターを終了する
  • get_cluster : 特定の Databricks クラスターに関する情報を取得する
  • start_cluster : 終了した Databricks クラスターを起動します
  • list_jobs : すべての Databricks ジョブを一覧表示する
  • run_job : Databricksジョブを実行する
  • list_notebooks : ワークスペースディレクトリ内のノートブックを一覧表示する
  • export_notebook : ワークスペースからノートブックをエクスポートする
  • list_files : DBFSパス内のファイルとディレクトリを一覧表示する
  • execute_sql : SQL文を実行する

インストール

前提条件

  • Python 3.10以上
  • uvパッケージ マネージャー (MCP サーバーに推奨)

設定

  1. まだインストールしていない場合は、 uvをインストールします。
    # MacOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows (in PowerShell) irm https://astral.sh/uv/install.ps1 | iex
    インストール後にターミナルを再起動してください。
  2. リポジトリをクローンします。
    git clone https://github.com/JustTryAI/databricks-mcp-server.git cd databricks-mcp-server
  3. uvを使用してプロジェクトをセットアップします。
    # Create and activate virtual environment uv venv # On Windows .\.venv\Scripts\activate # On Linux/Mac source .venv/bin/activate # Install dependencies in development mode uv pip install -e . # Install development dependencies uv pip install -e ".[dev]"
  4. 環境変数を設定します。
    # Windows set DATABRICKS_HOST=https://your-databricks-instance.azuredatabricks.net set DATABRICKS_TOKEN=your-personal-access-token # Linux/Mac export DATABRICKS_HOST=https://your-databricks-instance.azuredatabricks.net export DATABRICKS_TOKEN=your-personal-access-token
    .env.exampleテンプレートに基づいて.envファイルを作成することもできます。

MCPサーバーの実行

MCP サーバーを起動するには、次のコマンドを実行します。

# Windows .\start_mcp_server.ps1 # Linux/Mac ./start_mcp_server.sh

これらのラッパースクリプトは、 scriptsディレクトリにある実際のサーバースクリプトを実行します。サーバーが起動し、MCPプロトコル接続を受け入れる準備が整います。

スクリプト ディレクトリからサーバー スクリプトを直接実行することもできます。

# Windows .\scripts\start_mcp_server.ps1 # Linux/Mac ./scripts/start_mcp_server.sh

Databricks リソースのクエリ

リポジトリには、Databricks リソースをすばやく表示するためのユーティリティ スクリプトが含まれています。

# View all clusters uv run scripts/show_clusters.py # View all notebooks uv run scripts/show_notebooks.py

プロジェクト構造

databricks-mcp-server/ ├── src/ # Source code │ ├── __init__.py # Makes src a package │ ├── __main__.py # Main entry point for the package │ ├── main.py # Entry point for the MCP server │ ├── api/ # Databricks API clients │ ├── core/ # Core functionality │ ├── server/ # Server implementation │ │ ├── databricks_mcp_server.py # Main MCP server │ │ └── app.py # FastAPI app for tests │ └── cli/ # Command-line interface ├── tests/ # Test directory ├── scripts/ # Helper scripts │ ├── start_mcp_server.ps1 # Server startup script (Windows) │ ├── run_tests.ps1 # Test runner script │ ├── show_clusters.py # Script to show clusters │ └── show_notebooks.py # Script to show notebooks ├── examples/ # Example usage ├── docs/ # Documentation └── pyproject.toml # Project configuration

プロジェクト構造の詳細なビューについては、 project_structure.md参照してください。

発達

コード標準

  • PythonコードはPEP 8スタイルガイドに準拠しており、行の最大長は100文字です。
  • インデントには4つのスペースを使用します(タブは使用しません)
  • 文字列には二重引用符を使用する
  • すべてのクラス、メソッド、関数にはGoogleスタイルのドキュメント文字列が必要です
  • 型ヒントはテストを除くすべてのコードに必要です

リンティング

このプロジェクトでは、次のリンティング ツールを使用します。

# Run all linters uv run pylint src/ tests/ uv run flake8 src/ tests/ uv run mypy src/

テスト

このプロジェクトではテストにpytestを使用しています。テストを実行するには、以下の手順に従ってください。

# Run all tests with our convenient script .\scripts\run_tests.ps1 # Run with coverage report .\scripts\run_tests.ps1 -Coverage # Run specific tests with verbose output .\scripts\run_tests.ps1 -Verbose -Coverage tests/test_clusters.py

pytest を使用して直接テストを実行することもできます。

# Run all tests uv run pytest tests/ # Run with coverage report uv run pytest --cov=src tests/ --cov-report=term-missing

最低 80% のコード カバレッジがこのプロジェクトの目標です。

ドキュメント

  • APIドキュメントはSphinxを使用して生成され、 docs/apiディレクトリにあります。
  • すべてのコードにはGoogleスタイルのドキュメント文字列が含まれています
  • 使用例についてはexamples/ディレクトリを参照してください。

使用例についてはexamples/ディレクトリをご覧ください。例を実行するには、以下の手順を実行してください。

# Run example scripts with uv uv run examples/direct_usage.py uv run examples/mcp_client_usage.py

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. コードがプロジェクトのコーディング標準に準拠していることを確認する
  2. 新しい機能のテストを追加する
  3. 必要に応じてドキュメントを更新する
  4. 提出前にすべてのテストに合格していることを確認してください

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

-
security - not tested
F
license - not found
-
quality - not tested

モデル完了プロトコル (MCP) を実装し、LLM がクラスター、ジョブ、ノートブック、SQL 実行などの Databricks リソースと自然言語で対話できるようにするサーバー。

  1. Features
    1. Available Tools
      1. Installation
        1. Prerequisites
        2. Setup
      2. Running the MCP Server
        1. Querying Databricks Resources
          1. Project Structure
            1. Development
              1. Code Standards
              2. Linting
            2. Testing
              1. Documentation
                1. Examples
                  1. Contributing
                    1. License
                      ID: t233w8d0a5