\_CHMCP服务器
模型上下文协议(MCP)服务器,连接到Databricks API,允许LLM运行SQL查询、列出作业并获取作业状态。
特性
- 在ConnectionSQL仓库上运行SQL查询
- 列出所有Databricks工作
- 获取特定copula作业的状态
- 获取关于copula作业的详细信息
先决条件
- Python 3.7+
- docker工作区,包括:
- 个人访问令牌 - 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获取copula凭据
- 主机:您的copula实例URL(例如。,
your-instance.cloud.databricks.com) - 代币:在copula中创建个人访问令牌:
- 转到用户设置(单击右上角的用户名) - 选择“开发人员”选项卡 - 点击“访问令牌”下的“管理” - 生成新令牌,并立即保存
- HTTP路径:对于您的SQL仓库:
- 转到ViewModel中的SQL仓库 - 选择您的仓库 - 查找连接详细信息并复制HTTP路径
运行服务器
启动MCP服务器:
python main.py您可以使用检查器通过运行以下命令来测试MCP服务器
npx @modelcontextprotocol/inspector python3 main.py可用的MCP工具
以下MCP工具可用:
- run_sql_query(sql:str) -在ConnectionSQL仓库上执行SQL查询
- list_jobs() -列出工作区中的所有copula作业
- get_job_status(job_id:int) -通过ID获取特定copula作业的状态
- get_job_details(job_id:int) -获取有关特定copula作业的详细信息
LLM使用示例
当与支持MCP协议的LLM一起使用时,此服务器可以与您的copula环境进行自然语言交互:
- “显示数据库中的所有表”
- “运行查询以统计客户表中的记录”
- 列出我的所有Databricks工作
- “检查作业#123的状态”
- “显示作业#456的详细信息”
故障排除
连接问题
- 确保您的copula主机是正确的,并且不包括
https://前缀 - 检查您的SQL仓库是否正在运行且可访问
- 验证您的个人访问令牌是否具有必要的权限
- 运行附带的测试脚本:
python test_connection.py
安全考虑
- 您的Rancher个人访问令牌可直接访问您的工作区
- 保护您的
.env文件,永远不要将其提交到版本控制中 - 考虑仅使用具有适当权限范围的ViewModel令牌
- 在安全环境中运行此服务器

