返回市场
mcp服务器统一目录

mcp服务器统一目录

作者:ognis120514 星标更新:2025-03-29

项目介绍

mcp-server-unitycatalog: Unity Catalog 的 MCP 服务器

<p align="center" float="left"> <img width="256" src="https://raw.githubusercontent.com/ognis1205/mcp-server-unitycatalog/main/docs/vscode1.webp" /> <img width="256" src="https://raw.githubusercontent.com/ognis1205/mcp-server-unitycatalog/main/docs/vscode2.webp" /> <img width="256" src="https://raw.githubusercontent.com/ognis1205/mcp-server-unitycatalog/main/docs/vscode3.webp" /> </p>

概述

这是一个用于 Unity Catalog 的 Model Context Protocol 服务器。此服务器提供了作为 MCP 工具的 Unity Catalog 函数

工具

您可以使用在 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_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)中:

<details> <summary>使用 uv</summary>
{
  "mcpServers": {
    "unitycatalog": {
      "command": "uv",
      "args": [
        "--directory",
        "/<您本地 Git 仓库的路径>/mcp-server-unitycatalog",
        "run",
        "mcp-server--unitycatalog",
        "--uc_server",
        "<您的 Unity Catalog URL>",
        "--uc_catalog",
        "<您的目录名称>",
        "--uc_schema",
        "<您的模式名称>"
      ]
    }
  }
}
</details> <details> <summary>使用 docker</summary>
  • 注意:用您希望该工具可以访问的路径替换 '/Users/username'
{
  "mcpServers": {
    "unitycatalog": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "mcp/unitycatalog",
        "--uc_server",
        "<您的 Unity Catalog URL>",
        "--uc_catalog",
        "<您的目录名称>",
        "--uc_schema",
        "<您的模式名称>"
      ]
    }
  }
}
</details>

构建

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 文件。 </中文翻译>