MCP Unity Catalog 服务器
一种模型上下文协议服务器,提供对Unity Catalog函数的访问,允许AI助手通过标准化接口直接在Unity Catalog中列出、获取、创建和删除函数。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"unitycatalog": {
"args": [
"--directory",
"/\u003cpath to your local git repository\u003e/mcp-server-unitycatalog",
"run",
"mcp-server-unitycatalog",
"--uc_server",
"\u003cyour unity catalog url\u003e",
"--uc_catalog",
"\u003cyour catalog name\u003e",
"--uc_schema",
"\u003cyour schema name\u003e"
],
"command": "uv"
}
}
}
该服务需要配置环境变量:UC_CATALOG、UC_LOG_DIRECTORY、UC_SCHEMA、UC_SERVER、UC_TOKEN、UC_VERBOSITY
服务介绍
mcp-server-unitycatalog: 一个 Unity Catalog MCP 服务器
概述
这是一个用于 Unity Catalog 的 Model Context Protocol 服务器。该服务器提供 Unity Catalog Functions 作为 MCP 工具。
工具
您可以使用 在 Unity Catalog 中注册的所有 Unity Catalog 函数,以及以下预定义的 Unity Catalog AI 工具:
-
uc_list_functions- 列出指定父目录和模式中的函数。
- 返回:从 Unity Catalog 中检索到的函数列表。
-
uc_get_function- 获取父目录和模式中的一个函数。
- 输入:
name(字符串):函数的名称(非完全限定)。
- 返回:从 Unity Catalog 中检索到的函数详情。
-
uc_create_function- 在父目录和模式中创建一个函数。警告:此 API 是实验性的,在未来的版本中可能会发生变化。
- 输入:
name(字符串):函数的名称(非完全限定)。script(字符串):包含要注册的函数的 Python 脚本。
- 返回:在 Unity Catalog 中创建的函数详情。
-
uc_delete_function- 删除父目录和模式中的一个函数。
- 输入:
name(字符串):函数的名称(非完全限定)。
- 返回:无。
安装
使用 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)中:
{
"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>"
]
}
}
}
- 注意:请将 '/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 许可证许可。这意味着您可以自由地使用、修改和分发该软件,但必须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。