Skip to content
VS Code

kubeview for VS Code

io.github.mikhae1/kubeview

Read-only Model Context Protocol MCP server enabling code-driven AI analysis of Kubernetes clusters.

client:VS Code transport:stdio runtime:npm

Install kubeview in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "kubeconfig",
      "description": "KUBECONFIG",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-transport",
      "description": "MCP_TRANSPORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-mode",
      "description": "MCP_MODE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-code-mode-disabled-tools",
      "description": "MCP_CODE_MODE_DISABLED_TOOLS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-argo-tools",
      "description": "MCP_ARGO_TOOLS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-argocd-tools",
      "description": "MCP_ARGOCD_TOOLS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-log-level",
      "description": "MCP_LOG_LEVEL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-kube-context",
      "description": "MCP_KUBE_CONTEXT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-k8s-skip-tls-verify",
      "description": "MCP_K8S_SKIP_TLS_VERIFY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-hide-sensitive",
      "description": "MCP_HIDE_SENSITIVE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-timeout",
      "description": "MCP_TIMEOUT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-http-host",
      "description": "MCP_HTTP_HOST",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-http-port",
      "description": "MCP_HTTP_PORT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-http-path",
      "description": "MCP_HTTP_PATH",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-http-json-response",
      "description": "MCP_HTTP_JSON_RESPONSE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-approval-state-secret",
      "description": "MCP_APPROVAL_STATE_SECRET",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-approval-replay-dir",
      "description": "MCP_APPROVAL_REPLAY_DIR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-allowed-hosts",
      "description": "MCP_ALLOWED_HOSTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-allowed-origins",
      "description": "MCP_ALLOWED_ORIGINS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "kube-mcp-force-vm-sandbox",
      "description": "KUBE_MCP_FORCE_VM_SANDBOX",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-disable-kubernetes-plugin",
      "description": "MCP_DISABLE_KUBERNETES_PLUGIN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-disable-helm-plugin",
      "description": "MCP_DISABLE_HELM_PLUGIN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-disable-argo-plugin",
      "description": "MCP_DISABLE_ARGO_PLUGIN",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-disable-argocd-plugin",
      "description": "MCP_DISABLE_ARGOCD_PLUGIN",
      "password": true
    }
  ],
  "servers": {
    "kubeview": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "kubeview-mcp"
      ],
      "env": {
        "KUBECONFIG": "${input:kubeconfig}",
        "MCP_TRANSPORT": "${input:mcp-transport}",
        "MCP_MODE": "${input:mcp-mode}",
        "MCP_CODE_MODE_DISABLED_TOOLS": "${input:mcp-code-mode-disabled-tools}",
        "MCP_ARGO_TOOLS": "${input:mcp-argo-tools}",
        "MCP_ARGOCD_TOOLS": "${input:mcp-argocd-tools}",
        "MCP_LOG_LEVEL": "${input:mcp-log-level}",
        "MCP_KUBE_CONTEXT": "${input:mcp-kube-context}",
        "MCP_K8S_SKIP_TLS_VERIFY": "${input:mcp-k8s-skip-tls-verify}",
        "MCP_HIDE_SENSITIVE": "${input:mcp-hide-sensitive}",
        "MCP_TIMEOUT": "${input:mcp-timeout}",
        "MCP_HTTP_HOST": "${input:mcp-http-host}",
        "MCP_HTTP_PORT": "${input:mcp-http-port}",
        "MCP_HTTP_PATH": "${input:mcp-http-path}",
        "MCP_HTTP_JSON_RESPONSE": "${input:mcp-http-json-response}",
        "MCP_APPROVAL_STATE_SECRET": "${input:mcp-approval-state-secret}",
        "MCP_APPROVAL_REPLAY_DIR": "${input:mcp-approval-replay-dir}",
        "MCP_ALLOWED_HOSTS": "${input:mcp-allowed-hosts}",
        "MCP_ALLOWED_ORIGINS": "${input:mcp-allowed-origins}",
        "KUBE_MCP_FORCE_VM_SANDBOX": "${input:kube-mcp-force-vm-sandbox}",
        "MCP_DISABLE_KUBERNETES_PLUGIN": "${input:mcp-disable-kubernetes-plugin}",
        "MCP_DISABLE_HELM_PLUGIN": "${input:mcp-disable-helm-plugin}",
        "MCP_DISABLE_ARGO_PLUGIN": "${input:mcp-disable-argo-plugin}",
        "MCP_DISABLE_ARGOCD_PLUGIN": "${input:mcp-disable-argocd-plugin}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

kubeview in other clients