Skip to main content
Glama
JustTryAI

Databricks MCP Server

Databricks MCP サーバー

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

特徴

  • MCP プロトコル サポート: MCP プロトコルを実装して、LLM が Databricks と対話できるようにします。

  • Databricks API統合: Databricks REST API機能へのアクセスを提供します

  • ツール登録: Databricks の機能を MCP ツールとして公開します

  • 非同期サポート: 効率的な操作のために asyncio で構築されています

Related MCP server: mcp-lancedb

利用可能なツール

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 ファイルを参照してください。

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JustTryAI/databricks-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server