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 サーバーに推奨)
設定
- まだインストールしていない場合は、
uv
をインストールします。インストール後にターミナルを再起動してください。Copy - リポジトリをクローンします。Copy
uv
を使用してプロジェクトをセットアップします。Copy- 環境変数を設定します。Copy
.env.example
テンプレートに基づいて.env
ファイルを作成することもできます。
MCPサーバーの実行
MCP サーバーを起動するには、次のコマンドを実行します。
これらのラッパースクリプトは、 scripts
ディレクトリにある実際のサーバースクリプトを実行します。サーバーが起動し、MCPプロトコル接続を受け入れる準備が整います。
スクリプト ディレクトリからサーバー スクリプトを直接実行することもできます。
Databricks リソースのクエリ
リポジトリには、Databricks リソースをすばやく表示するためのユーティリティ スクリプトが含まれています。
プロジェクト構造
プロジェクト構造の詳細なビューについては、 project_structure.md
参照してください。
発達
コード標準
- PythonコードはPEP 8スタイルガイドに準拠しており、行の最大長は100文字です。
- インデントには4つのスペースを使用します(タブは使用しません)
- 文字列には二重引用符を使用する
- すべてのクラス、メソッド、関数にはGoogleスタイルのドキュメント文字列が必要です
- 型ヒントはテストを除くすべてのコードに必要です
リンティング
このプロジェクトでは、次のリンティング ツールを使用します。
テスト
このプロジェクトではテストにpytestを使用しています。テストを実行するには、以下の手順に従ってください。
pytest を使用して直接テストを実行することもできます。
最低 80% のコード カバレッジがこのプロジェクトの目標です。
ドキュメント
- APIドキュメントはSphinxを使用して生成され、
docs/api
ディレクトリにあります。 - すべてのコードにはGoogleスタイルのドキュメント文字列が含まれています
- 使用例については
examples/
ディレクトリを参照してください。
例
使用例についてはexamples/
ディレクトリをご覧ください。例を実行するには、以下の手順を実行してください。
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
- コードがプロジェクトのコーディング標準に準拠していることを確認する
- 新しい機能のテストを追加する
- 必要に応じてドキュメントを更新する
- 提出前にすべてのテストに合格していることを確認してください
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
This server cannot be installed
モデル完了プロトコル (MCP) を実装し、LLM がクラスター、ジョブ、ノートブック、SQL 実行などの Databricks リソースと自然言語で対話できるようにするサーバー。