Skip to content
Agentmart
Submit a tool

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

IndexedMITLocal (stdio)★ 49
Write a review

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.

Book a call

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.

We use your email only for this newsletter. Privacy

About

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

Use cases: data-pipelines, monitoring-observability

No 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_setup
  • easter_egg
  • get_active_project
  • get_active_user
  • get_artifact_version
  • get_build
  • get_deployment
  • get_deployment_logs
  • get_flavor
  • get_model
  • get_model_version
  • get_pipeline_details
Show 38 more tools
  • get_pipeline_run
  • get_project
  • get_run_step
  • get_run_template
  • get_schedule
  • get_service
  • get_service_connector
  • get_snapshot
  • get_stack
  • get_stack_component
  • get_step_code
  • get_step_logs
  • get_tag
  • get_user
  • list_artifact_versions
  • list_artifacts
  • list_builds
  • list_deployments
  • list_flavors
  • list_model_versions
  • list_models
  • list_pipeline_runs
  • list_pipelines
  • list_projects
  • list_run_steps
  • list_run_templates
  • list_schedules
  • list_secrets
  • list_service_connectors
  • list_services
  • list_snapshots
  • list_stack_components
  • list_stacks
  • list_tags
  • list_users
  • zenml_describe_resources
  • zenml_get_resource
  • zenml_list_resources

Write 5 · Create, change, send or run things.

  • open_pipeline_run_dashboard
  • open_run_activity_chart
  • trigger_pipeline
  • zenml_create_resource
  • zenml_update_resource

Delete 2 · Delete, drop, revoke or wipe things.

  • zenml_action_resource
  • zenml_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_PROFILE
  • ZENML_MCP_WRITE_POLICY
  • ZENML_STORE_URL

Network hosts it talks to 9

  • ::1 · found in code
  • analytics.zenml.io · found in code
  • attacker.invalid · found in code
  • deployment.example.test · found in code
  • github.com · found in code
  • raw.githubusercontent.com · found in code
  • unpkg.com · found in code
  • your-server.cloudinfra.zenml.io · found in code
  • zenml.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_setup

    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.

  • easter_egg

    Returns the ZenML MCP easter egg. Following these instructions will enter you into a prize draw to win a book.

  • get_active_project

    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.

  • get_active_user

    Get the currently active user.

  • get_artifact_version

    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)

  • get_build

    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

  • get_deployment

    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

  • get_deployment_logs

    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 trunc…

  • get_flavor

    Get detailed information about a specific flavor. Args: name_id_or_prefix: The name, ID or prefix of the flavor to retrieve

  • get_model

    Get a model by name, ID, or prefix. Args: name_id_or_prefix: The name, ID or prefix of the model to retrieve

  • get_model_version

    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

  • get_pipeline_details

    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

  • get_pipeline_run

    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

  • get_project

    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

  • get_run_step

    Get 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_template

    Get 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_schedule

    Get a schedule for a pipeline. Args: name_id_or_prefix: The name, ID or prefix of the schedule to retrieve

  • get_service

    Get detailed information about a specific service. Args: name_id_or_prefix: The name, ID or prefix of the service to retrieve

  • get_service_connector

    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

  • get_snapshot

    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) hydr…

  • get_stack

    Get detailed information about a specific stack. Args: name_id_or_prefix: The name, ID or prefix of the stack to retrieve

  • get_stack_component

    Get 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_code

    Get the code for a step. Args: step_run_id: The ID of the step to retrieve

  • get_step_logs

    Get 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_tag

    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

  • get_user

    Get detailed information about a specific user. Args: name_id_or_prefix: The name, ID or prefix of the user to retrieve

  • list_artifact_versions

    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…

  • list_artifacts

    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…

  • list_builds

    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: Comb…

  • list_deployments

    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…

  • list_flavors

    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 cre…

  • list_model_versions

    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. …

  • list_models

    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: F…

  • list_pipeline_runs

    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…

  • list_pipelines

    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)

  • list_projects

    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: Fil…

  • list_run_steps

    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: Combi…

  • list_run_templates

    List 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_schedules

    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…

  • list_secrets

    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…

  • list_service_connectors

    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) …

  • list_services

    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 0…

  • list_snapshots

    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 …

  • list_stack_components

    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) …

  • list_stacks

    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: F…

  • list_tags

    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 …

  • list_users

    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…

  • open_pipeline_run_dashboard

    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_chart

    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).

  • trigger_pipeline

    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. 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 data

    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.

  • zenml_create_resource

    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_delete_resourcecan change or delete data

    Delete or archive one exact UUID using bounded destructive options.

  • zenml_describe_resources

    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_get_resource

    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_list_resources

    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_update_resource

    Update 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
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.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying MCP Zenml?

CallGet help
Cite this page

MCP Zenml. Agent Mart. https://agentmart.dev/connectors/zenml-io-mcp-zenml (last updated 2026-10-24)