Skip to main content
Glama
zenml-io

ZenML MCP Server

Official
by zenml-io

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOGLEVELNoLog level for the serverINFO
NO_COLORNoDisable colored output1
ZENML_STORE_URLYesThe URL of your ZenML server (e.g., https://d534d987a-zenml.cloudinfra.zenml.io)
PYTHONIOENCODINGNoPython IO encodingUTF-8
PYTHONUNBUFFEREDNoPython unbuffered mode1
ZENML_STORE_API_KEYYesThe API key for your ZenML server

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
diagnose_zenml_setupA

Diagnose ZenML MCP server setup (env vars, connectivity, auth, versions).

Returns structured diagnostics about the server's configuration and connectivity. This tool works even when the ZenML SDK is not installed or environment variables are missing - use it to troubleshoot setup issues.

get_step_logsA

Get the logs for a specific step run.

Args:
    step_run_id: The ID of the step run to get logs for.
    source: Optional log source. Defaults to ZenML's ordinary ``step`` source.
    logs_id: Optional exact log record ID. Cannot be combined with ``source``.
zenml_describe_resourcesA

Discover supported generic ZenML resources or one operation schema.

With no arguments this returns a short catalog. Pass a canonical singular resource type to inspect its operations, and add an operation name for its bounded input schema and a small example.

zenml_list_resourcesA

List one allowlisted ZenML resource type with validated filters.

Use ``zenml_describe_resources(resource_type, "list")`` to discover the
accepted filters. Page sizes are capped at 200. Project-scoped reads use
``project_id`` when supplied and otherwise report the active project used.
zenml_get_resourceB

Get one allowlisted ZenML resource by its identifier.

Artifact versions, model versions, and run steps require their parent identifier. Stack components require their fixed component type.

zenml_create_resourceA

Create one allowlisted ZenML resource with a strict typed payload.

Inspect ``zenml_describe_resources(resource_type, "create")`` first.
Project-scoped creates require an exact project UUID and never change the
client's active project.
zenml_update_resourceB

Update one exact UUID through an allowlisted operation-specific payload.

zenml_delete_resourceB

Delete or archive one exact UUID using bounded destructive options.

zenml_action_resourceA

Run one finite ZenML lifecycle or relation action.

Inspect ``zenml_describe_resources(resource_type, "action")`` for the exact
action names and payload schema. Every identifier must be an exact UUID.
Actions may have effects outside the ZenML server and are never retried.
get_active_userA

Get the currently active user.

get_active_projectB

Get the currently active project.

Projects are organizational containers for ZenML resources. Most SDK methods are project-scoped, and this tool returns the default project context.

trigger_pipelineA

Trigger a pipeline to run from the server.

Args:
    pipeline_name_or_id: Optional name or ID of the pipeline to trigger. A
        snapshot or template can be triggered without it.
    snapshot_name_or_id: The name or ID of a specific snapshot to run (preferred)
    stack_name_or_id: Optional stack override for the run
    template_id: Deprecated template-based trigger parameter. Use
        `snapshot_name_or_id` for new integrations. ZenML 0.96.4 still
        retains run-template CRUD APIs.

Usage examples:
    * Run the latest runnable snapshot for a pipeline:
    ```python
    trigger_pipeline(pipeline_name_or_id=<NAME>)
    ```
    * Run the latest runnable snapshot for a pipeline on a specific stack:
    ```python
    trigger_pipeline(
        pipeline_name_or_id=<NAME>,
        stack_name_or_id=<STACK_NAME_OR_ID>
    )
    ```
    * Run a specific snapshot (RECOMMENDED):
    ```python
    trigger_pipeline(
        snapshot_name_or_id=<SNAPSHOT_NAME_OR_ID>
    )
    ```
    * Run a specific template (DEPRECATED - use snapshot_name_or_id instead):
    ```python
    trigger_pipeline(template_id=<ID>)
    ```
get_deployment_logsB

Get logs for a specific deployment.

Retrieves logs from the deployment's underlying infrastructure. This is useful
for debugging deployment issues or monitoring deployment behavior.

Note: Log availability depends on the deployer plugin being installed and
the deployment infrastructure supporting log retrieval.

Args:
    name_id_or_prefix: The name, ID or prefix of the deployment
    project: Optional project scope (defaults to active project)
    tail: Number of recent log lines to retrieve (default: 100, max recommended: 500)

Returns:
    Dict with 'logs' (string) and metadata about truncation if applicable
get_step_codeC

Get the code for a step.

Args:
    step_run_id: The ID of the step to retrieve
open_pipeline_run_dashboardA

Open an interactive dashboard of recent ZenML pipeline runs.

The dashboard shows pipeline runs with status indicators, expandable step details, filtering, and drill-down into step logs — all in an interactive UI. The dashboard fetches its own data dynamically.

open_run_activity_chartA

Open an interactive chart showing pipeline run activity over the last 30 days.

Shows a bar chart with daily run counts, hover tooltips, and status breakdown (completed in green, failed in red, other in amber).

Prompts

Interactive templates invoked by user choice

NameDescription
stack_components_analysisAnalyze the stacks in the ZenML workspace.
recent_runs_analysisAnalyze the recent runs in the ZenML workspace.

Resources

Contextual data attached and managed by the client

NameDescription
zenml_resource_catalogReturn the bounded generic-resource catalog without detailed schemas.
pipeline_runs_dashboard_uiZenML MCP App: Pipeline Run Dashboard (HTML entrypoint).
run_activity_chart_uiZenML MCP App: Run Activity Chart (HTML entrypoint).
list_appsList available MCP Apps provided by this server.

TDQS

A3.7/5.0

Scored across 16 tools

Disambiguation5/5

Each tool has a distinct purpose: resource CRUD operations are clearly separated by verb (list, get, create, update, delete, action), and specific tools for logs, code, diagnostics, and dashboards are differentiated by target entity (step, deployment, pipeline, user, project). No two tools appear to perform the same function.

Naming Consistency4/5

The tool names follow a predictable pattern: generic resource operations all use the 'zenml_<verb>_resource' convention, while specific operations use descriptive verbs like 'get_', 'open_', 'trigger_', and 'diagnose_'. This creates two consistent sub-patterns, but the mix is still readable and distinguishable.

Tool Count4/5

With 16 tools, the server is slightly above the typical 3-15 range but still well-scoped for a comprehensive ZenML MCP server. Each tool serves a clear purpose, covering resource management, pipeline execution, logging, diagnostics, and visualization without redundancy.

Completeness5/5

The tool set provides full CRUD and lifecycle coverage through the generic resource tools, supplemented by specific operations for pipeline triggering, log retrieval, step code, and user/project context. The dashboard and chart tools offer monitoring capabilities, leaving no obvious gaps for common ZenML workflows.

Maintenance

ActivityMaintained
ResponsivenessSlow