关于 🚀 MCP Databricks
MCP Databricks 是一个用 Python 编写的 MCP 服务,为 AI 助手提供 Databricks 工作区管理与查询能力。它涵盖集群、SQL 仓库、命令执行和工作区对象操作,并支持 Docker 或 uv 部署。
主要功能
- 01列出、创建和管理集群
- 02安装集群库并执行命令
- 03管理 SQL 仓库
- 04导入和管理工作区对象
适用场景
- 01查看或启动 Databricks 集群
- 02在集群上运行 Python、Scala 或 SQL
- 03管理工作区中的笔记本和文件
- 04通过 SQL 仓库开展查询工作
MCP 相关
该 MCP 服务通过 stdio 与 Claude Desktop 等 MCP 客户端连接,提供 Databricks 集群、命令执行、SQL 仓库和工作区管理工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🚀 MCP Databricks
通过 Model Context Protocol 为 AI 助手提供强大的 Databricks 集成
📖 简介
MCP Databricks 通过 Model Context Protocol(MCP)将 AI 助手与 Databricks 工作区无缝连接。它使用 Python 构建,提供了丰富的工具集,可管理 Databricks 环境的几乎所有方面。
借助此服务,Claude 等 AI 助手可以:
- 🔧 精准管理计算资源
- 📊 执行 SQL 查询并分析结果
- 📁 整理和操作工作区对象
- ✨ 还有更多功能!
🔍 前置条件
- 🐍 Python 3.11 或更高版本
- 💻 Databricks 工作区
- 🔑 Databricks 个人访问令牌(PAT)
- 📦 所需的 Python 软件包(在设置过程中安装)
🚀 快速开始
1️⃣ 克隆代码仓库
git clone https://github.com/leminkhoa/databricks-mcp
cd databricks-mcp
2️⃣ 配置环境变量
在项目根目录创建 .env 文件,并填入 Databricks 凭据:
# Databricks API Configuration
DATABRICKS_HOST="https://adb-<your workspace uri>.azuredatabricks.net/"
DATABRICKS_TOKEN="dapi_<your_token_here>"
# Server Configuration
SERVER_HOST="0.0.0.0"
SERVER_PORT="8000"
DEBUG="false"
TRANSPORT="stdio"
# Logging Configuration
LOG_LEVEL="INFO"
💡 提示: 如需进一步说明,可以使用
env.sample文件作为模板。
3️⃣ 选择安装方式
你可以通过两种方式使用 MCP Databricks:
选项 A:Docker(推荐用于生产环境)
- 构建 Docker 镜像:
docker build -t databricks-mcp .
- 在 Cursor 中使用以下
mcp.json条目进行配置:
{
"databricks-mcp-docker": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--name", "databricks-mcp",
"--env-file", "<path/to/.env>",
"databricks-mcp"
]
}
}
💡 注意: 将
<path/to/.env>替换为.env文件的绝对路径。
选项 B:使用 uv 本地安装
- 安装 uv(如果尚未安装):
curl -LsSf https://astral.sh/uv/install.sh | sh
💡 注意: 其他安装方式请参阅 uv 安装文档。
- 设置虚拟环境:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
- 使用 uv 安装依赖项:
uv sync
- 在 Cursor 中使用以下
mcp.json条目进行配置:
{
"databricks-mcp-stdio": {
"command": "uv",
"args": [
"--directory",
"<repository directory>",
"run",
"main.py"
]
}
}
💡 注意: 将
<repository directory>替换为已克隆代码仓库的绝对路径。
🚀 使用方法
运行 MCP 服务
如果不使用 Docker 或 Cursor 集成,请通过以下命令启动服务:
python main.py
或
uv run main.py
连接到 Claude 或其他 MCP 客户端
此服务使用 stdio 传输,可与 Claude Desktop 及其他 MCP 客户端无缝兼容。安装服务后,你可以立即使用首选的 MCP 客户端连接到它。
🧰 工具与功能
MCP Databricks 服务提供了一套全面的工具,可用于管理 Databricks 环境:
💻 集群管理
| 工具 | 描述 |
|---|---|
list_clusters | 列出工作区中的所有 Databricks 集群 |
create_cluster | 使用可自定义的设置创建新的 Databricks 集群 |
delete_cluster | 根据 ID 删除 Databricks 集群 |
start_cluster | 启动已终止的 Databricks 集群 |
list_node_types | 列出 Databricks 集群所有可用的节点类型 |
list_spark_versions | 列出 Databricks 集群所有可用的 Spark 版本 |
get_cluster | 获取特定 Databricks 集群的详细信息 |
📦 库管理
| 工具 | 描述 |
|---|---|
install_libraries | 在运行中的集群上安装库(JAR、WHL、PyPI、Maven、CRAN 等) |
🖥️ 命令执行
| 工具 | 描述 |
|---|---|
execute_command | 在运行中的 Databricks 集群上执行命令(Python、Scala、SQL) |
create_execution_context | 为交互式命令会话创建执行上下文 |
📊 SQL 仓库管理
| 工具 | 描述 |
|---|---|
list_sql_warehouses | 列出工作区中的所有 SQL 仓库 |
create_sql_warehouse | 使用可配置的大小和设置创建新的 SQL 仓库 |
📁 工作区对象
| 工具 | 描述 |
|---|---|
delete_workspace_object | 从 Databricks 工作区删除对象 |
get_workspace_object_status | 获取 Databricks 工作区中对象的状态 |
import_workspace_object | 将对象(笔记本、文件等)导入工作区 |
create_workspace_directory | 在 Databricks 工作区创建目录 |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。