使用说明
项目简介
mcp-server-unitycatalog 是一个基于 Model Context Protocol (MCP) 构建的服务器,专门为 Unity Catalog 设计。它将 Unity Catalog 中注册的函数以及预定义的 Unity Catalog AI 工具(如函数列表、函数详情、创建和删除函数)以 MCP 工具的形式暴露给 LLM 客户端,使得 LLM 能够通过调用这些工具来操作和利用 Unity Catalog 中的数据和功能。
主要功能点
- 提供 Unity Catalog 函数作为 MCP 工具: 允许 LLM 客户端发现和调用 Unity Catalog 中已有的函数。
- 预置 Unity Catalog AI 工具: 提供了一系列预定义的工具,用于管理 Unity Catalog 中的函数,例如:
- 'uc_list_functions': 列出指定 Catalog 和 Schema 下的所有函数。
- 'uc_get_function': 获取指定 Catalog 和 Schema 下某个函数的详细信息。
- 'uc_create_function': 在指定 Catalog 和 Schema 下创建新的函数(实验性功能)。
- 'uc_delete_function': 删除指定 Catalog 和 Schema 下的函数。
- 支持多种部署方式: 可以通过 'uv' 直接运行,也可以使用 Docker 镜像部署。
- 灵活配置: 支持通过命令行参数或环境变量配置 Unity Catalog 服务器连接信息、Catalog 和 Schema 等。
- 详细日志: 提供可配置的日志记录,方便问题排查和监控。
安装步骤
使用 uv (推荐)
- 确保已安装 'uv'。
- 克隆仓库到本地:
git clone https://github.com/ognis1205/mcp-server-unitycatalog.git cd mcp-server-unitycatalog - 无需额外安装步骤,直接使用 'uv run' 命令运行服务器。
使用 Docker
- 确保已安装 Docker。
- 构建 Docker 镜像:
docker build -t mcp/unitycatalog . - 运行 Docker 镜像。
服务器配置
为了让 MCP 客户端(如 Claude Desktop 或 VSCode Cline)连接到 mcp-server-unitycatalog 服务器,您需要在客户端的配置文件中添加 MCP 服务器的配置信息。以下是分别使用 'uv' 和 Docker 启动服务器的配置示例,请根据您的实际情况选择其一添加到客户端的配置文件中(例如 'claude_desktop_config.json' 或 'cline_mcp_settings.json')。
使用 uv 的配置
{ "mcpServers": { "unitycatalog": { "command": "uv", "args": [ "--directory", "/<path to your local git repository>/mcp-server-unitycatalog", // 请替换为您的本地仓库路径 "run", "mcp-server-unitycatalog", "--uc_server", "<your unity catalog url>", // 请替换为您的 Unity Catalog 服务器 URL "--uc_catalog", "<your catalog name>", // 请替换为您的 Unity Catalog Catalog 名称 "--uc_schema", "<your schema name>" // 请替换为您的 Unity Catalog Schema 名称 ] } } }
使用 Docker 的配置
{ "mcpServers": { "unitycatalog": { "command": "docker", "args": [ "run", "--rm", "-i", "mcp/unitycatalog", "--uc_server", "<your unity catalog url>", // 请替换为您的 Unity Catalog 服务器 URL "--uc_catalog", "<your catalog name>", // 请替换为您的 Unity Catalog Catalog 名称 "--uc_schema", "<your schema name>" // 请替换为您的 Unity Catalog Schema 名称 ] } } }
配置参数说明:
- 'server name': 'unitycatalog' (可以自定义,用于在客户端中标识该 MCP 服务器)
- 'command': 启动服务器的命令,'uv' 或 'docker'
- 'args': 命令参数列表,包括:
- '--directory': 当使用 'uv' 时,指定本地仓库路径 (Docker 方式不需要)
- 'run mcp-server-unitycatalog': 使用 'uv' 运行时,运行 mcp-server-unitycatalog
- 'run --rm -i mcp/unitycatalog': 使用 'docker' 运行时,运行名为 'mcp/unitycatalog' 的 Docker 镜像
- '--uc_server': Unity Catalog 服务器的 base URL (必填)
- '--uc_catalog': Unity Catalog Catalog 名称 (必填)
- '--uc_schema': Unity Catalog Schema 名称 (必填)
- '--uc_token': Unity Catalog 访问 Token (可选,如果需要身份验证)
- '--uc_verbosity': 日志级别 (可选,默认为 'warn')
- '--uc_log_directory': 日志文件存储目录 (可选,默认为 '.mcp_server_unitycatalog')
基本使用方法
- 启动 MCP 服务器: 根据选择的部署方式('uv' 或 Docker)启动 mcp-server-unitycatalog 服务器。
- 配置 MCP 客户端: 将上述生成的配置信息添加到您的 MCP 客户端(如 Claude Desktop 或 VSCode Cline)的配置文件中。
- 在 LLM 中使用工具: 在 LLM 客户端中,您应该能够看到名为 'unitycatalog' 的 MCP 服务器。LLM 可以请求列出可用的工具,并调用 Unity Catalog 相关的工具来执行操作,例如查询函数信息、创建新函数等。 具体的工具调用方式取决于 LLM 客户端的功能。
注意: 启动服务器前,请务必替换配置信息中的占位符(例如 '<your unity catalog url>', '<your catalog name>', '<your schema name>')为您的实际 Unity Catalog 环境信息。
信息
分类
AI与计算