mcpField
M
mcp-server-unitycatalog: An Unity Catalog MCP server

mcp-server-unitycatalog: An Unity Catalog MCP server

本地服务
github.com/ognis1205数据库1583 周前更新

关于 mcp-server-unitycatalog: An Unity Catalog MCP server

mcp-server-unitycatalog 将 Unity Catalog 函数提供给 MCP 客户端使用,面向需要通过 MCP 管理或调用目录函数的场景。除注册函数外,还提供函数列表、详情、创建和删除工具。

主要功能

  1. 01调用已注册的 Unity Catalog 函数
  2. 02列出目录与架构中的函数
  3. 03获取函数详情
  4. 04创建和删除函数

适用场景

  1. 01通过 MCP 调用目录函数
  2. 02检查指定架构中的函数
  3. 03注册或移除 Python 函数

MCP 相关

该 MCP 服务将 Unity Catalog 函数作为工具提供,并内置列出、查询、创建和删除函数的操作。启动时需配置服务地址、目录和架构。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"unitycatalog": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-server-unitycatalog:Unity Catalog MCP 服务

README 配图 README 配图 README 配图

概述

一个适用于 Unity Catalog 的 Model Context Protocol 服务。此服务将 Unity Catalog Functions 作为 MCP 工具提供。

工具

除了以下预定义的 Unity Catalog AI 工具外,你还可以使用 在 Unity Catalog 中注册的所有 Unity Catalog Functions:

  1. uc_list_functions

    • 列出指定父级目录和架构中的函数。
    • 返回:从 Unity Catalog 获取的函数列表。
  2. uc_get_function

    • 获取父级目录和架构中的函数。
    • 输入:
      • name(string):函数名称(非完全限定名称)。
    • 返回:从 Unity Catalog 获取的函数详情。
  3. uc_create_function

    • 在父级目录和架构中创建函数。警告:此 API 处于实验阶段,未来版本中可能会更改。
    • 输入:
      • name(string):函数名称(非完全限定名称)。
      • script(string):包含要注册函数的 Python 脚本。
    • 返回:在 Unity Catalog 中创建的函数详情。
  4. uc_delete_function

    • 删除父级目录和架构中的函数。
    • 输入:
      • name(string):函数名称(非完全限定名称)。
    • 返回:无。

安装

使用 uv

使用 uv 时无需进行特定安装。我们将使用 uvx 直接运行 mcp-server-git。

配置

这些值也可以通过 CLI 选项或 .env 环境变量设置。必需参数包括 Unity Catalog 服务、目录和架构;访问令牌和详细程度为可选项。运行 uv run mcp-server-unitycatalog --help 可查看更详细的配置选项。

参数环境变量描述必需/可选
-u, --uc_serverUC_SERVERUnity Catalog 服务的基本 URL。必需
-c, --uc_catalogUC_CATALOGUnity Catalog 目录的名称。必需
-s, --uc_schemaUC_SCHEMAUnity Catalog 目录中架构的名称。必需
-t, --uc_tokenUC_TOKEN用于授权向 Unity Catalog 服务发送 API 请求的访问令牌。可选
-v, --uc_verbosityUC_VERBOSITY日志记录的详细程度。默认值:warn。可选
-l, --uc_log_directoryUC_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 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。