Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-unitycatalog

Unity Catalog的MCP服务器,提供Unity Catalog函数作为MCP工具

article

README

🚀 mcp-server-unitycatalog:一个用于 Unity Catalog 的 MCP 服务器

本项目是一个用于 Unity Catalog 的 Model Context Protocol 服务器,它将 Unity Catalog 函数以 MCP 工具的形式提供,方便开发者使用。

🚀 快速开始

本项目是一个用于 Unity Catalog 的 Model Context Protocol 服务器。此服务器将 Unity Catalog 函数作为 MCP 工具提供给用户。

✨ 主要特性

可用工具

您可以使用 所有在 Unity Catalog 中注册的函数,以及以下预定义的 Unity Catalog AI 工具:

  1. uc_list_functions
    • 功能:在指定的父目录和模式中列出功能。
    • 返回:从 Unity Catalog 获取到的功能列表。
  2. uc_get_function
    • 功能:获取指定名称的功能。
    • 输入:function_name(字符串)
    • 输出:包含函数信息的对象,包括其描述、输入参数等。
  3. uc_create_function
    • 功能:创建一个新的 Python 函数。
    • 输入:function_name(字符串)、function_code(字符串)
    • 输出:创建成功的确认消息。
  4. uc_delete_function
    • 功能:删除指定名称的功能。
    • 输入:function_name(字符串)
    • 输出:删除成功的确认消息。

📦 安装指南

可以使用 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 License 分发。这意味着您可以自由使用、修改和分发软件,但需遵守 MIT License 的条款和条件。有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client