ZenML MCP Server

An MCP server that provides read access to the ZenML API for managing ML and AI pipelines, enabling interaction with users, stacks, pipelines, runs, services, artifacts, and much more.

Get this MCP server

An MCP server that provides read access to the ZenML API for managing ML and AI pipelines, enabling interaction with users, stacks, pipelines, runs, services, artifacts, and much more.

Installation

From Source Code

git clone https://github.com/zenml-io/mcp-zenml.git

Docker Hub

docker pull zenmldocker/mcp-zenml:latest

Running Docker

docker run -i --rm \
  -e ZENML_STORE_URL="https://your-zenml-server.example.com" \
  -e ZENML_STORE_API_KEY="your-api-key" \
  zenmldocker/mcp-zenml:latest

Local Build

docker build -t zenmldocker/mcp-zenml:local .

MCP Bundle

Drag and drop the mcp-zenml.mcpb file into Claude Desktop settings

Configuration

Claude Desktop / Cursor

{
    "mcpServers": {
        "zenml": {
            "command": "/usr/local/bin/uv",
            "args": ["run", "path/to/server/zenml_server.py"],
            "env": {
                "LOGLEVEL": "WARNING",
                "NO_COLOR": "1",
                "ZENML_LOGGING_COLORS_DISABLED": "true",
                "ZENML_LOGGING_VERBOSITY": "WARN",
                "ZENML_ENABLE_RICH_TRACEBACK": "false",
                "PYTHONUNBUFFERED": "1",
                "PYTHONIOENCODING": "UTF-8",
                "ZENML_STORE_URL": "https://your-zenml-server-goes-here.com",
                "ZENML_STORE_API_KEY": "your-api-key-here"
            }
        }
    }
}

Docker Configuration

{
  "mcpServers": {
    "zenml": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "ZENML_STORE_URL=https://...",
        "-e", "ZENML_STORE_API_KEY=ZENKEY_...",
        "-e", "ZENML_ACTIVE_PROJECT_ID=...",
        "-e", "LOGLEVEL=WARNING",
        "-e", "NO_COLOR=1",
        "-e", "ZENML_LOGGING_COLORS_DISABLED=true",
        "-e", "ZENML_LOGGING_VERBOSITY=WARN",
        "-e", "ZENML_ENABLE_RICH_TRACEBACK=false",
        "-e", "PYTHONUNBUFFERED=1",
        "-e", "PYTHONIOENCODING=UTF-8",
        "zenmldocker/mcp-zenml:latest"
      ]
    }
  }
}

Capabilities

  • Access to core read functionality from the ZenML server
  • Retrieve information about users, stacks, pipelines, and pipeline runs
  • Access to pipeline steps, services, stack components, and flavors
  • View pipeline run templates and schedules
  • Access to artifact metadata (not the data itself)
  • Manage service connectors
  • View step code and step logs (for cloud stacks)
  • Trigger new pipeline runs (if a run template is available)
  • Automatic smoke testing every 3 days
  • Fast CI with UV caching

Environment Variables

Required

  • ZENML_STORE_URL - URL of your ZenML server
  • ZENML_STORE_API_KEY - API key for your ZenML server

Optional

  • ZENML_ACTIVE_PROJECT_ID - Active project ID for ZenML
  • LOGLEVEL - Logging level
  • NO_COLOR - Disable colored output
  • ZENML_LOGGING_COLORS_DISABLED - Disable colors in ZenML logs
  • ZENML_LOGGING_VERBOSITY - ZenML logging verbosity level
  • ZENML_ENABLE_RICH_TRACEBACK - Enable rich tracebacks in ZenML
  • PYTHONUNBUFFERED - Unbuffered Python output
  • PYTHONIOENCODING - Python I/O encoding

Notes

This is a beta/experimental release. You will need access to a deployed ZenML server (a free trial is available with ZenML Pro). The server is published in the official Anthropic MCP Registry and automatically updates with each tagged release. For better display of ZenML tool results in Claude Desktop, consider adding a preference to format JSON responses as markdown tables. Requires UV for local development.

Comments (0)

Sign In Sign in to leave a comment.