SuperAPI AI 工具集

mcp-databricks-server

mcp-databricks-server 是一个 Model Context Protocol(MCP)服务器,用于连接 Databricks API,让大语言模型能够运行 SQL 查询、列出任务并获取任务状态。它提供 run_sql_query、list_jobs、get_job_status、get_job_details 等工具,支持自然语言与 Databricks 环境交互。

访问官网

工具介绍

用途

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)、运行查询和访问任务的权限。

安装步骤

  1. 克隆此仓库。
  2. 创建并激活虚拟环境(推荐): python -m venv .venv source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
  3. 安装依赖: pip install -r requirements.txt
  4. 在根目录创建 .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
  5. 测试连接(可选但推荐): 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 令牌。
  • 在安全环境中运行此服务器。