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/mcpA 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:
- Which fields were added to Deployment between Kubernetes v1.30 and v1.36?
- I'm upgrading cert-manager from v1.15 to v1.21. Did anything change in Certificate or ClusterIssuer that affects my manifests?
- Which project defines the HTTPRoute kind, and what does spec.rules.backendRefs look like?
- Write a KEDA ScaledObject that scales on a Kafka topic, and check every field against the schema.
- What changed in the latest Cilium release?
- Is spec.template.spec.hostUsers available in Kubernetes v1.28? Is it required?
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.