mcp-zenml — MCP-сервер для Claude Code: доступ к ZenML
MCP-сервер, через который агент читает и меняет ресурсы ZenML: пайплайны, запуски, стеки, модели. Пригодится, когда нужно смотреть живые данные ML-платформы прямо из IDE.
claude mcp add --env ZENML_STORE_URL=<ZENML_STORE_URL> --env ZENML_STORE_API_KEY=<ZENML_STORE_API_KEY> --env ZENML_MCP_PROFILE=<ZENML_MCP_PROFILE> --env ZENML_MCP_WRITE_POLICY=<ZENML_MCP_WRITE_POLICY> --transport stdio mcp-zenml -- docker run -i --rm -e ZENML_STORE_URL -e ZENML_STORE_API_KEY -e ZENML_MCP_PROFILE -e ZENML_MCP_WRITE_POLICY docker.io/zenmldocker/mcp-zenml:2.0.0Что делает mcp-zenml
Сервер подключается к ZenML API и отдаёт агенту набор инструментов. В компактном профиле их 16: семь общих (zenml_describe_resources, zenml_list_resources, zenml_get_resource, zenml_create_resource, zenml_update_resource, zenml_delete_resource, zenml_action_resource) плюс точечные — диагностика установки, активные пользователь и проект, запуск пайплайна, логи и код шагов, логи деплоймента, открытие дашборда запуска и графика активности.
Регистрация и право на запись настраиваются отдельно. ZENML_MCP_WRITE_POLICY=read_only убирает из обнаружения четыре инструмента изменения и trigger_pipeline, а также схемы create, update, delete и action. Старое ZENML_MCP_READ_ONLY=true ещё принимается, неверное значение политики откатывается в режим только чтения. Неверный ZENML_MCP_PROFILE останавливает запуск с ошибкой конфигурации.
Версия 2.0.0 требует MCP Python SDK 2.2.0 и ZenML 0.96.4. Компактный профиль стал умолчанием, и это ломает обнаружение у клиентов, которые зовут инструменты по старым именам вроде list_pipeline_runs — на время переезда ставьте ZENML_MCP_PROFILE=legacy. Профиль legacy не расширяет поддержку на более старые версии сервера ZenML. Мутации различают исходы completed, accepted и unknown, и повтор после возможного попадания в ZenML сервер не делает: сначала сверьтесь по ответу.
Какие задачи решает
- посмотреть статус и историю запусков пайплайна из IDE
- прочитать логи и код конкретного шага
- создать или обновить ресурс ZenML по UUID
- запустить пайплайн по снапшоту
- открыть дашборд запуска и график активности
Примеры запросов агенту
- Покажи последние запуски пайплайна и их статусы
- Вытащи логи шага из упавшего запуска
- Запусти пайплайн по последнему снапшоту
Как установить mcp-zenml
Командой платформы
claude mcp add --env ZENML_STORE_URL=<ZENML_STORE_URL> --env ZENML_STORE_API_KEY=<ZENML_STORE_API_KEY> --env ZENML_MCP_PROFILE=<ZENML_MCP_PROFILE> --env ZENML_MCP_WRITE_POLICY=<ZENML_MCP_WRITE_POLICY> --transport stdio mcp-zenml -- docker run -i --rm -e ZENML_STORE_URL -e ZENML_STORE_API_KEY -e ZENML_MCP_PROFILE -e ZENML_MCP_WRITE_POLICY docker.io/zenmldocker/mcp-zenml:2.0.0Вместо <…> подставьте свои значения
Командой платформы
codex mcp add mcp-zenml --env ZENML_STORE_URL=<ZENML_STORE_URL> --env ZENML_STORE_API_KEY=<ZENML_STORE_API_KEY> --env ZENML_MCP_PROFILE=<ZENML_MCP_PROFILE> --env ZENML_MCP_WRITE_POLICY=<ZENML_MCP_WRITE_POLICY> -- docker run -i --rm -e ZENML_STORE_URL -e ZENML_STORE_API_KEY -e ZENML_MCP_PROFILE -e ZENML_MCP_WRITE_POLICY docker.io/zenmldocker/mcp-zenml:2.0.0Вместо <…> подставьте свои значения
Файл настроек
{
"mcpServers": {
"mcp-zenml": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ZENML_STORE_URL",
"-e",
"ZENML_STORE_API_KEY",
"-e",
"ZENML_MCP_PROFILE",
"-e",
"ZENML_MCP_WRITE_POLICY",
"docker.io/zenmldocker/mcp-zenml:2.0.0"
],
"env": {
"ZENML_STORE_URL": "<ZENML_STORE_URL>",
"ZENML_STORE_API_KEY": "<ZENML_STORE_API_KEY>",
"ZENML_MCP_PROFILE": "<ZENML_MCP_PROFILE>",
"ZENML_MCP_WRITE_POLICY": "<ZENML_MCP_WRITE_POLICY>"
}
}
}
}Вместо <…> подставьте свои значения
Файл настроек
{
"servers": {
"mcp-zenml": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ZENML_STORE_URL",
"-e",
"ZENML_STORE_API_KEY",
"-e",
"ZENML_MCP_PROFILE",
"-e",
"ZENML_MCP_WRITE_POLICY",
"docker.io/zenmldocker/mcp-zenml:2.0.0"
],
"env": {
"ZENML_STORE_URL": "<ZENML_STORE_URL>",
"ZENML_STORE_API_KEY": "<ZENML_STORE_API_KEY>",
"ZENML_MCP_PROFILE": "<ZENML_MCP_PROFILE>",
"ZENML_MCP_WRITE_POLICY": "<ZENML_MCP_WRITE_POLICY>"
}
}
}
}Вместо <…> подставьте свои значения
Командой платформы
gemini mcp add -e ZENML_STORE_URL=<ZENML_STORE_URL> -e ZENML_STORE_API_KEY=<ZENML_STORE_API_KEY> -e ZENML_MCP_PROFILE=<ZENML_MCP_PROFILE> -e ZENML_MCP_WRITE_POLICY=<ZENML_MCP_WRITE_POLICY> mcp-zenml docker run -i --rm -e ZENML_STORE_URL -e ZENML_STORE_API_KEY -e ZENML_MCP_PROFILE -e ZENML_MCP_WRITE_POLICY docker.io/zenmldocker/mcp-zenml:2.0.0Вместо <…> подставьте свои значения
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о mcp-zenml
Как установить mcp-zenml в Claude Code?
Одной командой: `claude mcp add --env ZENML_STORE_URL=<ZENML_STORE_URL> --env ZENML_STORE_API_KEY=<ZENML_STORE_API_KEY> --env ZENML_MCP_PROFILE=<ZENML_MCP_PROFILE> --env ZENML_MCP_WRITE_POLICY=<ZENML_MCP_WRITE_POLICY> --transport stdio mcp-zenml -- docker run -i --rm -e ZENML_STORE_URL -e ZENML_STORE_API_KEY -e ZENML_MCP_PROFILE -e ZENML_MCP_WRITE_POLICY docker.io/zenmldocker/mcp-zenml:2.0.0`.
Что делает mcp-zenml?
Даёт агенту инструменты для работы с ZenML: список и чтение ресурсов, обычные изменения, запуск пайплайнов, логи шагов и деплойментов, открытие дашбордов.
Чем компактный профиль отличается от legacy?
В compact 16 инструментов с общими именами, в legacy — 57 под старые имена вроде list_pipeline_runs. Переключайтесь на legacy только на время миграции клиента.