Databricks Permissions MCP Server

Databricks Permissions MCP Server

site icon
2025.03.18 0
Python权限管理Git凭证管理Databricks集成开发效率数据库
Databricks Permissions MCP Server 是一个基于模型完成协议(MCP)的服务器,旨在通过MCP协议提供对Databricks权限、凭证和Git凭证的访问。该服务器允许像Claude这样的LLM工具与Databricks权限管理系统进行交互。 ### 核心功能 - **MCP协议支持**:实现MCP协议,允许LLMs管理Databricks权限。 - **Databricks API集成**:提供对Databricks权限REST API的安全访问。 - **权限管理**:全面的工具,用于管理各种Databricks资源的权限。 - **Git凭证管理**:创建、列出、更新和删除Git凭证的工具。 - **异步支持**:基于asyncio构建,运行高效。 ### 适用场景 - 需要自动化管理Databricks权限的场景。 - 需要集成LLM工具(如Claude)进行权限管理的场景。 - 需要管理Git凭证的场景。
View on GitHub

Overview

基本能力

产品定位

Databricks Permissions MCP Server 是一个基于MCP协议的服务器,旨在通过LLM工具(如Claude)自动化管理Databricks权限和Git凭证。

核心功能

  • MCP协议支持:实现MCP协议,允许LLMs管理Databricks权限。
  • Databricks API集成:提供对Databricks权限REST API的安全访问。
  • 权限管理:全面的工具,用于管理各种Databricks资源的权限。
  • Git凭证管理:创建、列出、更新和删除Git凭证的工具。
  • 异步支持:基于asyncio构建,运行高效。

适用场景

  • 需要自动化管理Databricks权限的场景。
  • 需要集成LLM工具(如Claude)进行权限管理的场景。
  • 需要管理Git凭证的场景。

工具列表

权限管理

  • 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. 克隆仓库: bash git clone https://github.com/yourusername/databricks-permissions-mcp-server.git cd databricks-permissions-mcp-server

  2. 设置项目: ```bash # 创建并激活虚拟环境 python -m venv .venv

# Windows ..venv\Scripts\activate

# Linux/Mac source .venv/bin/activate

# 安装依赖(开发模式) pip install -e . ```

  1. 设置环境变量: ```bash # 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服务器:

# Windows
.\start_mcp_server.ps1

# Linux/Mac
./start_mcp_server.sh

与Claude Desktop一起使用: 1. 在Claude Desktop中,点击“+”按钮添加新工具。 2. 选择“自定义命令”。 3. 输入名称如“Databricks Permissions”。 4. 在命令中输入:python -m src.server.databricks_permissions_mcp_server。 5. 点击“保存”。 6. 现在可以要求Claude执行任务,例如: - "List all Git credentials in Databricks" - "Show permissions for cluster X" - "Update permissions for job Y to give user Z 'CAN_MANAGE' access"

许可证

该项目遵循 MIT 开源许可条款。