关于 Databricks Permissions MCP Server
Databricks Permissions MCP Server 为使用 LLM 的工具提供 Databricks 权限和凭据管理能力。它包含资源权限操作、服务主体管理、Unity Catalog 权限及 Git 凭据管理。
主要功能
- 01查看和更改资源权限
- 02管理集群和作业权限
- 03管理服务主体
- 04管理 Unity Catalog 权限
- 05创建和管理 Git 凭据
- 06异步访问 Databricks API
适用场景
- 01检查工作区对象的权限
- 02更改集群或作业的访问权限
- 03管理服务主体
- 04更新已保存的 Git 凭据
MCP 相关
将 Databricks 权限、服务主体、Unity Catalog 和 Git 凭据操作作为工具提供给 MCP 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Databricks Permissions MCP Server
一个通过 MCP 协议提供 Databricks 权限、凭据和 Git 凭据访问能力的模型补全协议(MCP)服务。这使 Claude 等由大模型驱动的工具能够与 Databricks 权限管理系统交互。
功能
- MCP 协议支持:实现 MCP 协议,使大模型能够管理 Databricks 权限
- 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 warehouse 的权限
- 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)
设置
-
克隆仓库:
git clone https://github.com/yourusername/databricks-permissions-mcp-server.git cd databricks-permissions-mcp-server -
设置项目:
# 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 . -
设置环境变量:
# 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 配合使用
- 在 Claude Desktop 中,点击“+”按钮添加新工具
- 选择“自定义命令”
- 输入名称,例如“Databricks Permissions”
- 在命令栏中输入:
python -m src.server.databricks_permissions_mcp_server - 点击“保存”
- 现在可以让 Claude 执行以下任务:
- “列出 Databricks 中的所有 Git 凭据”
- “显示集群 X 的权限”
- “将作业 Y 的权限更新为授予用户 Z 'CAN_MANAGE' 访问权限”
项目结构
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 风格的文档字符串
- 除测试外,所有代码都必须使用类型提示
测试
项目使用 pytest 进行测试。运行测试:
# Run all tests
pytest tests/
# Run with coverage report
pytest --cov=src tests/ --cov-report=term-missing
许可证
本项目采用 MIT License 许可协议,详情请参阅 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。