Skip to main content
Glama

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