关于 mcp-server-unitycatalog: An Unity Catalog MCP server
mcp-server-unitycatalog 将 Unity Catalog 函数提供给 MCP 客户端使用,面向需要通过 MCP 管理或调用目录函数的场景。除注册函数外,还提供函数列表、详情、创建和删除工具。
主要功能
- 01调用已注册的 Unity Catalog 函数
- 02列出目录与架构中的函数
- 03获取函数详情
- 04创建和删除函数
适用场景
- 01通过 MCP 调用目录函数
- 02检查指定架构中的函数
- 03注册或移除 Python 函数
MCP 相关
该 MCP 服务将 Unity Catalog 函数作为工具提供,并内置列出、查询、创建和删除函数的操作。启动时需配置服务地址、目录和架构。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-server-unitycatalog:Unity Catalog MCP 服务
概述
一个适用于 Unity Catalog 的 Model Context Protocol 服务。此服务将 Unity Catalog Functions 作为 MCP 工具提供。
工具
除了以下预定义的 Unity Catalog AI 工具外,你还可以使用 在 Unity Catalog 中注册的所有 Unity Catalog Functions:
-
uc_list_functions- 列出指定父级目录和架构中的函数。
- 返回:从 Unity Catalog 获取的函数列表。
-
uc_get_function- 获取父级目录和架构中的函数。
- 输入:
name(string):函数名称(非完全限定名称)。
- 返回:从 Unity Catalog 获取的函数详情。
-
uc_create_function- 在父级目录和架构中创建函数。警告:此 API 处于实验阶段,未来版本中可能会更改。
- 输入:
name(string):函数名称(非完全限定名称)。script(string):包含要注册函数的 Python 脚本。
- 返回:在 Unity Catalog 中创建的函数详情。
-
uc_delete_function- 删除父级目录和架构中的函数。
- 输入:
name(string):函数名称(非完全限定名称)。
- 返回:无。
安装
使用 uv
使用 uv 时无需进行特定安装。我们将使用
uvx 直接运行 mcp-server-git。
配置
这些值也可以通过 CLI 选项或 .env 环境变量设置。必需参数包括 Unity Catalog 服务、目录和架构;访问令牌和详细程度为可选项。运行 uv run mcp-server-unitycatalog --help 可查看更详细的配置选项。
| 参数 | 环境变量 | 描述 | 必需/可选 |
|---|---|---|---|
-u, --uc_server | UC_SERVER | Unity Catalog 服务的基本 URL。 | 必需 |
-c, --uc_catalog | UC_CATALOG | Unity Catalog 目录的名称。 | 必需 |
-s, --uc_schema | UC_SCHEMA | Unity Catalog 目录中架构的名称。 | 必需 |
-t, --uc_token | UC_TOKEN | 用于授权向 Unity Catalog 服务发送 API 请求的访问令牌。 | 可选 |
-v, --uc_verbosity | UC_VERBOSITY | 日志记录的详细程度。默认值:warn。 | 可选 |
-l, --uc_log_directory | UC_LOG_DIRECTORY | 存储日志文件的目录。默认值:.mcp_server_unitycatalog。 | 可选 |
在 Claude Desktop 或 VSCode Cline 中使用
将以下内容添加到你的 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>",
"--uc_catalog",
"<your catalog name>",
"--uc_schema",
"<your schema name>"
]
}
}
}
使用 docker
- 注意:将 '/Users/username' 替换为你希望此工具能够访问的路径
{
"mcpServers": {
"unitycatalog": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"mcp/unitycatalog",
"--uc_server",
"<your unity catalog url>",
"--uc_catalog",
"<your catalog name>",
"--uc_schema",
"<your schema name>"
]
}
}
}
构建
Docker:
docker build -t mcp/unitycatalog .
未来计划
- 实现对
list_functions的支持。 - 实现对
get_function的支持。 - 实现对
create_python_function的支持。 - 实现对
execute_function的支持。 - 实现对
delete_function的支持。 - 实现语义目录浏览工具。
- 添加 Docker 镜像。
- 实现
use_xxx方法。在当前实现中,启动服务时需要定义catalog和schema。不过,它们将作为use_catalog和use_schema函数实现,在执行use_xxx时动态更新可用函数列表。
许可证
此 MCP 服务采用 MIT License 授权。这意味着您可以自由使用、修改和分发此软件,但须遵守 MIT License 的条款和条件。详情请参阅项目仓库中的 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。