
Databricks Genie API MCP Server

2025.04.18
0
Python数据查询AI集成BI工具开发效率数据库
Databricks Genie API MCP Server 是一个基于 Model Context Protocol (MCP) 的服务,它将 Databricks Genie API 的功能暴露为工具,允许用户通过标准化接口将 Databricks 的无代码 AI/BI 助手功能集成到其他应用程序中。该服务支持自然语言查询 Databricks 数据,管理 Genie 对话,创建和检索消息,执行和获取 SQL 查询结果等功能。
View on GitHub
Overview
基本能力
产品定位
Databricks Genie API MCP Server 是一个中间件服务,旨在通过 MCP 协议将 Databricks Genie API 的功能集成到其他应用程序中,提供自然语言查询和数据管理能力。
核心功能
- 将 Databricks Genie API 功能暴露为 MCP 工具
- 支持自然语言查询 Databricks 数据
- 启动和管理 Genie 对话
- 创建和检索消息
- 执行和获取 SQL 查询结果
- 安全的 Databricks 认证
适用场景
- 通过自然语言查询 Databricks 数据
- 集成 Databricks Genie 功能到其他应用程序
- 自动化数据分析和报告生成
工具列表
start_conversation
: 在 Genie 空间中启动新对话create_message
: 在现有对话中创建新消息get_message
: 从对话中检索消息get_message_attachment_query_result
: 从消息附件获取 SQL 查询结果execute_message_attachment_query
: 执行消息查询附件的 SQLget_space
: 获取 Genie 空间的详细信息generate_download_full_query_result
: 启动完整查询结果下载poll_message_until_complete
: 轮询消息直到达到终端状态
常见问题解答
- 认证问题: 检查 Databricks 凭据(
.env
文件或环境变量)和权限 - 连接问题: 确保
claude_desktop_config.json
中的路径正确,Python 解释器有效 - SQL 执行错误: 确保服务主体或用户具有 SQL 仓库的 CAN USE 权限和相关 Unity Catalog 数据访问权限
使用教程
使用依赖
- Python 3.10+
- 启用了 Genie 访问和系统表的 Databricks 工作区
- 启用了 Databricks Assistant
- 在 Pro 或 Serverless SQL 仓库上的 CAN USE 权限
- 访问与 Genie 空间相关的 Unity Catalog 数据
- MCP 兼容的客户端应用程序(如 Claude Desktop)
安装教程
- 克隆仓库
bash git clone <repository-url>
- 导航到服务器目录
bash cd genie_api
- 安装依赖
bash pip install -r requirements.txt
- 配置认证
创建
.env
文件并设置以下环境变量:bash DATABRICKS_HOST=https://your-workspace.cloud.databricks.com DATABRICKS_TOKEN=your-personal-access-token
或使用 OAuth:bash DATABRICKS_HOST=https://your-workspace.cloud.databricks.com DATABRICKS_CLIENT_ID=your-client-id DATABRICKS_CLIENT_SECRET=your-client-secret
- 运行服务器
bash python server.py
调试方式
- 手动运行
python server.py
检查错误 - 检查 Claude Desktop 日志(
~/Library/Logs/Claude/
或%APPDATA%\Claude\logs
) - 查找
mcp.log
和mcp-server-databricks-genie.log
文件