Kubespec Logokubespec.dev

Kubernetes specs for your AI assistant

Kubernetes MCP server

Models often guess at Kubernetes fields, or remember them from an older version. The kubespec.dev MCP server lets your assistant look up the exact schema of every kind in Kubernetes and 25 CRD projects, at the version you run, and see what changed between versions. It's free, read-only, and needs no API key or sign-in.

https://kubespec.dev/mcp

A remote server using MCP's Streamable HTTP transport, supported by Claude, Cursor, VS Code, Windsurf and most current clients.

Install

Claude Code

Run this in your terminal:

claude mcp add --transport http kubespec https://kubespec.dev/mcp

Claude (claude.ai and Claude Desktop)

Open Settings → Connectors, click Add custom connector, name it kubespec and paste the URL:

https://kubespec.dev/mcp

Cursor

Add it to your MCP settings: .cursor/mcp.json

{
  "mcpServers": {
    "kubespec": {
      "url": "https://kubespec.dev/mcp"
    }
  }
}

VS Code

Add it to your workspace's MCP settings: .vscode/mcp.json

{
  "servers": {
    "kubespec": {
      "type": "http",
      "url": "https://kubespec.dev/mcp"
    }
  }
}

Windsurf

Add it to your MCP settings: ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "kubespec": {
      "serverUrl": "https://kubespec.dev/mcp"
    }
  }
}

Things to ask

Once it's installed, ask your assistant things like:

It covers Kubernetes, Prometheus Operator, Gateway API, Cluster API, Istio, Keda, Kyverno, CloudNativePG, cert-manager, Cilium, Karpenter, eck-operator, k6 Operator, Couchbase Operator, Kgateway, ArgoCD, Flux, Vertical Pod Autoscaler, Kuberay, External Secrets Operator, OpenTelemetry Operator, Envoy Gateway, Tailscale Operator, Agentgateway, Kargo and Grafana Operator.

Tools

Your assistant picks the tools on its own. Versions are accepted with or without the leading v, kind names are case-insensitive, and every answer links back to the page on kubespec.dev.

list_projects

Lists every project on kubespec.dev (Kubernetes and popular CRD projects), with its latest version and how many versions are indexed.

No parameters.

list_versions

Lists the versions of a project, newest first, with their release dates.

projectstringrequired
Project slug, e.g. "kubernetes", "cert-manager" or "argo-cd" (see list_projects)
limitinteger
How many versions to list, newest first (default 50)

list_kinds

Lists every kind (resource type) of a project at one version, grouped by API group, with the apiVersions each kind is served at and its scope.

projectstringrequired
Project slug, e.g. "kubernetes", "cert-manager" or "argo-cd" (see list_projects)
versionstring
Project version, e.g. "v1.30" for Kubernetes or "v1.15.0". Defaults to the latest version.

search_kinds

Finds kinds by name across every project's latest version, e.g. "Certificate", "Gateway" or "policy". Useful to find which project defines a CRD.

querystringrequired
Part of a kind name, or an API group (case-insensitive)

get_kind_schema

Returns the fields of a kind as a tree: name, type, whether it's required (*), and its description. Large kinds are cut off at `depth` levels; pass `path` (e.g. "spec.template.spec.containers") to see a field's full description and expand below it.

projectstringrequired
Project slug, e.g. "kubernetes", "cert-manager" or "argo-cd" (see list_projects)
kindstringrequired
Kind name, e.g. "Deployment" (case-insensitive)
apiVersionstring
apiVersion, e.g. "apps/v1" or "v1". Defaults to the most stable apiVersion the kind is served at in that version.
versionstring
Project version, e.g. "v1.30" for Kubernetes or "v1.15.0". Defaults to the latest version.
pathstring
Dotted path of a field to start from, e.g. "spec.replicas" or "spec.template.spec". Defaults to the top level.
depthinteger
How many levels of fields to show below the starting point (default 2, max 8)
descriptionsboolean
Include field descriptions, shortened to one line (default true)

get_kind_changelog

Lists how a kind's fields changed across versions, newest first: fields added, removed, changed type, made required or optional, and changed descriptions. Use `since` and `until` to see everything that changed between two versions, e.g. before upgrading from "v1.28" to "v1.31".

projectstringrequired
Project slug, e.g. "kubernetes", "cert-manager" or "argo-cd" (see list_projects)
kindstringrequired
Kind name, e.g. "Deployment" (case-insensitive)
apiVersionstring
apiVersion, e.g. "apps/v1" or "v1". Defaults to the most stable apiVersion the kind is served at in that version.
untilstring
The newest version to include. Defaults to the latest version.
sincestring
Only include changes made after this version (exclusive). Defaults to every version.
limitinteger
How many versions with changes to list, newest first (default 20)

get_version_changes

Summarizes a release of a project: the kinds added, removed, moved to another apiVersion, and the kinds whose fields changed (with counts), compared to the version before it. Use get_kind_changelog for the field-level details of a kind.

projectstringrequired
Project slug, e.g. "kubernetes", "cert-manager" or "argo-cd" (see list_projects)
versionstring
Project version, e.g. "v1.30" for Kubernetes or "v1.15.0". Defaults to the latest version.