基本能力
产品定位
Databricks MCP 是一个基于模型完成协议(MCP)的服务器,专门为 Databricks 设计,允许通过 MCP 协议访问 Databricks 的功能。这使得 LLM 驱动的工具能够与 Databricks 集群、作业、笔记本等进行交互。
核心功能
- MCP 协议支持:实现 MCP 协议,允许 LLM 与 Databricks 交互
- Databricks API 集成:提供对 Databricks REST API 功能的访问
- 工具注册:将 Databricks 功能暴露为 MCP 工具
- 异步支持:使用 asyncio 构建,以提高操作效率
适用场景
- 自动化管理 Databricks 集群
- 运行和监控 Databricks 作业
- 访问和管理 Databricks 笔记本
- 执行 SQL 查询
工具列表
- list_clusters:列出所有 Databricks 集群
- create_cluster:创建新的 Databricks 集群
- terminate_cluster:终止 Databricks 集群
- get_cluster:获取特定 Databricks 集群的信息
- start_cluster:启动已终止的 Databricks 集群
- list_jobs:列出所有 Databricks 作业
- run_job:运行 Databricks 作业
- list_notebooks:列出工作区目录中的笔记本
- export_notebook:从工作区导出笔记本
- list_files:列出 DBFS 路径中的文件和目录
- execute_sql:执行 SQL 语句
常见问题解答
- 如何设置环境变量?
- 在 Windows 上使用
set
命令,在 Linux/Mac 上使用export
命令 - 如何启动 MCP 服务器?
- 运行
./scripts/start_mcp_server.sh
脚本 - 如何与 AI 客户端集成?
- 需要注册服务器并配置 MCP 配置文件
使用教程
使用依赖
- Python 3.10 或更高版本
uv
包管理器(推荐用于 MCP 服务器)
安装教程
- 安装
uv
:
```bash
# MacOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (in PowerShell)
irm https://astral.sh/uv/install.ps1 | iex
```
-
克隆仓库:
bash
git clone https://github.com/markov-kernel/databricks-mcp.git
cd databricks-mcp -
设置项目:
```bash
# 创建并激活虚拟环境
uv venv
# 在 Windows 上
..venv\Scripts\activate
# 在 Linux/Mac 上
source .venv/bin/activate
# 安装依赖
uv pip install -e .
# 安装开发依赖
uv pip install -e ".[dev]"
```
- 设置环境变量:
```bash
# 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
```
调试方式
-
启动 MCP 服务器:
bash
source .venv/bin/activate
./scripts/start_mcp_server.sh -
查询 Databricks 资源:
```bash
# 查看所有集群
uv run scripts/show_clusters.py
# 查看所有笔记本
uv run scripts/show_notebooks.py
```
- 运行测试:
```bash
# 运行所有测试
.\scripts\run_tests.ps1
# 运行特定测试
.\scripts\run_tests.ps1 -Verbose -Coverage tests/test_clusters.py
```