🚀 Databricks MCP 服务器
Databricks MCP 服务器是一个基于模型上下文协议(MCP)的服务器,它与 Databricks API 相连,让大语言模型(LLMs)能够运行 SQL 查询、列出作业并获取作业状态,为使用 Databricks 环境提供了便捷的交互方式。
✨ 主要特性
- 可在 Databricks SQL 仓库上运行 SQL 查询。
- 能够列出所有 Databricks 作业。
- 可以获取特定 Databricks 作业的状态。
- 支持获取有关特定 Databricks 作业的详细信息。
📦 安装指南
先决条件
- Python 3.7 及以上版本。
- 带有以下配置的 Databricks 工作区:
- 个人访问令牌。
- SQL 仓库端点。
- 运行查询和访问作业的权限。
安装步骤
- 克隆此存储库。
- 创建并激活虚拟环境(推荐):
python -m venv .venv
source .venv/bin/activate
- 安装依赖项:
pip install -r requirements.txt
- 在根目录下创建一个
.env 文件,包含以下变量:DATABRICKS_HOST=your-databricks-instance.cloud.databricks.com
DATABRICKS_TOKEN=your-personal-access-token
DATABRICKS_HTTP_PATH=/sql/1.0/warehouses/your-warehouse-id
- 测试您的连接(可选但推荐):
python test_connection.py
获取 Databricks 凭证
- 主机:您的 Databricks 实例 URL(例如
your-instance.cloud.databricks.com)。
- 令牌:在 Databricks 中创建个人访问令牌:
- 转到用户设置(点击右上角的用户名)。
- 选择“开发者”选项卡。
- 在“访问令牌”下点击“管理”。
- 生成新令牌并立即保存。
- HTTP 路径:对于您的 SQL 仓库:
- 转到 Databricks 中的 SQL 仓库。
- 选择您的仓库。
- 查找连接详细信息并复制 HTTP 路径。
💻 使用示例
基础用法
启动 MCP 服务器:
python main.py
高级用法
您可以使用 inspector 测试此 MCP 服务器,运行:
npx @modelcontextprotocol/inspector python3 main.py
与大语言模型结合使用示例
当与支持 MCP 协议的大语言模型一起使用时,此服务器使您能够以自然语言与您的 Databricks 环境交互:
- “显示数据库中的所有表”
- “运行查询以查看客户表中的记录数”
- “列出我的所有 Databricks 作业”
- “检查作业 #123 的状态”
- “显示作业 #456 的详细信息”
🔧 技术细节
可用的 MCP 工具
以下 MCP 工具可用:
- run_sql_query(sql: str) - 在您的 Databricks SQL 仓库上执行 SQL 查询。
- list_jobs() - 列出工作区中的所有 Databricks 作业。
- get_job_status(job_id: int) - 通过作业 ID 获取特定 Databricks 作业的状态。
- get_job_details(job_id: int) - 获取特定 Databricks 作业的详细信息。
故障排除
连接问题
- 确保您的 Databricks 主机正确且不包含
https:// 前缀。
- 检查您的 SQL 仓库是否正在运行且可访问。
- 验证个人访问令牌具有必要的权限。
- 运行 included 测试脚本:
python test_connection.py。
安全注意事项
- 您的 Databricks 个人访问令牌提供对工作区的直接访问。
- 确保您的
.env 文件安全且从未提交到版本控制。
- 考虑使用具有适当权限范围的 Databricks 令牌。
- 在安全的环境中运行此服务器。