mcpField
D
Databricks Permissions MCP Server

Databricks Permissions MCP Server

ローカル
github.com/JustTryAIセキュリティ184 週間前に更新

Databricks Permissions MCP Server について

Databricks Permissions MCP Serverは、LLMを利用するツールからDatabricksの権限や認証情報を管理できるようにします。リソース別の権限操作、サービスプリンシパル、Unity Catalogの権限、Git認証情報を扱います。

主な機能

  1. 01リソース権限の取得と変更
  2. 02クラスターとジョブの権限管理
  3. 03サービスプリンシパルの管理
  4. 04Unity Catalog権限の管理
  5. 05Git認証情報の作成と管理
  6. 06Databricks APIへの非同期アクセス

活用シーン

  1. 01ワークスペースオブジェクトの権限確認
  2. 02クラスターやジョブのアクセス権変更
  3. 03サービスプリンシパルの管理
  4. 04保存済みGit認証情報の更新

MCP 対応

Databricksの権限、サービスプリンシパル、Unity Catalog、Git認証情報の操作をツールとしてMCPクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Databricks Permissions MCP Server

MCP プロトコルを通じて Databricks の権限、資格情報、Git 資格情報にアクセスできる Model Completion Protocol(MCP)サーバーです。これにより、Claude などの LLM を活用したツールが Databricks の権限管理システムを操作できます。

機能

  • MCP プロトコルのサポート:LLM が Databricks の権限を管理できるように、MCP プロトコルを実装しています
  • Databricks API との連携:Databricks の権限 REST API に安全にアクセスできます
  • 権限管理:さまざまな Databricks リソースの権限を管理するための包括的なツールを提供します
  • Git 資格情報の管理:Git 資格情報の作成、一覧表示、更新、削除を行うツールを提供します
  • 非同期サポート:効率的に動作するよう、asyncio を使用して構築されています

利用可能なツール

Databricks Permissions MCP Server は、次のツールを提供します。

権限管理
  • get_permissions:Databricks オブジェクトの権限を取得します
  • set_permissions:Databricks オブジェクトの権限を設定します
  • update_permissions:Databricks オブジェクトの権限を更新します
  • get_permission_levels:Databricks オブジェクトの種類で利用可能な権限レベルを取得します
リソース固有の権限
  • get_cluster_permissions:クラスターの権限を取得します
  • set_cluster_permissions:クラスターの権限を設定します
  • update_cluster_permissions:クラスターの権限を更新します
  • get_job_permissions:ジョブの権限を取得します
  • set_job_permissions:ジョブの権限を設定します
  • get_warehouse_permissions:SQL ウェアハウスの権限を取得します
  • get_workspace_object_permissions:ワークスペースオブジェクト(ノートブック、ディレクトリ)の権限を取得します
サービスプリンシパル
  • list_service_principals:ワークスペース内のすべてのサービスプリンシパルを一覧表示します
  • get_service_principal:指定したサービスプリンシパルの詳細を取得します
  • create_service_principal:新しいサービスプリンシパルを作成します
  • update_service_principal:既存のサービスプリンシパルを更新します
  • delete_service_principal:サービスプリンシパルを削除します
Unity Catalog の権限
  • get_catalog_permissions:Unity Catalog カタログの権限を取得します
  • get_schema_permissions:Unity Catalog スキーマの権限を取得します
  • get_table_permissions:Unity Catalog テーブルの権限を取得します
Git 資格情報の管理
  • list_git_credentials:すべての Git 資格情報を一覧表示します
  • create_git_credential:新しい Git 資格情報を作成します
  • update_git_credential:既存の Git 資格情報を更新します
  • delete_git_credential:Git 資格情報を削除します

インストール

前提条件
  • Python 3.10 以降
  • MCP 互換クライアント(例:Claude Desktop)
セットアップ
  1. リポジトリをクローンします。

    git clone https://github.com/yourusername/databricks-permissions-mcp-server.git
    cd databricks-permissions-mcp-server
    
  2. プロジェクトをセットアップします。

    # Create and activate virtual environment
    python -m venv .venv
    
    # On Windows
    .\.venv\Scripts\activate
    
    # On Linux/Mac
    source .venv/bin/activate
    
    # Install dependencies in development mode
    pip install -e .
    
  3. 環境変数を設定します。

    # 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

Claude Desktop での使用

  1. Claude Desktop で「+」ボタンをクリックして、新しいツールを追加します
  2. 「Custom command」を選択します
  3. 「Databricks Permissions」などの名前を入力します
  4. コマンドに python -m src.server.databricks_permissions_mcp_server を入力します
  5. 「Save」をクリックします
  6. 次のようなタスクを Claude に依頼できるようになります。
    • 「Databricks 内のすべての Git 資格情報を一覧表示して」
    • 「クラスター X の権限を表示して」
    • 「ユーザー Z に「CAN_MANAGE」アクセス権を付与するよう、ジョブ Y の権限を更新して」

プロジェクト構成

databricks-permissions-mcp-server/
├── src/                             # Source code
│   ├── api/                         # Databricks API clients
│   │   ├── permissions.py           # Permissions API client
│   │   ├── service_principals.py    # Service principals API client
│   │   ├── unity_catalog.py         # Unity Catalog API client
│   │   ├── shares.py                # Delta Sharing API client
│   │   └── git_credentials.py       # Git credentials API client
│   ├── core/                        # Core functionality
│   ├── server/                      # Server implementation
│   │   ├── databricks_permissions_mcp_server.py # Main MCP server
│   │   └── app.py                   # FastAPI app for tests
│   └── cli/                         # Command-line interface
├── tests/                           # Test directory
├── scripts/                         # Helper scripts
└── pyproject.toml                   # Project configuration

開発

コード規約
  • Python コードは PEP 8 スタイルガイドに準拠し、最大行長は 100 文字です
  • すべてのクラス、メソッド、関数に Google スタイルの docstring を記述してください
  • テストを除くすべてのコードで型ヒントが必須です

テスト

このプロジェクトではテストに pytest を使用します。テストを実行するには、次を実行します。

# Run all tests
pytest tests/

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

ライセンス

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。