SuperAPI AI 工具集

databricks-genie-MCP

databricks-genie-MCP 是一个连接 Databricks Genie API 的 Model Context Protocol(MCP)服务器,让大语言模型能够用自然语言提问、运行 SQL 查询,并与 Databricks 对话式智能体交互。它支持列出 Genie 空间、获取空间元数据、发起新对话、追问以及以结构化格式获取 SQL 和结果表格,需配合具备个人访问令牌、已启用 Genie API 并拥有访问权限的 Databricks 工作区使用。

访问官网

工具介绍

databricks-genie-MCP 是一个 Model Context Protocol(MCP)服务器,用于连接 Databricks Genie API。通过它,大语言模型可以提出自然语言问题、运行 SQL 查询,并与 Databricks 的对话式智能体进行交互。

主要能力包括:列出 Databricks 工作区中可用的 Genie 空间(目前为手动或使用资源方式);获取特定 Genie 空间的元数据(标题、描述);用自然语言问题发起新的 Genie 对话;在正在进行的 Genie 对话中追问;以结构化格式检索 SQL 和结果表格。

提供的 MCP 工具如下:get_genie_space_id() 列出可用的 Genie 空间 ID 和标题;get_space_info(space_id: str) 获取 Genie 空间的标题和描述;ask_genie(space_id: str, question: str) 发起新的 Genie 对话并获取结果;follow_up(space_id: str, conversation_id: str, question: str) 继续现有的 Genie 对话。

使用前提:需要一个 Databricks 工作区,并具备个人访问令牌、已启用 Genie API,以及访问 Genie 空间和运行查询的权限。使用方式为克隆仓库、创建并激活虚拟环境(推荐)、安装依赖,并在根目录创建包含相应变量的 .env 文件。

需要特别注意的是,资料说明目前 Databricks Genie API 并未提供公开端点来列出所有可用的空间 ID 和标题,因此需要变通处理:在 main.py 的 get_genie_space_id() 函数中手动添加 Genie 空间 ID 及其标题。

测试服务器可使用 inspector(可选但推荐),也可直接构建并运行 Docker 来测试。与 Claude Desktop 配合使用时,需下载 Claude Desktop,在项目目录运行安装命令,安装完成后在 Claude 中打开 Desktop,点击 Resources → Add Resource,选择该 Genie MCP Server,即可开始用自然语言与数据对话。

获取 Databricks 凭据的步骤:Host 为 Databricks 实例 URL(例如 your-instance.cloud.databricks.com),不要包含 https://;在 Databricks 工作区点击右上角用户名 → User Settings,在 Developer 选项卡下点击 Access tokens 的 Manage,生成新令牌并复制。运行服务器时,将在 stdio 传输上启动 Genie MCP 服务器以供 LLM 交互。

故障排除:无效 host 时确保 host 不包含 https://;令牌错误时确认个人访问令牌有效且有权访问 Genie;超时时检查 Genie 空间是否可访问、是否处于空闲或过期状态;无数据返回时确保查询对所选空间有效。

安全注意事项:妥善保管 .env 文件,切勿提交到版本控制;尽可能使用带过期时间的最小范围令牌;除非经过身份验证,避免将此服务器暴露在面向公众的环境中。