Databricks Genie API MCP Server

Databricks Genie API MCP Server

site icon
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: 执行消息查询附件的 SQL
  • get_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)

安装教程

  1. 克隆仓库 bash git clone <repository-url>
  2. 导航到服务器目录 bash cd genie_api
  3. 安装依赖 bash pip install -r requirements.txt
  4. 配置认证 创建 .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
  5. 运行服务器 bash python server.py

调试方式

  • 手动运行 python server.py 检查错误
  • 检查 Claude Desktop 日志(~/Library/Logs/Claude/%APPDATA%\Claude\logs
  • 查找 mcp.logmcp-server-databricks-genie.log 文件

许可证

该项目遵循 Other 开源许可条款,请参阅 Other 了解完整条款。