用途
mcp-databricks-server 是一个 Model Context Protocol(MCP)服务器,用于连接 Databricks API。它使大语言模型(LLM)能够运行 SQL 查询、列出 Databricks 任务以及获取任务状态,从而通过自然语言与 Databricks 环境交互。
主要能力
该服务器提供以下 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 工作区,并具备:个人访问令牌(Personal access token)、SQL 仓库端点(SQL warehouse endpoint)、运行查询和访问任务的权限。
安装步骤
- 克隆此仓库。
- 创建并激活虚拟环境(推荐): python -m venv .venv source .venv/bin/activate # 在 Windows 上:.venv\Scripts\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 凭据
- Host:您的 Databricks 实例 URL(例如 your-instance.cloud.databricks.com)。
- Token:在 Databricks 中创建个人访问令牌:转到用户设置(点击右上角用户名),选择“Developer”选项卡,点击“Access tokens”下的“Manage”,生成新令牌并立即保存。
- HTTP Path:对于您的 SQL 仓库:转到 SQL Warehouses,选择您的仓库,查找连接详细信息并复制 HTTP Path。
运行服务器
启动 MCP 服务器。您可以使用 inspector 测试 MCP 服务器。
适用场景
当与支持 MCP 协议的 LLM 一起使用时,此服务器可实现与 Databricks 环境的自然语言交互,例如:
- “显示数据库中的所有表”
- “运行查询以统计 customer 表中的记录数”
- “列出我所有的 Databricks 任务”
- “检查任务 #123 的状态”
- “显示任务 #456 的详细信息”
限制与注意事项
故障排除
- 连接问题:确保 Databricks 主机正确且不包含 https:// 前缀;检查 SQL 仓库正在运行且可访问;验证个人访问令牌具有必要权限;运行包含的测试脚本:python test_connection.py。
安全考虑
- 您的 Databricks 个人访问令牌提供对工作区的直接访问。
- 保护您的 .env 文件,切勿将其提交到版本控制。
- 考虑仅使用具有适当权限范围的 Databricks 令牌。
- 在安全环境中运行此服务器。