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 サーバーに推奨)
設定
まだインストールしていない場合は、
uvをインストールします。# MacOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows (in PowerShell) irm https://astral.sh/uv/install.ps1 | iexインストール後にターミナルを再起動してください。
リポジトリをクローンします。
git clone https://github.com/JustTryAI/databricks-mcp-server.git cd databricks-mcp-serveruvを使用してプロジェクトをセットアップします。# 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]"環境変数を設定します。
# 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.shDatabricks リソースのクエリ
リポジトリには、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.pypytest を使用して直接テストを実行することもできます。
# 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貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
コードがプロジェクトのコーディング標準に準拠していることを確認する
新しい機能のテストを追加する
必要に応じてドキュメントを更新する
提出前にすべてのテストに合格していることを確認してください
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。