Databricks MCP Server

by JordiNeil
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Connects to Databricks API, allowing SQL query execution on Databricks warehouses, listing of jobs, retrieving job status, and accessing detailed job information.

Databricks MCP 服务器

连接到 Databricks API 的模型上下文协议 (MCP) 服务器,允许 LLM 运行 SQL 查询、列出作业和获取作业状态。

特征

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

先决条件

  • Python 3.7+
  • Databricks 工作区具有:
    • 个人访问令牌
    • SQL 仓库端点
    • 运行查询和访问作业的权限

设置

  1. 克隆此存储库
  2. 创建并激活虚拟环境(推荐):
    python -m venv .venv source .venv/bin/activate # On 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. 主机:您的 Databricks 实例 URL(例如, your-instance.cloud.databricks.com
  2. 令牌:在 Databricks 中创建个人访问令牌:
    • 转到用户设置(单击右上角的用户名)
    • 选择“开发者”选项卡
    • 点击“访问令牌”下的“管理”
    • 生成新的token,并立即保存
  3. HTTP 路径:对于您的 SQL 仓库:
    • 前往 Databricks 中的 SQL 仓库
    • 选择您的仓库
    • 找到连接详细信息并复制 HTTP 路径

运行服务器

启动 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 作业的详细信息

LLM 用法示例

当与支持 MCP 协议的 LLM 一起使用时,此服务器可实现与 Databricks 环境的自然语言交互:

  • “显示数据库中的所有表”
  • “运行查询来计算客户表中的记录数”
  • “列出我所有的 Databricks 作业”
  • “检查作业 #123 的状态”
  • “显示有关作业 #456 的详细信息”

故障排除

连接问题

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

安全注意事项

  • 您的 Databricks 个人访问令牌可直接访问您的工作区
  • 保护你的.env文件,切勿将其提交到版本控制
  • 考虑仅使用具有适当权限范围的 Databricks 令牌
  • 在安全的环境中运行此服务器
-
security - not tested
F
license - not found
-
quality - not tested

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

  1. Features
    1. Prerequisites
      1. Setup
        1. Obtaining Databricks Credentials
      2. Running the Server
        1. Available MCP Tools
          1. Example Usage with LLMs
            1. Troubleshooting
              1. Connection Issues
            2. Security Considerations
              ID: gslv6zuxt9