io.github.zenml-io/mcp-zenml
OCI · DOCKER.IO/ZENMLDOCKER/MCP-ZENML:1.5.1 · SCANNED SEP 20
MCP server for ZenML - browse stacks, pipelines, runs, artifacts & trigger pipeline runs via API
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- Malware scan not yet available for this package.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 187 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability76
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 9124 tokens (~172/item across 53 items; 50 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management83
- Stability observed for 25 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 50 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 52 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the io.github.zenml-io/mcp-zenml server?
io.github.zenml-io/mcp-zenml runs locally as a container image, launched with docker run --rm -i docker.io/zenmldocker/mcp-zenml:1.5.1. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.
oci · docker.io/zenmldocker/mcp-zenml:1.5.1
claude mcp add zenml-io-mcp-zenml -- docker run --rm -i docker.io/zenmldocker/mcp-zenml:1.5.1
{
"mcpServers": {
"zenml-io-mcp-zenml": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"docker.io/zenmldocker/mcp-zenml:1.5.1"
]
}
}
} {
"servers": {
"zenml-io-mcp-zenml": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"docker.io/zenmldocker/mcp-zenml:1.5.1"
]
}
}
} codex mcp add zenml-io-mcp-zenml -- docker run --rm -i docker.io/zenmldocker/mcp-zenml:1.5.1
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"zenml-io-mcp-zenml": {
"type": "local",
"command": [
"docker",
"run",
"--rm",
"-i",
"docker.io/zenmldocker/mcp-zenml:1.5.1"
],
"enabled": true
}
}
} mcp_servers:
zenml-io-mcp-zenml:
command: "docker"
args: ["run", "--rm", "-i", "docker.io/zenmldocker/mcp-zenml:1.5.1"] {
"McpServers": {
"zenml-io-mcp-zenml": {
"Transport": "stdio",
"Command": "docker",
"Arguments": [
"run",
"--rm",
"-i",
"docker.io/zenmldocker/mcp-zenml:1.5.1"
]
}
}
} {
"mcpServers": {
"zenml-io-mcp-zenml": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"docker.io/zenmldocker/mcp-zenml:1.5.1"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 −2
- Stability: pass → 0.80 functional
- 18 Sept 26 0
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 0
- Security disclosure: unverified → fail ▼ functional
- 12 Sept 26 −2
- Security disclosure: fail → unverified ▼ functional
- Stability: pass → 0.80 functional
- 11 Sept 26 0
- Stability: 0.97 → pass security
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed oci/docker.io/zenmldocker/mcp-zenml:1.5.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | oci |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
diagnose_zenml_setup ~69
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.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
easter_egg ~38
Returns the ZenML MCP easter egg. Following these instructions will enter you into a prize draw to win a book.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_active_project ~45
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.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_active_user ~15
Get the currently active user.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
get_artifact_version ~65
Get detailed information about a specific artifact version. Args: name_id_or_prefix: The name, ID or prefix of the artifact version: Optional specific version (defaults to latest)
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
| version | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_build ~107
Get detailed information about a specific pipeline build. Builds contain image info, code embedding, and stack checksums that explain reproducibility and infrastructure setup for pipeline runs. Args: id_or_prefix: The ID or prefix of the build to retrieve project: Optional project scope (defaults to active project) hydrate: Whether to hydrate the response with additional details
| Name | Type | Req | Description |
|---|---|---|---|
| hydrate | boolean | – | – |
| id_or_prefix | string | yes | – |
| project | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_deployment ~115
Get detailed information about a specific deployment. Deployments represent the runtime state of what's currently serving/provisioned, including status, URL, and metadata. They tie back to snapshots. Args: name_id_or_prefix: The name, ID or prefix of the deployment to retrieve project: Optional project scope (defaults to active project) hydrate: Whether to hydrate the response with additional details
| Name | Type | Req | Description |
|---|---|---|---|
| hydrate | boolean | – | – |
| name_id_or_prefix | string | yes | – |
| project | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_deployment_logs ~160
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
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
| project | – | – | – |
| tail | integer | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_flavor ~49
Get detailed information about a specific flavor. Args: name_id_or_prefix: The name, ID or prefix of the flavor to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_model ~51
Get a model by name, ID, or prefix. Args: name_id_or_prefix: The name, ID or prefix of the model to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_model_version ~88
Get a model version by name, ID, or prefix. Args: model_name_or_id: The name, ID or prefix of the model to retrieve model_version_name_or_number_or_id: The name, ID or prefix of the model version to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| model_name_or_id | string | yes | – |
| model_version_name_or_number_or_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_pipeline_details ~71
Get detailed information about a specific pipeline. Args: name_id_or_prefix: The name, ID or prefix of the pipeline to retrieve num_runs: The number of runs to get the status of
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
| num_runs | integer | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_pipeline_run ~54
Get a pipeline run by name, ID, or prefix. Args: name_id_or_prefix: The name, ID or prefix of the pipeline run to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_project ~67
Get detailed information about a specific project. Args: name_id_or_prefix: The name, ID or prefix of the project to retrieve hydrate: Whether to hydrate the response with additional details
| Name | Type | Req | Description |
|---|---|---|---|
| hydrate | boolean | – | – |
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_run_step ~48
Get a run step by name, ID, or prefix. Args: step_run_id: The ID of the run step to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| step_run_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_run_template ~98
Get a run template for a pipeline. ⚠️ DEPRECATED: Run Templates are deprecated in ZenML. Use `get_snapshot` instead. Snapshots are the modern replacement for run templates and provide the same functionality with better integration into the ZenML ecosystem. Args: name_id_or_prefix: The name, ID or prefix of the run template to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_schedule ~47
Get a schedule for a pipeline. Args: name_id_or_prefix: The name, ID or prefix of the schedule to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_service ~48
Get detailed information about a specific service. Args: name_id_or_prefix: The name, ID or prefix of the service to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_service_connector ~54
Get a service connector by name, ID, or prefix. Args: name_id_or_prefix: The name, ID or prefix of the service connector to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_snapshot ~178
Get detailed information about a specific snapshot. Snapshots are frozen pipeline configurations that link pipeline + stack + build + schedule + tags together. They represent "what exactly ran/is deployed" and are the modern replacement for Run Templates. Args: name_id_or_prefix: The name, ID or prefix of the snapshot to retrieve pipeline_name_or_id: Optional pipeline context to narrow the search project: Optional project scope (defaults to active project) include_config_schema: Whether to include the config schema in the response (can produce large payloads) hydrate: Whether to hydrate the response with additional details
| Name | Type | Req | Description |
|---|---|---|---|
| hydrate | boolean | – | – |
| include_config_schema | – | – | – |
| name_id_or_prefix | string | yes | – |
| pipeline_name_or_id | – | – | – |
| project | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_stack ~48
Get detailed information about a specific stack. Args: name_id_or_prefix: The name, ID or prefix of the stack to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_stack_component ~51
Get detailed information about a specific stack component. Args: name_id_or_prefix: The name, ID or prefix of the stack component to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_step_code ~42
Get the code for a step. Args: step_run_id: The ID of the step to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| step_run_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_step_logs ~47
Get the logs for a specific step run. Args: step_run_id: The ID of the step run to get logs for
| Name | Type | Req | Description |
|---|---|---|---|
| step_run_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_tag ~95
Get detailed information about a specific tag. Tags are cross-cutting metadata labels for discovery (prod, staging, latest, candidate, etc.). Many ZenML entities can be tagged. Args: tag_name_or_id: The name or ID of the tag to retrieve hydrate: Whether to hydrate the response with additional details
| Name | Type | Req | Description |
|---|---|---|---|
| hydrate | boolean | – | – |
| tag_name_or_id | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
get_user ~48
Get detailed information about a specific user. Args: name_id_or_prefix: The name, ID or prefix of the user to retrieve
| Name | Type | Req | Description |
|---|---|---|---|
| name_id_or_prefix | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_artifact_versions ~291
List all versions of a specific artifact. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: artifact_name_or_id: The name or UUID of the artifact sort_by: Sort field and direction (e.g. desc:created) page: Page number (1-indexed) size: Results per page (keep small — version payloads are large) logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) tag: Filter by tag name
| Name | Type | Req | Description |
|---|---|---|---|
| artifact_name_or_id | string | yes | – |
| created | – | – | – |
| logical_operator | string | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| tag | – | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_artifacts ~281
List all artifacts in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page (keep small — artifact payloads are large) logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by artifact name (e.g. contains:model)
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| tag | – | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_builds ~355
List all pipeline builds in the ZenML workspace. Builds contain image info, code embedding, and stack checksums for reproducibility and infrastructure debugging. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) pipeline_id: Filter by pipeline UUID stack_id: Filter by stack UUID is_local: If True, only local builds (not runnable from server) contains_code: If True, only builds with embedded code project: Project scope (defaults to active project)
| Name | Type | Req | Description |
|---|---|---|---|
| contains_code | – | – | – |
| created | – | – | – |
| is_local | – | – | – |
| logical_operator | string | – | – |
| page | integer | – | – |
| pipeline_id | – | – | – |
| project | – | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| stack_id | – | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_deployments ~374
List all deployments in the ZenML workspace. Deployments show what's currently serving/provisioned with runtime status. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by deployment name (e.g. contains:prod) status: Filter by status (e.g. oneof:running,error) url: Filter by deployment URL pipeline: Filter by pipeline name or UUID snapshot_id: Filter by source snapshot UUID tag: Filter by tag name project: Project scope (defaults to active project)
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| pipeline | – | – | – |
| project | – | – | – |
| size | integer | – | – |
| snapshot_id | – | – | – |
| sort_by | string | – | – |
| status | – | – | – |
| tag | – | – | – |
| updated | – | – | – |
| url | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_flavors ~236
List all flavors in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' id: Filter by flavor UUID created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created)
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| id | – | – | – |
| integration | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_model_versions ~330
List all model versions for a model. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: model_name_or_id: The name or UUID of the model sort_by: Sort field and direction (e.g. desc:created) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by version name number: Filter by version number stage: Filter by stage (e.g. oneof:production,staging) tag: Filter by tag name
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| logical_operator | string | – | – |
| model_name_or_id | string | yes | – |
| name | – | – | – |
| number | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| stage | – | – | – |
| tag | – | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_models ~287
List all models in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by model name (e.g. contains:bert) tag: Filter by tag name (e.g. contains:prod)
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| tag | – | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_pipeline_runs ~531
List all pipeline runs in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. The 'total' field gives the global count matching your filters — useful for answering 'how many runs?' without fetching all pages. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Date range: 'in:2026-02-01 00:00:00,2026-02-07 23:59:59'. Args: sort_by: Sort field and direction (e.g. desc:created, asc:start_time) page: Page number (1-indexed) size: Results per page (keep small for runs — they have large payloads) logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by run name (e.g. contains:training) pipeline_id: Filter by pipeline UUID pipeline_name: Filter by pipeline name (e.g. contains:my_pipeline) stack_id: Filter by stack UUID status: Filter by run status (e.g. oneof:completed,failed). Values: initializing, failed, completed, running, cached start_time: Filter by run start time (e.g. gte:2026-02-01 00:00:00) end_time: Filter by run end time (e.g. lte:2026-02-07 23:59:59) stack: Filter by stack name stack_component: Filter by stack component name
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| end_time | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| pipeline_id | – | – | – |
| pipeline_name | – | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| stack | – | – | – |
| stack_component | – | – | – |
| stack_id | – | – | – |
| start_time | – | – | – |
| status | – | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_pipelines ~226
List all pipelines in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created)
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_projects ~290
List all projects in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. The 'total' field gives the global count matching your filters. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by project name display_name: Filter by project display name
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| display_name | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_run_steps ~417
List all run steps in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. The 'total' field gives the global count matching your filters. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:start_time) page: Page number (1-indexed) size: Results per page (keep small — step payloads are large) logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by step name (e.g. contains:train) status: Filter by step status (e.g. oneof:completed,failed). Values: initializing, failed, completed, running, cached start_time: Filter by step start time (e.g. gte:2026-02-01 00:00:00) end_time: Filter by step end time (e.g. lte:2026-02-07 23:59:59) pipeline_run_id: Filter by pipeline run UUID
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| end_time | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| pipeline_run_id | – | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| start_time | – | – | – |
| status | – | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_run_templates ~288
List all run templates in the ZenML workspace. DEPRECATED: Use `list_snapshots` instead. For runnable configs, use `list_snapshots(runnable=True)`. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by template name (e.g. contains:train) tag: Filter by tag name
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| name | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| tag | – | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_schedules ~304
List all schedules in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by schedule name (e.g. contains:daily) pipeline_id: Filter by pipeline UUID orchestrator_id: Filter by orchestrator UUID active: Filter by active status (True/False)
| Name | Type | Req | Description |
|---|---|---|---|
| active | – | – | – |
| created | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| orchestrator_id | – | – | – |
| page | integer | – | – |
| pipeline_id | – | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_secrets ~274
List all secrets in the ZenML workspace (names only, no values). Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by secret name (e.g. contains:api)
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_service_connectors ~292
List all service connectors in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by connector name (e.g. contains:aws) connector_type: Filter by connector type (e.g. contains:gcp)
| Name | Type | Req | Description |
|---|---|---|---|
| connector_type | – | – | – |
| created | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_services ~360
List all services in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' id: Filter by service UUID created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) running: Whether the service is running service_name: The name of the service pipeline_name: The name of the pipeline pipeline_run_id: The ID of the pipeline run pipeline_step_name: The name of the pipeline step model_version_id: The ID of the model version
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| id | – | – | – |
| logical_operator | string | – | – |
| model_version_id | – | – | – |
| page | integer | – | – |
| pipeline_name | – | – | – |
| pipeline_run_id | – | – | – |
| pipeline_step_name | – | – | – |
| running | – | – | – |
| service_name | – | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_snapshots ~417
List all snapshots in the ZenML workspace. Snapshots are frozen pipeline configurations (replacing deprecated Run Templates). Use `runnable=True` to find snapshots that can be triggered. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by snapshot name (e.g. contains:prod) pipeline: Filter by pipeline name or UUID runnable: If True, only return snapshots that can be triggered deployable: If True, only return deployable snapshots deployed: If True, only return currently deployed snapshots tag: Filter by tag name project: Project scope (defaults to active project) named_only: Only named snapshots (default True to skip internal ones)
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| deployable | – | – | – |
| deployed | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| named_only | – | – | – |
| page | integer | – | – |
| pipeline | – | – | – |
| project | – | – | – |
| runnable | – | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| tag | – | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_stack_components ~304
List all stack components in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by component name (e.g. contains:s3) flavor: Filter by flavor name (e.g. contains:aws) stack_id: Filter by stack UUID
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| flavor | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| stack_id | – | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_stacks ~268
List all stacks in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by stack name (e.g. contains:prod)
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_tags ~331
List all tags in the ZenML workspace. Tags enable queries like 'show me all prod deployments' and help organize resources. Exclusive tags can only be applied once per entity. Returns paginated results with 'items', 'total', 'page', 'size' fields. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-02-01 00:00:00) updated: Filter by update time (same syntax as created) name: Filter by tag name (e.g. contains:prod) exclusive: If True, only return exclusive tags resource_type: Filter by resource type the tag applies to
| Name | Type | Req | Description |
|---|---|---|---|
| created | – | – | – |
| exclusive | – | – | – |
| logical_operator | string | – | – |
| name | – | – | – |
| page | integer | – | – |
| resource_type | – | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
list_users ~274
List all users in the ZenML workspace. Returns paginated results with 'items', 'total', 'page', 'size' fields. The 'total' field gives the global count matching your filters. Filter syntax: String params support 'op:value' operators (gte, lte, gt, lt, equals, notequals, contains, startswith, endswith, oneof, in). Datetime format: 'YYYY-MM-DD HH:MM:SS' (e.g. gte:2026-02-01 00:00:00). Args: sort_by: Sort field and direction (e.g. desc:created, asc:name) page: Page number (1-indexed) size: Results per page logical_operator: Combine filters with 'and' or 'or' created: Filter by creation time (e.g. gte:2026-01-01 00:00:00) updated: Filter by update time (same syntax as created) active: Filter by active status
| Name | Type | Req | Description |
|---|---|---|---|
| active | – | – | – |
| created | – | – | – |
| logical_operator | string | – | – |
| page | integer | – | – |
| size | integer | – | – |
| sort_by | string | – | – |
| updated | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
open_pipeline_run_dashboard ~63
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
open_run_activity_chart ~58
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).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
trigger_pipeline ~306
Trigger a pipeline to run from the server. Args: pipeline_name_or_id: The name or ID of the pipeline to trigger 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 - Use `snapshot_name_or_id` instead. The ID of a run template to use. Run Templates are deprecated and will be removed in a future version. 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( pipeline_name_or_id=<NAME>, snapshot_name_or_id=<SNAPSHOT_NAME_OR_ID> ) ``` * Run a specific template (DEPRECATED - use snapshot_name_or_id instead): ```python trigger_pipeline(pipeline_name_or_id=<NAME>, template_id=<ID>) ```
| Name | Type | Req | Description |
|---|---|---|---|
| pipeline_name_or_id | string | yes | – |
| snapshot_name_or_id | – | – | – |
| stack_name_or_id | – | – | – |
| template_id | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
What is the io.github.zenml-io/mcp-zenml server?
io.github.zenml-io/mcp-zenml is listed in the public MCP registry as io.github.zenml-io/mcp-zenml. MCP server for ZenML - browse stacks, pipelines, runs, artifacts & trigger pipeline runs via API. This page covers its container image (docker.io/zenmldocker/mcp-zenml:1.5.1).
Is the io.github.zenml-io/mcp-zenml server safe to use?
io.github.zenml-io/mcp-zenml scores 50 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.zenml-io/mcp-zenml server expose?
io.github.zenml-io/mcp-zenml exposes 50 tools: diagnose_zenml_setup, get_step_logs, list_users, get_user, get_active_user, and 45 more. Their descriptions and schemas cost roughly 8,955 tokens of context every time the server is loaded.
Is the io.github.zenml-io/mcp-zenml server still maintained?
io.github.zenml-io/mcp-zenml is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.zenml-io/mcp-zenml server under?
io.github.zenml-io/mcp-zenml declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.