M

MCP Unity Catalog 服务器

@ognis1205/mcp-server-unitycatalog
0 Stars 410 次浏览 ognis1205 更新于 2026-08-23

一种模型上下文协议服务器,提供对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 工具:

  1. uc_list_functions

    • 列出指定父目录和模式中的函数。
    • 返回:从 Unity Catalog 中检索到的函数列表。
  2. uc_get_function

    • 获取父目录和模式中的一个函数。
    • 输入:
      • name (字符串):函数的名称(非完全限定)。
    • 返回:从 Unity Catalog 中检索到的函数详情。
  3. uc_create_function

    • 在父目录和模式中创建一个函数。警告:此 API 是实验性的,在未来的版本中可能会发生变化
    • 输入:
      • name (字符串):函数的名称(非完全限定)。
      • script (字符串):包含要注册的函数的 Python 脚本。
    • 返回:在 Unity Catalog 中创建的函数详情。
  4. 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 方法。在当前实现中,启动服务器时需要定义 catalogschema。但是,它们将被实现为 use_cataloguse_schema 函数,在执行 use_xxx 时动态更新可用函数列表。

许可证

此 MCP 服务器根据 MIT 许可证许可。这意味着您可以自由地使用、修改和分发该软件,但必须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。

相关 MCP 服务