🚀 Databricks 权限 MCP 服务器
Databricks 权限 MCP 服务器是一个实现 MCP 协议的服务器,它提供了对 Databricks 权限、凭证和 Git 凭证的安全访问途径。借助该服务器,像 Claude 这样由大语言模型(LLM)驱动的工具能够与 Databricks 权限管理系统进行交互,极大地提升了权限管理的便捷性和安全性。
🚀 快速开始
Databricks 权限 MCP 服务器为您提供了对 Databricks 权限、凭证和 Git 凭证的安全访问能力。通过实现 MCP 协议,它允许像 Claude 这样的 LLM 驱动工具与 Databricks 权限管理系统进行交互。
✨ 主要特性
- MCP 协议支持:实现 MCP 协议,使得 LLM 能够对 Databricks 权限进行管理。
- Databricks API 集成:提供安全的方式来访问 Databricks 权限 REST API。
- 权限管理:作为全面的工具,可对各种 Databricks 资源的权限进行管理。
- Git 凭证管理:提供创建、列出、更新和删除 Git 凭证的功能。
- 异步支持:利用 asyncio 实现高效运行,提升系统性能。
📦 安装指南
前置要求
- Python 3.10 或更高版本
- MCP 协议兼容工具
安装步骤
pip install databricks-permissions-mcp-server
💻 使用示例
基础用法
以下是获取 Databricks 对象权限的示例:
from databricks_permissions_mcp_server import get_permissions
object_id = "your_object_id"
permissions = get_permissions(object_id)
print(permissions)
高级用法
以下是创建新服务主体的示例:
from databricks_permissions_mcp_server import create_service_principal
service_principal_info = {
"display_name": "new_service_principal",
"application_id": "your_application_id"
}
new_service_principal = create_service_principal(service_principal_info)
print(new_service_principal)
📚 详细文档
Databricks 权限 MCP 服务器公开了以下工具:
权限管理
- 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 凭证
🔧 技术细节
代码标准
- 遵循 PEP 8 代码风格指南,最大行长为 100 字符。
- 所有类、方法和函数都需要带有 Google 样式的文档字符串,以确保代码的可读性和可维护性。
- 所有代码(除测试外)都必须使用类型提示,提高代码的健壮性。
测试
项目使用 pytest 进行测试。要运行测试,可使用以下命令:
pytest tests/
pytest --cov=src tests/ --cov-report=term-missing
📄 许可证
本项目在 MIT 许可证下发布,详细信息请参阅 LICENSE 文件。