
Databricks Permissions MCP Server

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)。
安装教程
-
克隆仓库:
bash git clone https://github.com/yourusername/databricks-permissions-mcp-server.git cd databricks-permissions-mcp-server
-
设置项目: ```bash # 创建并激活虚拟环境 python -m venv .venv
# Windows ..venv\Scripts\activate
# Linux/Mac source .venv/bin/activate
# 安装依赖(开发模式) pip install -e . ```
- 设置环境变量: ```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"