MC

mctl-platform

Interface for the mctl Kubernetes platform to manage services, workspaces, and deployments via MCP.

Install

mkdir -p .claude/skills/mctl-platform && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18454" && unzip -o skill.zip -d .claude/skills/mctl-platform && rm skill.zip

Installs to .claude/skills/mctl-platform

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Skill for managing services on the mctl Kubernetes platform via MCP connector.
78 chars · catalog descriptionno explicit “when” trigger
Intermediate

Key capabilities

  • Check user identity and teams with `mctl_whoami`
  • Create workspaces using `mctl_create_tenant`
  • Deploy services with `mctl_deploy_service`
  • Get service status and configuration
  • Retrieve service logs from Loki
  • Manage repository access and synchronization

How it works

The skill interacts with the mctl Kubernetes platform via MCP tools, triggering Argo Workflows and GitOps commits for service management and deployment.

Inputs & outputs

You give it
A request to manage services, deploy applications, or query status on the mctl platform
You get back
Execution of mctl commands, status information, logs, or configuration details

When to use mctl-platform

  • Onboarding a new team tenant
  • Deploying a new service to Kubernetes
  • Checking service logs on mctl

About this skill

MCTL Platform Operations

Skill for managing services on the mctl Kubernetes platform via MCP connector.

Overview

mctl is a self-service Kubernetes platform. You interact with it through 30 MCP tools (prefixed mctl_*). Every write operation triggers an Argo Workflow and produces a git commit.

MCP Server URL: https://api.mctl.ai/mcp

Architecture

User prompt → Claude → MCP tool call → mctl-api → Argo Workflow → GitOps commit → ArgoCD → K8s
  • Builds: GitHub Actions (docker build+push to ghcr.io/mctlhq/)
  • Config: Helm values in git → ArgoCD auto-sync
  • Secrets: HashiCorp Vault → ExternalSecrets → K8s Secrets
  • Domains: auto {team}-{service}.mctl.ai + .mctl.me mirror
  • Logs: Loki (query via mctl_get_service_logs)

Quick Start

Create workspace + deploy a service

mctl_whoami                    → check identity
mctl_create_tenant("my-team")  → provision workspace
mctl_deploy_service(
  action="onboard",
  team_name="my-team",
  component_name="hello-world",
  dockerfile_repo="user/hello-world",
  git_tag="v1.0.0"
)
→ Service at https://my-team-hello-world.mctl.ai

Deploy OpenClaw (AI Gateway)

mctl_deploy_service(
  action="onboard",
  team_name="my-team",
  component_name="openclaw",
  dockerfile_repo="openclaw/openclaw",
  git_tag="main",
  service_template="openclaw"
)
→ Dashboard at https://my-team-openclaw.mctl.ai/#token={auto-generated}

The openclaw template pre-configures: 1Gi memory, 5min startup probe, gateway config (LAN bind, token auth, trusted K8s proxies), Control UI enabled.

Tool Reference

Identity & Workspace

ToolDescription
mctl_whoamiYour user ID, teams, admin status
mctl_create_tenant(tenant_name)Create workspace (1 per user)
mctl_get_tenant(name)Workspace details, members, quotas
mctl_delete_tenant(tenant_name)⚠️ Delete workspace permanently

Service Lifecycle

ToolDescription
mctl_deploy_service(action, team, component, repo, tag)Onboard / deploy / update-config
mctl_get_service_status(team, service)Sync state + health
mctl_get_service_config(team, service)Full config from GitOps
mctl_get_service_logs(team, service, lines, since)Logs from Loki
mctl_rollback_service(team, component, target_tag)Revert to previous tag
mctl_scale_service(team, component, autoscaling_enabled)HPA configuration
mctl_retire_service(team, component)⚠️ Delete service permanently

Repository Management

ToolDescription
mctl_list_repos(team)Available repos
mctl_sync_repos(team)Discover new repos from GitHub App
mctl_grant_repo_access(team, repo)Get GitHub App install URL

Preview Environments

ToolDescription
mctl_create_preview(team, component, image_tag)Ephemeral env (24h TTL)
mctl_list_previews(team)Active previews
mctl_delete_preview(team, component, preview_id)Remove preview

Custom Domains

ToolDescription
mctl_add_custom_domain(team, service, domain)Add custom domain
mctl_verify_domain(team, service)Check CNAME config
mctl_list_domains(team)All domains + status
mctl_remove_custom_domain(team, service, domain)Remove domain

Database

ToolDescription
mctl_provision_database(team, app)PostgreSQL on shared CNPG cluster

Credentials auto-injected: DATABASE_URL, DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME.

Monitoring & Audit

ToolDescription
mctl_get_resource_usage(team)CPU, memory, pods vs quotas
mctl_get_workflow_status(workflow_name)Workflow progress + logs
mctl_list_workflows(team)Recent workflow runs
mctl_list_recent_operationsAudit log (last 50)
mctl_list_operationsAll available operations
mctl_get_operation(name)Operation parameter schema

Deploy Actions Explained

ActionWhenWhat happens
onboardFirst deployBuild image → create Helm manifests → commit to GitOps → ArgoCD sync
deployVersion updateRebuild image → update image tag → ArgoCD sync
update-configEnv/secret changeUpdate values.yaml only → ArgoCD sync (no rebuild)

Service Templates

TemplatePortMemorySpecial Config
default8080256MiStandard HTTP service
openclaw187891GiGateway config ConfigMap, 5min startup probe, NODE_OPTIONS=--max-old-space-size=768

Repo Access Patterns

  1. Org repos (mctlhq/*) → automatic via GitHub App
  2. User public repos → install GitHub App via mctl_grant_repo_access URL → mctl_sync_repos
  3. External public repos (e.g. openclaw/openclaw) → deploy directly, no registration needed
  4. Private external repos → store PAT in Vault: secret/data/teams/{team}/{service}/repo-pat → {"pat": "ghp_..."}

Troubleshooting

Service not starting

mctl_get_service_status → check if Synced/Healthy
mctl_get_service_logs(since="15m", lines="200") → look for errors
mctl_get_resource_usage → check quota headroom

Build failed

mctl_get_workflow_status(workflow_name) → read build logs

Common causes: Dockerfile error, repo not accessible, out of memory during build.

OOM / Restart loop

Check mctl_get_service_logs for "OOMKilled" or exit code 137. Fix: redeploy with higher memory via update-config or use appropriate service template.

Safety Rules

  • Always confirm before calling mctl_retire_service or mctl_delete_tenant — these are irreversible
  • Track workflows: every write op returns workflow_name — call mctl_get_workflow_status to report result
  • Team-scoped: you can only access workspaces the user belongs to
  • All operations produce git commits → full audit trail

When not to use it

  • When not managing services on the mctl Kubernetes platform
  • When not interacting via MCP connector

Limitations

  • The skill requires interaction via MCP connector
  • The skill triggers Argo Workflows and GitOps commits for write operations
  • The skill requires confirmation for `mctl_retire_service` or `mctl_delete_tenant`

How it compares

This skill provides a self-service interface for Kubernetes operations on the mctl platform, automating complex deployments and configurations through specific tools.

Compared to similar skills

mctl-platform side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
mctl-platform (this skill)04moNo flagsIntermediate
deployment-engineer43moNo flagsAdvanced
devops26moReviewIntermediate
kcli-cluster-deployment24moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry