项目简介
此仓库包含基于 Model Context Protocol (MCP) 构建的服务器实现,旨在将 Databricks 的能力(如访问 Unity Catalog 中的数据和函数、与 Databricks Genie 交互)暴露给支持 MCP 的 AI 代理或大型语言模型 (LLM) 客户端。它允许 AI 代理通过标准化的工具调用方式,安全地访问和操作企业数据及服务。
主要功能点
- 数据和函数访问: 通过 Databricks Unity Catalog 服务器,AI 代理可以访问在 Unity Catalog 中注册的数据表(特别是支持向量搜索的索引)和用户定义的函数。
- Genie 交互: 集成了 Databricks Genie 功能,允许 AI 代理启动对话、发送消息、获取结果等,实现更复杂的企业数据查询和分析。
- 标准化接口: 作为 MCP 服务器,它通过 JSON-RPC 协议提供统一的接口,使不同 MCP 客户端能够无缝集成和利用 Databricks 的能力。
- 工具暴露: 将 Databricks 的具体操作(如查询向量索引、执行函数、与Genie聊天)抽象为 MCP 工具,供 AI 代理发现和调用。
安装步骤
- 安装 'uv':这是一个快速的 Python 打包工具,用于管理依赖和运行环境。请参考 uv 官方文档进行安装。
- 使用 'uv' 安装 Python:执行命令 'uv python install 3.12' 来安装 Python 3.12 环境。
- 配置 Databricks 凭据:根据 Databricks 官方文档配置您的凭据,确保服务器进程可以访问所需的 Databricks API。这通常涉及到设置环境变量(如 'DATABRICKS_HOST', 'DATABRICKS_TOKEN')或配置文件。
- 克隆此 GitHub 仓库到本地。
服务器配置(供MCP客户端使用)
要让支持 MCP 的 AI 客户端使用此服务器,您需要在客户端的配置中添加此服务器的信息。配置通常是一个 JSON 对象,指定服务器的名称、如何启动它以及启动时需要传递的参数。
例如,对于支持 MCP 的客户端,您可能需要添加一个服务器配置项,其内容大致如下(配置格式取决于客户端,以下是概念描述,不是直接可用的代码片段):
- 服务器名称 (Server Name): 'databricks_unity_catalog' (客户端用来识别此服务器的唯一名称)
- 启动命令 (Command): 指定 'uv' 可执行文件的完整路径。
- 启动参数 (Args):
- '--directory': 指定此仓库中 Unity Catalog 服务器代码所在的目录路径(例如:'/path/to/this/repo/servers/unity_catalog')。
- 'run': 'uv' 的运行命令。
- 'unitycatalog-mcp': 启动 Unity Catalog MCP 服务器的入口点命令。
- '-s' 或 '--schema-full-name': (可选) 指定要暴露的 Unity Catalog schema 的完整名称,格式为 'catalog_name.schema_name'。例如 '-s your_catalog.your_schema'。提供此参数将暴露该 schema 下支持的向量搜索索引和用户定义函数作为工具。
- '-g' 或 '--genie-space-ids': (可选) 指定要暴露的 Databricks Genie Space ID 列表,用逗号分隔。例如 '-g genie_space_id_1,genie_space_id_2'。提供此参数将暴露与指定 Genie Space 交互相关的工具。
- 请根据您的实际路径和需求替换上述示例值。
基本使用方法
将上述配置添加到您的 MCP 客户端后,启动客户端。客户端将通过配置的命令启动此 MCP 服务器进程,并通过标准输入/输出来进行 MCP 协议通信(Stdio 传输)。一旦连接建立,客户端会发现服务器提供的工具列表(如查询数据、执行函数、Genie 聊天工具)。AI 代理即可在生成回复时,根据需要调用这些工具来获取 Databricks 中的实时信息或执行操作。
信息
分类
数据库与文件