使用说明
项目简介
Databricks MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端应用,它充当大型语言模型 (LLM) 与 Databricks 数据分析平台之间的桥梁。通过此服务器,LLM 应用能够以标准化的方式安全、可扩展地访问和操作 Databricks 的各项服务,例如集群管理、作业调度、Notebook 操作和 DBFS 文件系统访问等。
主要功能点
- MCP 协议支持: 完全实现了 Model Context Protocol,确保与 MCP 客户端的无缝集成和标准化通信。
- Databricks API 集成: 深度整合了 Databricks REST API,将 Databricks 的强大功能转化为可被 LLM 调用的工具。
- 工具注册: 将 Databricks 的各项功能以 MCP 工具的形式暴露出来,方便 LLM 按需调用,执行如集群管理、作业运行、Notebook 操作和 SQL 查询等任务。
- 异步支持: 基于 asyncio 异步框架构建,保证服务器的高效运行和并发处理能力。
- 丰富的工具集: 预置了大量实用的 Databricks 工具,包括:
- 集群管理工具:列出、创建、启动、终止、获取集群信息等。
- 作业管理工具:列出、运行 Databricks 作业。
- Notebook 管理工具:列出、导出 Notebook。
- DBFS 文件系统工具:列出 DBFS 路径下的文件和目录。
- SQL 执行工具:执行 SQL 查询语句。
安装步骤
-
环境准备:
- 确保已安装 Python 3.10 或更高版本。
- 推荐使用 'uv' 包管理器,如果未安装请先安装 'uv'。安装命令(根据操作系统选择):
安装完成后,重启终端。# MacOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows (在 PowerShell 中) irm https://astral.sh/uv/install.ps1 | iex
-
克隆仓库:
git clone https://github.com/markov-kernel/databricks-mcp.git cd databricks-mcp -
项目设置:
# 创建并激活虚拟环境 uv venv # Windows .\.venv\Scripts\activate # Linux/Mac source .venv/bin/activate # 安装项目依赖(开发模式) uv pip install -e . -
配置环境变量:
- 设置 Databricks 主机和访问令牌。可以通过以下两种方式配置:
- 方式一:直接设置环境变量
# 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' 文件 复制仓库中的 '.env.example' 文件并重命名为 '.env',然后根据提示修改文件中的 'DATABRICKS_HOST' 和 'DATABRICKS_TOKEN'。
- 方式一:直接设置环境变量
- 设置 Databricks 主机和访问令牌。可以通过以下两种方式配置:
服务器配置
MCP 客户端需要配置以下 JSON 信息才能连接到 Databricks MCP 服务器。请根据您的操作系统选择合适的启动命令和参数:
{ "serverName": "databricks-mcp", "command": "pwsh", // 启动服务器的命令,Windows 系统使用 pwsh (PowerShell) "args": [ // 启动命令的参数 "-File", "./start_mcp_server.ps1" // Windows 系统启动脚本路径 ], "env": { // (可选) 环境变量,如果已经在系统环境中设置,可以省略 "DATABRICKS_HOST": "https://your-databricks-instance.azuredatabricks.net", // 您的 Databricks 主机地址 "DATABRICKS_TOKEN": "your-personal-access-token" // 您的 Databricks 个人访问令牌 } }
或者,如果您在 Linux/Mac 系统上运行:
{ "serverName": "databricks-mcp", "command": "bash", // 启动服务器的命令,Linux/Mac 系统使用 bash "args": [ // 启动命令的参数 "./start_mcp_server.sh" // Linux/Mac 系统启动脚本路径 ], "env": { // (可选) 环境变量,如果已经在系统环境中设置,可以省略 "DATABRICKS_HOST": "https://your-databricks-instance.azuredatabricks.net", // 您的 Databricks 主机地址 "DATABRICKS_TOKEN": "your-personal-access-token" // 您的 Databricks 个人访问令牌 } }
注意:
- 请将 'https://your-databricks-instance.azuredatabricks.net' 替换为您的实际 Databricks 主机地址。
- 请将 'your-personal-access-token' 替换为您的 Databricks 个人访问令牌。
- 'env' 部分是可选的,如果 'DATABRICKS_HOST' 和 'DATABRICKS_TOKEN' 已经作为系统环境变量设置,则可以省略 'env' 配置。
基本使用方法
-
启动服务器:
- 在项目根目录下,根据您的操作系统运行相应的启动脚本:
# Windows .\start_mcp_server.ps1 # Linux/Mac ./start_mcp_server.sh - 服务器启动后,将监听 MCP 客户端的连接。
- 在项目根目录下,根据您的操作系统运行相应的启动脚本:
-
使用 MCP 客户端连接并调用工具:
- 使用任何兼容 MCP 协议的客户端(例如 'mcp-cli' 或集成 MCP 客户端的 LLM 应用)。
- 配置客户端连接信息,指向正在运行的 Databricks MCP 服务器。
- 通过客户端发送 MCP 请求,例如列出集群、运行作业等。
- 服务器将处理请求,调用 Databricks API,并将结果以 MCP 响应格式返回给客户端。
例如,使用 'mcp-cli' 可以列出所有可用的工具:
mcp --server-config='{"serverName": "databricks-mcp", "command": "bash", "args": ["./start_mcp_server.sh"]}' list-tools
更多工具的使用方法,请参考仓库 'README.md' 文件中 "Available Tools" 部分的描述,并在 MCP 客户端中调用相应的工具名称和参数。
信息
分类
开发者工具