项目简介
Databricks权限管理MCP服务器是一个基于Model Context Protocol (MCP) 构建的后端应用,旨在为大型语言模型(LLM)客户端提供访问和管理Databricks平台权限及相关凭据的能力。通过标准化的MCP协议,该服务器允许LLM应用安全、可扩展地与Databricks权限系统集成,实现自动化权限管理、凭据配置等任务。
主要功能点
- MCP协议支持: 完全实现了Model Context Protocol,能够与任何兼容MCP协议的LLM客户端进行通信。
- Databricks API集成: 深度集成Databricks REST API,提供对Databricks权限管理系统的安全访问。
- 细粒度权限管理: 提供全面的工具,用于管理Databricks各种资源(如集群、作业、SQL仓库、工作区对象等)的权限。
- Git凭据管理: 支持Git凭据的创建、列表、更新和删除,方便LLM应用进行代码仓库操作。
- 异步高效: 基于asyncio异步框架构建,保证服务器高效稳定运行。
提供的工具 (Tools):
服务器提供以下工具,可以通过LLM客户端调用,完成Databricks权限和凭据管理任务:
-
权限管理工具:
- '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', 'set_warehouse_permissions': SQL仓库权限管理
- 'get_workspace_object_permissions', 'set_workspace_object_permissions': 工作区对象权限管理 (笔记本, 目录等)
-
服务主体管理工具:
- 'list_service_principals': 列出服务主体
- 'get_service_principal': 获取服务主体详情
- 'create_service_principal': 创建服务主体
- 'update_service_principal': 更新服务主体
- 'delete_service_principal': 删除服务主体
-
Unity Catalog 权限工具:
- 'get_catalog_permissions': 获取Catalog权限
- 'get_schema_permissions': 获取Schema权限
- 'get_table_permissions': 获取Table权限
-
Git 凭据管理工具:
- 'list_git_credentials': 列出Git凭据
- 'create_git_credential': 创建Git凭据
- 'update_git_credential': 更新Git凭据
- 'delete_git_credential': 删除Git凭据
安装步骤
-
克隆仓库:
git clone https://github.com/JustTryAI/databricks-permissions-mcp-server.git cd databricks-permissions-mcp-server -
配置Python环境:
# 创建并激活虚拟环境 python -m venv .venv source .venv/bin/activate # Linux/Mac .\.venv\Scripts\activate # Windows # 安装依赖 pip install -e . -
配置环境变量:
设置 Databricks 主机和访问令牌。可以通过环境变量或 '.env' 文件配置。
环境变量 (示例):
export DATABRICKS_HOST=https://<your-databricks-instance>.azuredatabricks.net export DATABRICKS_TOKEN=<your-personal-access-token>'.env' 文件 (示例): 在项目根目录下创建 '.env' 文件,内容如下:
DATABRICKS_HOST=https://<your-databricks-instance>.azuredatabricks.net DATABRICKS_TOKEN=<your-personal-access-token>
服务器配置 (MCP 客户端)
以下 JSON 配置信息用于配置 MCP 客户端 (如 Claude Desktop) 连接到 Databricks 权限管理 MCP 服务器。
{ "serverName": "Databricks Permissions MCP Server", "command": "python", "args": ["-m", "src.server.databricks_permissions_mcp_server"] }
配置参数说明:
- 'serverName': 服务器名称,自定义,用于在MCP客户端中标识该服务器。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 传递给 'python' 命令的参数,'-m src.server.databricks_permissions_mcp_server' 表示运行 'src.server.databricks_permissions_mcp_server.py' 模块,即启动 MCP 服务器。
基本使用方法
-
启动服务器: 根据操作系统,运行 'start_mcp_server.sh' (Linux/Mac) 或 'start_mcp_server.ps1' (Windows) 脚本。
-
在 MCP 客户端 (如 Claude Desktop) 中添加工具:
- 点击 "+" 按钮添加新工具。
- 选择 "Custom command" (自定义命令) 类型。
- 输入工具名称,例如 "Databricks Permissions"。
- 将上面提供的服务器配置 JSON 信息填入客户端的配置项中。
- 点击 "Save" (保存)。
-
通过 LLM 客户端调用工具: 现在你可以通过自然语言指令,指示 LLM 客户端调用 Databricks 权限管理 MCP 服务器提供的工具,例如:
- "列出Databricks中所有的Git凭据"
- "查看集群 X 的权限"
- "更新作业 Y 的权限,赋予用户 Z 'CAN_MANAGE' 访问权限"
信息
分类
商业系统