Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

MCP Zenml

by zenml-ioversion 2.1.1i★ –iRuns on your computer
Registry nameio.github.zenml-io/mcp-zenml

Install

Overview

Description from the maker (original English)

MCP server for discovering, reading, and changing ZenML resources with compact generic tools

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: ZENML_STORE_URL, ZENML_STORE_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: ZENML_STORE_URL, ZENML_STORE_API_KEY, ZENML_MCP_PROFILE, ZENML_MCP_WRITE_POLICY

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "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.1.1"
      ],
      "env": {
        "ZENML_STORE_URL": "your-value",
        "ZENML_STORE_API_KEY": "your-value",
        "ZENML_MCP_PROFILE": "your-value",
        "ZENML_MCP_WRITE_POLICY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add zenml --env ZENML_STORE_URL=your-value --env ZENML_STORE_API_KEY=your-value --env ZENML_MCP_PROFILE=your-value --env ZENML_MCP_WRITE_POLICY=your-value -- 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.1.1

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "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.1.1"
      ],
      "env": {
        "ZENML_STORE_URL": "your-value",
        "ZENML_STORE_API_KEY": "your-value",
        "ZENML_MCP_PROFILE": "your-value",
        "ZENML_MCP_WRITE_POLICY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "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.1.1"
      ],
      "env": {
        "ZENML_STORE_URL": "your-value",
        "ZENML_STORE_API_KEY": "your-value",
        "ZENML_MCP_PROFILE": "your-value",
        "ZENML_MCP_WRITE_POLICY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • ZENML_STORE_URL required env
    Base URL of your ZenML server (e.g., https:// -zenml.cloudinfra.zenml.io).
  • ZENML_STORE_API_KEY secret required env
    API key used to authenticate with your ZenML server (ideally a service account key).
  • ZENML_MCP_PROFILE env
    Tool registration profile: compact (default) or legacy.
  • ZENML_MCP_WRITE_POLICY env
    Mutation policy: read_write (default) or read_only.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account zenml-io, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 18436 servers in this category
  • Published to the registry more recently than 96% of the other 18436 servers in this category
  • Basic checks equal to or better than 100% of the other 18436 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is MCP Zenml safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ZENML_STORE_URL, ZENML_STORE_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (2.1.1) reached the registry yesterday.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Tethered Trust

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 3 days ago
Install

Tethered Trust

by tetheredtrust.com

Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.

Runs in the cloudUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

MCP Server for ZenML

This project implements a Model Context Protocol (MCP) server for interacting with the ZenML API.

What is MCP?

The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). It acts like a "USB-C port for AI applications" - providing a standardized way to connect AI models to different data sources and tools.

MCP follows a client-server architecture where:

  • MCP Hosts: Programs like Claude Desktop or IDEs that want to access data through MCP
  • MCP Clients: Protocol clients that maintain 1:1 connections with servers
  • MCP Servers: Lightweight programs that expose specific capabilities through the standardized protocol
  • Local Data Sources: Your computer's files, databases, and services that MCP servers can securely access
  • Remote Services: External systems available over the internet that MCP servers can connect to

What is ZenML?

ZenML is an open-source platform for building and managing ML and AI pipelines. It provides a unified interface for managing data, models, and experiments.

For more information, see the ZenML website and our documentation.

Features

The server provides MCP tools to access core read functionality from the ZenML server, providing a way to get live information about:

Core Entities
  • Users - user accounts and permissions
  • Stacks - infrastructure configurations
  • Stack Components - individual stack building blocks
  • Flavors - available component types
  • Service Connectors - cloud authentication
Pipeline Execution
  • Pipelines - pipeline definitions
  • Pipeline Runs - execution history and status
  • Pipeline Steps - individual step details, code, and logs
  • Schedules - automated run schedules
  • Artifacts - metadata about data artifacts (not the data itself)
Deployment & Serving
  • Snapshots - frozen pipeline configurations (the "what to run/serve" artifact)
  • Deployments - runtime serving instances with status, URL, and logs
  • Services - model serving endpoints
Organization & Discovery
  • Projects - organizational containers for ZenML resources
  • Tags - cross-cutting metadata labels for discovery
  • Builds - pipeline build artifacts with image and code info
Models
  • Models - ML model registry entries
  • Model Versions - versioned model artifacts
Compatibility APIs (migration recommended)
  • Pipeline run templates remain available in ZenML 0.97.0, while Snapshots are preferred for new workflows (see Migration Guide)

The server also allows you to trigger new pipeline runs using snapshots (preferred) or the deprecated template-based trigger parameter.

*Note: We're continuously improving this integration based on user feedback. Please join our Slack community to share your experience and help us make it even better!*

Tool profiles and write policy

The default compact profile advertises 16 tools. Seven generic tools cover the resource catalog, reads, ordinary mutations, and finite lifecycle actions:

ToolPurpose
zenml_describe_resourcesDiscover supported resource types and bounded operation schemas
zenml_list_resourcesList one resource type with validated filters and pagination
zenml_get_resourceGet one resource, with parent and project scope where required
zenml_create_resourceCreate a supported resource from a typed payload
zenml_update_resourceUpdate one exact resource UUID
zenml_delete_resourceDelete or archive one exact resource UUID
zenml_action_resourceRun an allowlisted lifecycle or relation action without retries

Nine focused tools remain because they provide diagnostics, active context, streamed logs or code, pipeline execution, or an interactive App:

  • diagnose_zenml_setup
  • get_active_user and get_active_project
  • trigger_pipeline
  • get_step_logs, get_step_code, and get_deployment_logs
  • open_pipeline_run_dashboard and open_run_activity_chart

get_step_logs returns at most 50,000 entries, oldest first, with a possibly_truncated flag, plus a note saying which entries are missing and why. Pass tail to get only the newest entries. On ZenML 0.97+ servers it pages through the log store; on 0.96 it uses the older single-request endpoint.

Use ZENML_MCP_PROFILE=legacy when an existing client still depends on the old entity-specific names such as list_pipeline_runs. This retains the characterized tool-name and schema compatibility layer for ZenML 0.97.0. It does not add support for older ZenML server versions. Use it only while migrating: legacy response shapes may expose more operational metadata than the compact tools, although the server omits credential-bearing configuration and other sensitive fields from both profiles.

Registration and write access are independent:

ProfilePolicyAdvertised tools
compactread_write16
compactread_only11
legacyread_write57
legacyread_only52

Set ZENML_MCP_WRITE_POLICY=read_only to remove all four generic mutation tools and trigger_pipeline from MCP discovery and dispatch. Resource discovery also omits create, update, delete, and action schemas. The older ZENML_MCP_READ_ONLY=true setting remains accepted; invalid policy values fail closed to read-only mode. An invalid ZENML_MCP_PROFILE stops startup with a configuration error.

Version 2.0.0 requires MCP Python SDK 2.2.0 and ZenML 0.96.4. The compact profile is the new default and is a breaking discovery change for clients that call entity-specific tool names. Set ZENML_MCP_PROFILE=legacy while migrating those clients, then move each call to the generic resource tools.

Mutation results distinguish completed, accepted, and unknown outcomes. The server does not retry a mutation after it may have reached ZenML. For an accepted or unknown result, follow the reconciliation instructions in the response before deciding whether to call again. Use the named read when one is available. Webhook creation and secret rotation can return a new signing secret once; later reads omit it. Delete schemas state whether an operation archives metadata, removes metadata, deprovisions a live resource, or can delete stored artifact data.

The first 2.0 release covers ordinary operations for projects, stacks and components, flavors, services, pipelines and runs, snapshots and templates, deployments, artifacts and versions, models and versions, tags, connectors, code repositories, webhooks, triggers, wait conditions, and hook invocations. Users, schedules, service connector types, secrets, and resource requests have the read-only coverage shown by zenml_describe_resources. It excludes ZenML Cloud control-plane administration, Resource Manager administration, user and credential administration, secret-value CRUD, connector login and verification, raw webhook events, and aggregate debugging or lineage tools.

Start a generic workflow by discovering the precise schema, then calling it:

zenml_describe_resources(resource_type="pipeline_run", operation="list")

zenml_list_resources( resource_type="pipeline_run", filters={"status": "completed", "sort_by": "desc:created"}, page=1, size=10, )

Prompts and resources remain available in both profiles. The analysis prompts, the bounded resource-schema endpoints, and most_recent_runs are MCP prompts or resources rather than tools.

Run-template compatibility

ZenML 0.97.0 retains run-template CRUD APIs. Snapshots are preferred for new workflows. Pipeline convenience creation and the template-based trigger parameter are deprecated. In the legacy profile, get_run_template and list_run_templates remain available for existing clients.

The legacy tag input remains in list_run_templates for schema compatibility, but ZenML 0.97.0 has no equivalent server-side filter. A non-null value is rejected before the SDK call. Snapshot tag filtering remains available.

Migration: Run Templates → Snapshots

Why the change? Snapshots replaced run templates as ZenML's preferred runnable pipeline artifact. The 0.97.0 SDK still supports run-template CRUD, while new code should use snapshots.

Quick Migration Guide
Legacy Pattern (Templates)Compact Pattern (Snapshots)
list_run_templates()zenml_list_resources(resource_type="snapshot", filters={"runnable": true, "named_only": true})
get_run_template(name)zenml_get_resource(resource_type="snapshot", resource_id=id)
trigger_pipeline(template_id=...)trigger_pipeline(snapshot_name_or_id=...)
Example Workflow (Snapshot-First)
1. Discover project context:

→ get_active_project()

  1. Find runnable snapshots: → zenml_list_resources(resource_type="snapshot", filters={"runnable": true, "named_only": true})
  1. Trigger a run: → trigger_pipeline(snapshot_name_or_id="my-snapshot")
  1. Check deployments: → zenml_list_resources(resource_type="deployment", filters={"status": "running"}) → get_deployment_logs(name_id_or_prefix="my-deployment", tail=100)

To override parameters when triggering a runnable snapshot, pass a ZenML run configuration (the snapshot itself remains unchanged):

trigger_pipeline(

snapshot_name_or_id="my-snapshot", run_configuration={ "steps": {"train": {"parameters": {"learning_rate": 0.01}}}, "enable_cache": False, }, )

For static snapshots, override step parameters as shown above. Top-level run_configuration={"parameters": {...}} overrides pipeline function parameters and is supported only for dynamic snapshots; ZenML rejects it for static snapshots.

Note: get_deployment_logs returns bounded output (default 100 lines, max 1000, capped at 100KB) and requires the appropriate deployer integration to be installed.

Quick Setup via Dashboard (Recommended)

The easiest way to set up the ZenML MCP Server is through your ZenML dashboard's MCP Settings page.

Navigate to Settings → MCP in your ZenML dashboard to get:

  • Pre-configured snippets for your specific server URL and credentials
  • One-click installation via deep links for supported IDEs
  • Copy-paste configurations for VS Code, Claude Desktop, Cursor, Claude Code, OpenAI Codex, and more
  • Docker and uv options based on your preference
ZenML Pro Users

The MCP Settings page lets you generate a Personal Access Token (PAT) with a single click. The token is automatically included in all generated configuration snippets.

ZenML OSS Users
  1. First create a service account token via Settings → Service Accounts
  2. Paste the token into the MCP Settings page
  3. Copy the generated configuration for your IDE

Prefer manual setup? See the detailed instructions below.

MCP Apps (Experimental)

What are MCP Apps? MCP Apps are interactive HTML UIs that MCP servers can

serve directly into AI clients. They render in sandboxed iframes and can call

server tools bidirectionally. See the official announcement

for full details.

This server includes two experimental MCP Apps:

AppToolDescription

| Pipeline Runs Dashboard | open_pipeline_run_dashboard

Only the beginning is shown; read the rest in the repo

Ask PopNx