mcp-kubernetes 是一个面向 Kubernetes 的 Model Context Protocol(MCP)服务器,让支持 MCP 的客户端(如 Claude Desktop、Claude Code 等)可以检查并操作多个 Kubernetes 集群上下文。其设计目标是默认安全:启动即为只读模式,可限定到命名空间与上下文的允许列表,保护系统命名空间不被修改,并把危险操作(delete、apply、exec)放在显式开启的开关之后。
主要能力与安全分层:
- 多集群:每个工具都接受可选的 context 参数,可通过允许列表限定哪些上下文可用。
- 访问模式:read-only → read-write → admin,分层设计,某个模式不会暴露高于其级别的工具。
- 安全标志:命名空间允许列表、受保护命名空间、上下文允许列表,以及对 delete / apply / exec 的独立开启开关、dry-run 和 JSON 审计日志。
- 标准认证:使用你的 kube-config(或集群内 service account)。服务器不存储任何凭据。
各层相互独立——例如 admin 模式下三个开关全部为 false 时,仍可重启和扩缩 Deployment,但既不能删除资源,也不能在 Pod 中 exec。
工具按访问模式划分:
- 读取(read-only 及以上):list_contexts、list_namespaces、list_pods、get_pod、get_pod_logs、list_deployments、list_services、list_nodes、list_events、get_resource。
- 写入(read-write 及以上):scale_deployment、restart_deployment、set_deployment_image、create_namespace、apply_manifest(需要 K8S_ALLOW_APPLY)。
- 管理(admin):delete_resource(需要 K8S_ALLOW_DELETE)、exec_in_pod(需要 K8S_ALLOW_EXEC)。
可选的 AI 风险守护:设置 K8S_GUARD_MODE=monitor|enforce 后,delete_resource、exec_in_pod 和 apply_manifest 会先咨询本地 laya-guard 守护进程(pipx install laya-guard && laya-guard),由它对操作进行分类为 allow/confirm/block 再执行。该守护在 delete/exec/apply 门控之后运行;只会收紧、不会放宽;失败时按关闭处理(fails closed)。
使用方式:该服务器以 @dockndevai/mcp-kubernetes 发布在 npm 上。无需克隆或构建——MCP 客户端会按需通过 npx 运行它。建议从只读模式开始;.env.example 列出了所有变量,docs/CLIENTS.md 提供完整的逐客户端指南。
主要客户端的接入方式(同一配置块可用于 claude_desktop_config.json、.cursor/mcp.json 或 ~/.codeium/windsurf/mcp_config.json):Claude Code(CLI)、Claude Desktop、Cursor、Windsurf。OpenAI Codex CLI 使用 ~/.codex/config.toml;VS Code(GitHub Copilot,Agent 模式)使用 .vscode/mcp.json。也可从源码运行(开发用途),但优先使用上述已发布的包。
该服务器附带用于官方 MCP registry 的 server.json 和用于 npm 所有权验证的 mcpName。PUBLISHING.md 说明如何发布到 npm 并上架到 MCP registry、Smithery、Glama、Cursor 和 PulseMCP。
当前资料未提供具体的安装命令代码块内容、各客户端配置示例的完整片段、价格或收费信息等,故暂未提供。