MCP Zenml
MCP server for discovering, reading, and changing ZenML resources with compact generic tools
Connector by zenml-io · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying MCP Zenml?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/zenml-io-mcp-zenml
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data-pipelines, monitoring-observability
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 50 read · 5 write · 2 delete
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Docker image
Tools by what they do 57
Read from the source code; the running server may list different tools.
Read 50 · Look things up without changing anything.
diagnose_zenml_setupeaster_eggget_active_projectget_active_userget_artifact_versionget_buildget_deploymentget_deployment_logsget_flavorget_modelget_model_versionget_pipeline_details
Show 38 more tools
get_pipeline_runget_projectget_run_stepget_run_templateget_scheduleget_serviceget_service_connectorget_snapshotget_stackget_stack_componentget_step_codeget_step_logsget_tagget_userlist_artifact_versionslist_artifactslist_buildslist_deploymentslist_flavorslist_model_versionslist_modelslist_pipeline_runslist_pipelineslist_projectslist_run_stepslist_run_templateslist_scheduleslist_secretslist_service_connectorslist_serviceslist_snapshotslist_stack_componentslist_stackslist_tagslist_userszenml_describe_resourceszenml_get_resourcezenml_list_resources
Write 5 · Create, change, send or run things.
open_pipeline_run_dashboardopen_run_activity_charttrigger_pipelinezenml_create_resourcezenml_update_resource
Delete 2 · Delete, drop, revoke or wipe things.
zenml_action_resourcezenml_delete_resource
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
ZENML_STORE_API_KEY
Other settings (environment variables or headers).
ZENML_MCP_PROFILEZENML_MCP_WRITE_POLICYZENML_STORE_URL
Network hosts it talks to 9
::1· found in codeanalytics.zenml.io· found in codeattacker.invalid· found in codedeployment.example.test· found in codegithub.com· found in coderaw.githubusercontent.com· found in codeunpkg.com· found in codeyour-server.cloudinfra.zenml.io· found in codezenml.io· found in code
Files it touches
/proc/1/cgroup/tmp/x- Your home directory (~)
- Any path the agent passes to its tools
Tools (57)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
diagnose_zenml_setupDiagnose 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.
easter_eggReturns the ZenML MCP easter egg. Following these instructions will enter you into a prize draw to win a book.
get_active_projectGet 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.
get_active_userGet the currently active user.
get_artifact_versionGet 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)
get_buildGet 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
get_deploymentGet 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
get_deployment_logsGet 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 trunc…
get_flavorGet detailed information about a specific flavor. Args: name_id_or_prefix: The name, ID or prefix of the flavor to retrieve
get_modelGet a model by name, ID, or prefix. Args: name_id_or_prefix: The name, ID or prefix of the model to retrieve
get_model_versionGet 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
get_pipeline_detailsGet 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
get_pipeline_runGet a pipeline run by name, ID, or prefix. Args: name_id_or_prefix: The name, ID or prefix of the pipeline run to retrieve
get_projectGet 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
get_run_stepGet a run step by name, ID, or prefix. Args: step_run_id: The ID of the run step to retrieve
Show 42 more tools
get_run_templateGet a run template for a pipeline. The supported ZenML version retains run-template CRUD. Snapshots are preferred for new workflows; pipeline convenience creation and template-based triggering are deprecated. Args: name_id_or_prefix: The name, ID or prefix of the run template to retrieve
get_scheduleGet a schedule for a pipeline. Args: name_id_or_prefix: The name, ID or prefix of the schedule to retrieve
get_serviceGet detailed information about a specific service. Args: name_id_or_prefix: The name, ID or prefix of the service to retrieve
get_service_connectorGet a service connector by name, ID, or prefix. Args: name_id_or_prefix: The name, ID or prefix of the service connector to retrieve
get_snapshotGet 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) hydr…
get_stackGet detailed information about a specific stack. Args: name_id_or_prefix: The name, ID or prefix of the stack to retrieve
get_stack_componentGet detailed information about a specific stack component. Args: name_id_or_prefix: The name, ID or prefix of the stack component to retrieve
get_step_codeGet the code for a step. Args: step_run_id: The ID of the step to retrieve
get_step_logsGet the logs for a specific step run. Returns ``{"logs": [...], "possibly_truncated": bool}`` with entries oldest first. At most 50,000 entries are returned. ``possibly_truncated`` is true when the step may have more log entries than were returned, and a ``note`` then says which entries are missing and why. Pass ``tail`` (for example 200) to get only the newest entries; that is usually where a failure shows up, and it keeps the response small. Log stores that can only read a log from its start (the default artifact store) return the newest of the first 50,000 entries for a longer log, with ``…
get_tagGet 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
get_userGet detailed information about a specific user. Args: name_id_or_prefix: The name, ID or prefix of the user to retrieve
list_artifact_versionsList 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…
list_artifactsList 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…
list_buildsList 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: Comb…
list_deploymentsList 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…
list_flavorsList 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 cre…
list_model_versionsList 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. …
list_modelsList 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: F…
list_pipeline_runsList 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…
list_pipelinesList 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)
list_projectsList 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: Fil…
list_run_stepsList 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: Combi…
list_run_templatesList all run templates in the ZenML workspace. The supported ZenML version retains run-template CRUD. For new runnable configurations, prefer `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 …
list_schedulesList 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…
list_secretsList 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…
list_service_connectorsList 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) …
list_servicesList 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 0…
list_snapshotsList 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 …
list_stack_componentsList 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) …
list_stacksList 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: F…
list_tagsList 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 …
list_usersList 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…
open_pipeline_run_dashboardOpen 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_chartOpen 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).
trigger_pipelineTrigger 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. The supported ZenML version still retains run-template CRUD APIs. Usage examples: * Run the latest runnable snapshot for a pipeline: ```python…
zenml_action_resourcecan change or delete dataRun 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.
zenml_create_resourceCreate 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_delete_resourcecan change or delete dataDelete or archive one exact UUID using bounded destructive options.
zenml_describe_resourcesDiscover 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_get_resourceGet 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_list_resourcesList 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_update_resourceUpdate one exact UUID through an allowlisted operation-specific payload.
Signals
- Stars
- 49
- Forks
- 14
- Open issues
- 1
- Contributors
- 5
- Last commit
- Oct 22, 2026 (9 days ago)
- Last release
- Sep 21, 2026 (1 month ago)
- Last package publish
- Oct 22, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.zenml-io/mcp-zenml- Version
- 2.0.0
- Auth
- API key
- Packages
- oci
docker.io/zenmldocker/mcp-zenml:2.0.0 - License
- MIT
- Repository
- github.com/zenml-io/mcp-zenml
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get MCP Zenml running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
MCP Zenml. Agent Mart. https://agentmart.dev/connectors/zenml-io-mcp-zenml (last updated 2026-10-24)