Databricks MCP 服务器
连接到 Databricks API 的模型上下文协议 (MCP) 服务器,允许 LLM 运行 SQL 查询、列出作业和获取作业状态。
特征
在 Databricks SQL 仓库上运行 SQL 查询
列出所有 Databricks 职位
获取特定 Databricks 作业的状态
获取有关 Databricks 职位的详细信息
Related MCP server: Databricks MCP Server
先决条件
Python 3.7+
Databricks 工作区具有:
个人访问令牌
SQL 仓库端点
运行查询和访问作业的权限
设置
克隆此存储库
创建并激活虚拟环境(推荐):
python -m venv .venv source .venv/bin/activate # On 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 凭证
主机:您的 Databricks 实例 URL(例如,
your-instance.cloud.databricks.com)令牌:在 Databricks 中创建个人访问令牌:
转到用户设置(单击右上角的用户名)
选择“开发者”选项卡
点击“访问令牌”下的“管理”
生成新的token,并立即保存
HTTP 路径:对于您的 SQL 仓库:
前往 Databricks 中的 SQL 仓库
选择您的仓库
找到连接详细信息并复制 HTTP 路径
运行服务器
启动 MCP 服务器:
您可以通过运行以下命令使用检查器测试 MCP 服务器
可用的 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 作业的详细信息
LLM 用法示例
当与支持 MCP 协议的 LLM 一起使用时,此服务器可实现与 Databricks 环境的自然语言交互:
“显示数据库中的所有表”
“运行查询来计算客户表中的记录数”
“列出我所有的 Databricks 作业”
“检查作业 #123 的状态”
“显示有关作业 #456 的详细信息”
故障排除
连接问题
确保您的 Databricks 主机正确并且不包含
https://前缀检查您的 SQL 仓库是否正在运行且可访问
验证您的个人访问令牌是否具有必要的权限
运行包含的测试脚本:
python test_connection.py
安全注意事项
您的 Databricks 个人访问令牌可直接访问您的工作区
保护你的
.env文件,切勿将其提交到版本控制考虑仅使用具有适当权限范围的 Databricks 令牌
在安全的环境中运行此服务器