MCP-ZenML模型上下文协议服务器
实现模型上下文协议的服务器,使大型语言模型能够与ZenML平台交互,提供对管道数据、堆栈信息以及触发新管道运行能力的访问。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"zenml": {
"args": [
"run",
"path/to/zenml_server.py"
],
"command": "/usr/local/bin/uv",
"env": {
"LOGLEVEL": "INFO",
"NO_COLOR": "1",
"PYTHONIOENCODING": "UTF-8",
"PYTHONUNBUFFERED": "1",
"ZENML_STORE_API_KEY": "your-api-key-here",
"ZENML_STORE_URL": "https://your-zenml-server-goes-here.com"
}
}
}
}
该服务需要配置环境变量:LOGLEVEL、NO_COLOR、PYTHONIOENCODING、PYTHONUNBUFFERED、ZENML_STORE_API_KEY、ZENML_STORE_URL
服务介绍
MCP Server for ZenML
本项目实现了用于与 ZenML API 交互的 模型上下文协议 (MCP) 服务器。

什么是 MCP?
模型上下文协议 (MCP) 是一种开放协议,它标准化了应用程序如何向大型语言模型 (LLMs) 提供上下文。它就像一个“AI 应用程序的 USB-C 端口”——提供了一种将 AI 模型连接到不同数据源和工具的标准方法。
MCP 遵循客户端-服务器架构,其中:
- MCP 主机:像 Claude Desktop 或 IDE 这样的程序,希望通过 MCP 访问数据
- MCP 客户端:维护与服务器一对一连接的协议客户端
- MCP 服务器:通过标准化协议暴露特定功能的轻量级程序
- 本地数据源:您的计算机上的文件、数据库和服务,MCP 服务器可以安全访问
- 远程服务:可以通过互联网访问并与 MCP 服务器连接的外部系统
什么是 ZenML?
ZenML 是一个开源平台,用于构建和管理机器学习和人工智能管道。它为管理数据、模型和实验提供了一个统一的接口。
功能
该服务器提供了 MCP 工具来访问 ZenML 服务器的核心读取功能,从而能够获取关于以下内容的实时信息:
- 用户
- 堆栈
- 管道
- 管道运行
- 管道步骤
- 服务
- 堆栈组件
- 风味
- 管道运行模板
- 调度
- 工件(关于数据工件的元数据,而非数据本身)
- 服务连接器
- 步骤代码
- 步骤日志(如果步骤是在基于云的堆栈上运行)
它还允许您触发新的管道运行(如果有运行模板存在)。
注意:这是一个测试/实验版本。我们仍在探索人们将如何使用此集成,因此非常欢迎您提出反馈和建议!请加入我们的 Slack 社区,分享您的经验并帮助我们改进。
如何使用
先决条件
您需要有权访问 ZenML Cloud 服务器。如果您还没有,可以在 ZenML Cloud 注册免费试用。
您还需要在本地安装 uv。更多详情,请参阅 uv 文档。
我们推荐通过他们的安装脚本或使用 Mac 时通过 brew 来安装。
此外,您还需要在本地克隆此仓库:
git clone https://github.com/zenml-io/mcp-zenml.git
您的 MCP 配置文件
MCP 配置文件是一个 JSON 文件,它告诉 MCP 客户端如何连接到您的 MCP 服务器。不同的 MCP 客户端会以不同的方式使用或指定此配置文件。两个常用的 MCP 客户端是 Claude Desktop 和 Cursor,下面提供了它们的安装说明。
您需要按照以下格式指定您的 ZenML MCP 服务器:
{
"mcpServers": {
"zenml": {
"command": "/usr/local/bin/uv",
"args": ["run", "path/to/zenml_server.py"],
"env": {
"LOGLEVEL": "INFO",
"NO_COLOR": "1",
"PYTHONUNBUFFERED": "1",
"PYTHONIOENCODING": "UTF-8",
"ZENML_STORE_URL": "https://your-zenml-server-goes-here.com",
"ZENML_STORE_API_KEY": "your-api-key-here"
}
}
}
}
有四个虚拟值需要你替换:
- 本地安装的
uv的路径(如果你通过brew在 Mac 上安装,上面列出的路径就是它的位置) zenml_server.py文件的路径(当你连接到 MCP 服务器时,将运行此文件)。该文件位于此仓库的根目录中。你需要指定该文件的确切完整路径。- ZenML 服务器 URL(这是你的 ZenML 服务器的 URL。你可以在 ZenML Cloud UI 中找到它)。它看起来像
https://d534d987a-zenml.cloudinfra.zenml.io。 - ZenML 服务器 API 密钥(这是你的 ZenML 服务器的 API 密钥。你可以在 ZenML Cloud UI 中找到它,或者阅读这些文档了解如何创建一个。对于 ZenML MCP 服务器,我们建议使用服务账户。)
你可以自由更改运行 MCP 服务器 Python 文件的方式,但使用 uv 可能是最简单的选项,因为它为你处理了环境和依赖项的安装。
用于 Claude Desktop 的安装
你需要安装 Claude Desktop。
安装并打开 Claude Desktop 后,你需要打开“设置”菜单并点击“开发者”标签页。那里会有一个“编辑配置”按钮,点击后会打开文件浏览器显示你的配置文件的位置。
你应该将上述正确填写后的配置文件内容粘贴到文件浏览器中显示的 JSON 文件中。然后只需重启 Claude Desktop,它就会使用新的配置。你应该能在开发者设置菜单中看到 ZenML 服务器。与 Claude 对话,它将使用你刚刚赋予访问权限的所有新工具。
可选:改进 ZenML 工具输出显示
为了更好地体验 ZenML 工具结果,你可以配置 Claude 以更易读的格式显示 JSON 响应。在 Claude Desktop 中,进入 设置 → 个人资料,在 "What personal preferences should Claude consider in responses?" 部分添加如下内容(或直接使用这段文字!):
When using zenml tools which return JSON strings and you're asked a question, you might want to consider using markdown tables to summarize the results or make them easier to view!
这将鼓励 Claude 将 ZenML 工具输出格式化为 markdown 表格,使信息更易于阅读和理解。
用于 Cursor 的安装
你需要安装 Cursor。
Cursor 的工作方式与 Claude Desktop 略有不同,你需要为每个仓库单独指定配置文件。这意味着如果你想在多个仓库中使用 ZenML MCP 服务器,则需要在每个仓库中指定配置文件。
要为单个仓库设置,请执行以下步骤:
- 在仓库的根目录下创建一个
.cursor文件夹 - 在其中创建一个
mcp.json文件,并填入上述内容 - 进入你的 Cursor 设置并点击 ZenML 服务器来“启用”它。
在我们的经验中,有时候即使功能正常,它也可能会显示红色错误指示器。您可以通过在 Cursor 聊天窗口中聊天来尝试一下。它会告诉您是否能够访问 ZenML 工具。