mcp-server-unitycatalog

mcp-server-unitycatalog

一个模型上下文协议(Model Context Protocol)服务器,提供对 Unity Catalog 函数的访问,允许 AI 助手通过一个标准化的接口直接在 Unity Catalog 中列出、获取、创建和删除函数。

Category
访问服务器

README

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 的模型上下文协议服务器。此服务器提供 Unity Catalog 函数 作为 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)中:

<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 .

未来计划

  • [x] 实现对 list_functions 的支持。
  • [x] 实现对 get_function 的支持。
  • [x] 实现对 create_python_function 的支持。
  • [x] 实现对 execute_function 的支持。
  • [x] 实现对 delete_function 的支持。
  • [ ] 实现语义目录浏览器工具。
  • [x] 添加 Docker 镜像。
  • [ ] 实现 use_xxx 方法。在当前的实现中,catalogschema 需要在启动服务器时定义。但是,它们将被实现为 use_cataloguse_schema 函数,在执行 use_xxx 时动态更新可用函数列表。

许可证

此 MCP 服务器是在 MIT 许可证下授权的。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选