D

Databricks交互管理服务器

@JordiNeil/mcp-databricks-server
0 Stars 382 次浏览 JordiNeil 更新于 2026-08-23

一种模型上下文协议服务器,使大型语言模型能够通过自然语言与Databricks工作区交互,从而实现SQL查询执行和作业管理操作。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Databricks MCP 服务器

一个连接到 Databricks API 的 Model Context Protocol (MCP) 服务器,允许 LLMs 运行 SQL 查询、列出作业并获取作业状态。

功能

  • 在 Databricks SQL 仓库上运行 SQL 查询
  • 列出所有 Databricks 作业
  • 获取特定 Databricks 作业的状态
  • 获取关于 Databricks 作业的详细信息

前提条件

  • Python 3.7+
  • Databricks 工作区,包含以下内容:
    • 个人访问令牌
    • SQL 仓库端点
    • 执行查询和访问作业的权限

设置

  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 凭证

  1. Host:您的 Databricks 实例 URL(例如 your-instance.cloud.databricks.com
  2. Token:在 Databricks 中创建个人访问令牌:
    • 转到用户设置(点击右上角的用户名)
    • 选择“Developer”选项卡
    • 点击“Access tokens”下的“Manage”
    • 生成一个新的令牌,并立即保存
  3. HTTP Path:对于您的 SQL 仓库:
    • 转到 Databricks 中的 SQL 仓库
    • 选择您的仓库
    • 查找连接详情并复制 HTTP Path

运行服务器

启动 MCP 服务器:

python main.py

您可以使用检查器测试 MCP 服务器,运行:

npx @modelcontextprotocol/inspector python3 main.py

可用的 MCP 工具

以下是可用的 MCP 工具:

  1. run_sql_query(sql: str) - 在您的 Databricks SQL 仓库上执行 SQL 查询
  2. list_jobs() - 列出工作区中的所有 Databricks 作业
  3. get_job_status(job_id: int) - 通过 ID 获取特定 Databricks 作业的状态
  4. get_job_details(job_id: int) - 获取特定 Databricks 作业的详细信息

使用 LLMs 的示例

当与支持 MCP 协议的 LLMs 一起使用时,此服务器使您能够以自然语言与 Databricks 环境进行交互:

  • "显示数据库中的所有表"
  • "运行查询以统计 customer 表中的记录数"
  • "列出我的所有 Databricks 作业"
  • "检查作业 #123 的状态"
  • "显示关于作业 #456 的详细信息"

故障排除

连接问题

  • 确保您的 Databricks 主机正确且不包含 https:// 前缀
  • 检查您的 SQL 仓库是否正在运行且可访问
  • 验证您的个人访问令牌具有必要的权限
  • 运行随附的测试脚本:python test_connection.py

安全考虑

  • 您的 Databricks 个人访问令牌提供了直接访问您的工作区的权限
  • 确保您的 .env 文件安全,并且永远不要将其提交到版本控制中
  • 考虑仅使用具有适当权限范围的 Databricks 令牌
  • 在安全的环境中运行此服务器

相关 MCP 服务