使用说明
项目简介
ZenML MCP 服务器是 ZenML 平台的一个组件,它实现了 Model Context Protocol (MCP) 协议,充当 LLM 客户端(如 Claude Desktop 或 Cursor)和 ZenML 服务器之间的桥梁。通过这个服务器,LLM 客户端可以安全、便捷地访问 ZenML 平台上的各种资源和功能,例如查询用户、Stack、Pipeline、运行记录等信息,甚至可以触发新的 Pipeline 运行。这使得用户可以通过自然语言与 LLM 交互,从而更智能地管理和监控他们的机器学习工作流程。
主要功能点
- 数据访问能力: 提供工具 (Tools) 使 LLM 能够查询 ZenML 平台上的各种资源,包括用户、Stack、Pipeline、Pipeline 运行、服务、Stack 组件、Flavor、运行模板、计划、数据 Artifact、服务连接器、步骤代码和步骤日志等。
- 工具执行: 允许 LLM 客户端调用预定义的工具 (Tools),例如触发新的 Pipeline 运行。
- 上下文感知: 通过 MCP 协议,为 LLM 提供丰富的 ZenML 平台上下文信息,从而实现更智能的交互。
- 易于集成: 可以与各种 MCP 客户端(如 Claude Desktop, Cursor)轻松集成,为用户提供无缝的 AI 辅助体验。
安装步骤
-
前提条件:
- 访问 ZenML Cloud 服务器的权限 (如果您没有,可以在 ZenML Cloud 注册免费试用)。
- 本地安装 'uv' (参考 uv 文档)。
- 克隆 'mcp-zenml' 仓库到本地:
git clone https://github.com/zenml-io/mcp-zenml.git
-
配置 MCP 配置文件 (mcp.json):
- MCP 客户端需要一个 JSON 配置文件来连接 MCP 服务器。根据您使用的客户端(如 Claude Desktop 或 Cursor),配置文件的位置和加载方式会有所不同。
- 配置文件示例如下,您需要根据实际情况修改占位符:
参数注释:{ "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" } } } }- '"zenml"': 服务器名称,可以自定义。
- '"command"': 启动 MCP 服务器的命令,这里使用 'uv run' 运行 Python 脚本。请替换为您的 'uv' 可执行文件的完整路径。
- '"args"': 传递给 'uv run' 命令的参数,包括要运行的 Python 脚本 'zenml_server.py' 的完整路径。请替换为 'zenml_server.py' 文件在您本地仓库中的完整路径。
- '"env"': 环境变量配置:
- '"ZENML_STORE_URL"': 您的 ZenML 服务器 URL,例如 'https://your-zenml-server.zenml.io'。
- '"ZENML_STORE_API_KEY"': 用于访问 ZenML 服务器的 API Key。建议使用服务账户 API Key。
-
配置 MCP 客户端:
- Claude Desktop:
- 打开 Claude Desktop,进入 "Settings" -> "Developer" -> "Edit Config"。
- 将上述配置文件的内容粘贴到打开的 JSON 文件中。
- 重启 Claude Desktop。
- Cursor:
- 在您的代码仓库根目录下创建 '.cursor' 文件夹。
- 在 '.cursor' 文件夹中创建 'mcp.json' 文件,并将上述配置文件内容粘贴进去。
- 在 Cursor 设置中启用 ZenML 服务器。
- Claude Desktop:
基本使用方法
配置完成后,您就可以在 MCP 客户端 (如 Claude Desktop 或 Cursor) 中与 ZenML MCP 服务器进行交互了。您可以向 LLM 提出关于 ZenML 平台数据和功能的问题,例如:
- "列出我所有的 ZenML Pipelines"
- "最近的 Pipeline 运行状态如何?"
- "获取名为 'my_pipeline' 的 Pipeline 的详细信息"
- "触发运行 'data_ingestion_pipeline' 这个 Pipeline"
LLM 将会调用 ZenML MCP 服务器提供的工具来获取信息或执行操作,并将结果以自然语言或表格等形式呈现给您。
注意: 部分工具可能需要额外的参数,您可以通过查阅工具的描述或与 LLM 交互来了解如何使用这些参数进行更精细的查询和操作。
信息
分类
开发者工具