Skip to content
Agentmart
Submit a tool

k8s AIops

Governed Kubernetes ops — 55 MCP tools with audit, budget, undo, risk-tier audit labels.

Connector by AIops-tools · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

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/aiops-tools-k8s-aiops

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

Governed Kubernetes ops — 55 MCP tools with audit, budget, undo, risk-tier audit labels.

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
39 read · 12 write · 4 delete
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 55

Read from the source code; the running server may list different tools.

Read 39 · Look things up without changing anything.

  • api_resources
  • cluster_info
  • configmap_get
  • configmap_list
  • cronjob_get
  • cronjob_list
  • daemonset_get
  • daemonset_list
  • deployment_get
  • deployment_list
  • endpoints_list
  • event_list
Show 27 more tools
  • ingress_get
  • ingress_list
  • job_get
  • job_list
  • namespace_list
  • node_describe
  • node_list
  • node_top
  • pod_describe
  • pod_get
  • pod_health_rca
  • pod_list
  • pod_logs
  • pod_top
  • pv_list
  • pvc_get
  • pvc_list
  • replicaset_list
  • rollout_history
  • rollout_status
  • secret_list
  • service_list
  • statefulset_get
  • statefulset_list
  • storageclass_list
  • undo_list
  • workload_readiness_rca

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

  • cordon_node
  • create_namespace
  • drain_node
  • rollout_pause
  • rollout_restart_deployment
  • rollout_resume
  • rollout_undo_deployment
  • scale_deployment
  • scale_statefulset
  • set_deployment_image
  • uncordon_node
  • undo_apply

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

  • delete_deployment
  • delete_job
  • delete_namespace
  • delete_pod

Network hosts it talks to 3

  • anthropic.com · found in code
  • github.com · found in code
  • glama.ai · found in code

Files it touches

  • ~/.kube/config
  • Your home directory (~)
  • ~/.k8s-aiops
  • ~/.k8s-aiops/audit.db
  • ~/.k8s-aiops/config.yaml
  • ~/.k8s-aiops/undo.db

Tools (55)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • api_resources

    [READ] List available API groups and their versions. Args: target: k8s target name from config; omit to use the default.

  • cluster_info

    [READ] Friendly cluster health summary: server version, node/ns counts. Args: target: k8s target name from config; omit to use the default.

  • configmap_get

    [READ] Return a configmap's data (keys + values — config, not secrets). Args: name: ConfigMap name (see configmap_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

  • configmap_list

    [READ] List configmaps (name, namespace, key count, age). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • cordon_node

    [WRITE][risk=medium] Mark a node unschedulable (no new pods land). Inverse: uncordon_node. Pass dry_run=True to preview without cordoning. Args: name: Node name (see node_list). dry_run: If True, preview without cordoning. target: k8s target name from config.

  • create_namespace

    [WRITE][risk=medium] Create a namespace. Inverse: delete_namespace. Pass dry_run=True to preview without creating. Args: name: Namespace name to create. dry_run: If True, preview without creating. target: k8s target name from config.

  • cronjob_get

    [READ] Return detail for a single cronjob by name. Args: name: CronJob name (see cronjob_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

  • cronjob_list

    [READ] List cronjobs (name, namespace, schedule, suspend, active, age). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • daemonset_get

    [READ] Return detail for a single daemonset by name. Args: name: DaemonSet name (see daemonset_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

  • daemonset_list

    [READ] List daemonsets (name, namespace, desired/ready/available, age). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • delete_deployment

    [WRITE][risk=high] Delete a deployment and its pods. HIGH RISK — no undo. Pass dry_run=True to preview without deleting. Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without deleting. target: k8s target name from config.

  • delete_job

    [WRITE][risk=high] Delete a job and its pods. HIGH RISK — no undo. Pass dry_run=True to preview without deleting. Args: name: Job name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without deleting. target: k8s target name from config.

  • delete_namespace

    [WRITE][risk=high] Delete a namespace and EVERYTHING in it. HIGH RISK — no undo. Pass dry_run=True to preview without deleting. Two namespaces are refused. The cluster's control-plane namespaces (kube-system, kube-public, kube-node-lease) need confirm=True — deleting one takes DNS and pod networking with it. The namespace holding this target's own ServiceAccount credential is refused outright and confirm does NOT override it: that delete revokes the credential it is running on. Both refusals are raised on the dry_run path too, so a preview never shows a green wouldDelete for a delete that wo…

  • delete_pod

    [WRITE][risk=medium] Delete a pod. No undo — a controller usually recreates it. Pass dry_run=True to preview without deleting. Args: name: Pod name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without deleting. target: k8s target name from config.

  • deployment_get

    [READ] Return detail for a single deployment by name. Args: name: Deployment name (see deployment_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

Show 40 more tools
  • deployment_list

    [READ] List deployments (name, namespace, desired/ready/available, age). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • drain_node

    [WRITE][risk=high] Cordon a node and evict its pods. HIGH RISK — no full undo. DaemonSet-managed and mirror pods are skipped (like ``kubectl drain``). The cordon is reversible (uncordon_node); the evictions are not. Pass dry_run=True to preview without draining. Args: name: Node name (see node_list). dry_run: If True, preview without cordoning or evicting. target: k8s target name from config.

  • endpoints_list

    [READ] List endpoints (name, namespace, ready addresses, ports, age). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • event_list

    [READ] List recent events (type, reason, object, message, age). Useful for diagnosing why a pod is not starting (FailedScheduling, etc.). Returns {"events": [...], "returned": N, "limit": L, "truncated": bool}. When ``truncated`` is true there are MORE events than shown — re-run with a higher ``limit`` instead of reporting the shown set as complete. Args: namespace: Namespace; omit for all namespaces. limit: Maximum number of events to return. target: k8s target name from config.

  • ingress_get

    [READ] Return detail for a single ingress, including path→backend rules. Args: name: Ingress name (see ingress_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

  • ingress_list

    [READ] List ingresses (name, namespace, class, hosts, age). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • job_get

    [READ] Return detail for a single job by name. Args: name: Job name (see job_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

  • job_list

    [READ] List jobs (name, namespace, completions, succeeded/failed, age). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • namespace_list

    [READ] List namespaces (name, phase, age). Args: target: k8s target name from config; omit to use the default.

  • node_describe

    [READ] Describe a node: capacity, allocatable, conditions, taints. Args: name: Node name (see node_list). target: k8s target name from config.

  • node_list

    [READ] List cluster nodes (name, status, roles, version, schedulable, age). Args: target: k8s target name from config; omit to use the default.

  • node_top

    [READ] CPU/memory usage per node (requires metrics-server). Returns ``available: False`` with a clear message when metrics-server is not installed. Args: target: k8s target name from config; omit to use the default.

  • pod_describe

    [READ] Describe a pod: status, conditions, container states, recent events. The fastest single call to diagnose why a pod is not Ready (CrashLoopBackOff, ImagePullBackOff, scheduling failures). Args: name: Pod name (see pod_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

  • pod_get

    [READ] Return detail for a single pod by name. Args: name: Pod name (see pod_list). namespace: Namespace; omit to use the target's default namespace. target: k8s target name from config.

  • pod_health_rca

    [READ] Scan pods for CrashLoopBackOff, image-pull failures, OOMKilled, unschedulable Pending pods, and high restart counts. Returns worst-first findings, each citing the reason string / restart count that tripped it plus a concrete kubectl action. Omit namespace to scan all. Args: namespace: Namespace to scope to; omit for all namespaces. label_selector: Optional label selector, e.g. "app=web". target: k8s target name from config; omit to use the default.

  • pod_list

    [READ] List pods (name, namespace, phase, ready, restarts, node, age). Omit namespace to list across all namespaces. Use pod_get for full detail. Args: namespace: Namespace to scope to; omit for all namespaces. label_selector: Optional label selector, e.g. "app=web". target: k8s target name from config; omit to use the default.

  • pod_logs

    [READ] Return the most recent log lines for a pod (default 100). Args: name: Pod name. namespace: Namespace; omit for the target's default namespace. tail_lines: Number of trailing log lines to return. container: Container name (required only for multi-container pods). target: k8s target name from config.

  • pod_top

    [READ] CPU/memory usage per pod (requires metrics-server). Returns ``available: False`` with a clear message when metrics-server is not installed. Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • pv_list

    [READ] List persistent volumes (name, capacity, status, claim, class, age). Args: target: k8s target name from config; omit to use the default.

  • pvc_get

    [READ] Return detail for a single PVC by name. Args: name: PVC name (see pvc_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

  • pvc_list

    [READ] List persistent volume claims (name, status, capacity, class, age). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • replicaset_list

    [READ] List replicasets (name, namespace, desired/ready, age). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • rollout_history

    [READ] List a deployment's rollout revisions (from its replicasets). Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

  • rollout_pause

    [WRITE][risk=medium] Pause a deployment's rollout. Inverse: rollout_resume. Pass dry_run=True to preview without pausing. Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without pausing. target: k8s target name from config.

  • rollout_restart_deployment

    [WRITE][risk=medium] Trigger a rolling restart of a deployment. No clean undo. Pass dry_run=True to preview without restarting. Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without restarting. target: k8s target name from config.

  • rollout_resume

    [WRITE][risk=medium] Resume a paused deployment's rollout. Inverse: rollout_pause. Pass dry_run=True to preview without resuming. Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without resuming. target: k8s target name from config.

  • rollout_status

    [READ] Rollout status: desired/updated/available/unavailable + paused. Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

  • rollout_undo_deployment

    [WRITE][risk=high] Roll a deployment back to a prior revision. HIGH RISK. Defaults to the immediately previous revision. No clean automatic inverse — re-deploy the intended image/revision to move forward again. Pass dry_run=True to preview without rolling back. Args: name: Deployment name. namespace: Namespace; omit for the target's default namespace. to_revision: Specific revision to roll back to (0 = previous). dry_run: If True, preview without rolling back. target: k8s target name from config.

  • scale_deployment

    [WRITE][risk=medium] Scale a deployment to ``replicas``. Inverse: restore previous count. Returns ``previous_replicas`` so the change can be undone. Pass dry_run=True to preview without changing anything (no undo is recorded for a preview). Args: name: Deployment name. replicas: Desired replica count. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without scaling. target: k8s target name from config.

  • scale_statefulset

    [WRITE][risk=medium] Scale a statefulset to ``replicas``. Inverse: restore previous count. Pass dry_run=True to preview without scaling (no undo is recorded for a preview). Args: name: StatefulSet name. replicas: Desired replica count. namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without scaling. target: k8s target name from config.

  • secret_list

    [READ] List secrets — names, types, and key NAMES only (values redacted). Secret VALUES are never returned. Use this to discover which secrets and keys exist, then mount/reference them via the kubeconfig-authorized workload. Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • service_list

    [READ] List services (name, namespace, type, cluster IP, ports). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • set_deployment_image

    [WRITE][risk=medium] Update a deployment container's image. Inverse: restore previous. Returns ``previous_image`` so the change can be undone. Pass dry_run=True to preview without changing anything (no undo is recorded for a preview). Args: name: Deployment name. container: Container name within the pod template (see deployment_get). image: New image reference (e.g. "nginx:1.27"). namespace: Namespace; omit for the target's default namespace. dry_run: If True, preview without updating the image. target: k8s target name from config.

  • statefulset_get

    [READ] Return detail for a single statefulset by name. Args: name: StatefulSet name (see statefulset_list). namespace: Namespace; omit for the target's default namespace. target: k8s target name from config.

  • statefulset_list

    [READ] List statefulsets (name, namespace, desired/ready/current, age). Args: namespace: Namespace; omit for all namespaces. target: k8s target name from config.

  • storageclass_list

    [READ] List storage classes (name, provisioner, reclaim policy, default). Args: target: k8s target name from config; omit to use the default.

  • uncordon_node

    [WRITE][risk=medium] Mark a node schedulable again. Inverse: cordon_node. Pass dry_run=True to preview without uncordoning. Args: name: Node name (see node_list). dry_run: If True, preview without uncordoning. target: k8s target name from config.

  • undo_apply

    [WRITE][risk=medium] Apply a recorded undo by dispatching its inverse tool. The inverse runs through its own governed tool, so it is audited and labelled with its own risk tier there. Pass dry_run=True to preview the inverse call without executing it. A token can only be applied once. Args: undo_id: The undoId from undo_list (or an ``_undo_id`` in a write result). dry_run: If True, preview the inverse tool + params without running it. target: Passed through to the inverse tool when it accepts a target.

  • undo_list

    [READ] List recorded, not-yet-applied undo tokens (most recent first). Each entry names the original tool, the inverse tool that ``undo_apply`` would run, and a human note. Use the ``undoId`` with ``undo_apply``. Returns {"undos": [...], "returned": N, "limit": L, "truncated": bool}. ``truncated`` is *measured* (one extra row is fetched), not guessed from a length coincidence: when it is true there are MORE tokens than shown, so re-run with a higher ``limit`` rather than reporting the list as complete. Each entry carries ``effectVerified``. False means the original write lost its response, …

  • workload_readiness_rca

    [READ] Scan Deployments/StatefulSets/DaemonSets for ready-vs-desired shortfalls, zero-ready outages, and rollout-stuck conditions. Returns worst-first findings, each citing the measured ready/desired ratio or the failing condition reason plus a concrete kubectl action. Args: namespace: Namespace to scope to; omit for all namespaces. target: k8s target name from config; omit to use the default.

Signals

Stars
0
Forks
0
Open issues
0
Weekly downloads
198
Last commit
Oct 15, 2026 (13 days ago)
Last release
Oct 15, 2026 (13 days ago)
Last package publish
Oct 15, 2026 (13 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.AIops-tools/k8s-aiops
Version
0.15.0
Auth
No auth
Packages
pypi k8s-aiops
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from AIops-tools

Cite this page

k8s AIops MCP server. Agent Mart. https://agentmart.dev/connectors/aiops-tools-k8s-aiops (last updated 2026-10-25)