[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Flux159--mcp-server-kubernetes":3,"tool-Flux159--mcp-server-kubernetes":64},[4,17,27,35,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,43,44,45,15,46,26,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,46],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70612,"2026-04-05T11:12:22",[26,15,13,45],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":102,"forks":103,"last_commit_at":104,"license":105,"difficulty_score":23,"env_os":106,"env_gpu":107,"env_ram":107,"env_deps":108,"category_tags":114,"github_topics":115,"view_count":120,"oss_zip_url":121,"oss_zip_packed_at":121,"status":16,"created_at":122,"updated_at":123,"faqs":124,"releases":152},122,"Flux159\u002Fmcp-server-kubernetes","mcp-server-kubernetes","MCP Server for kubernetes management commands","mcp-server-kubernetes 是一个开源的 MCP（Model Context Protocol）服务器，专为简化 Kubernetes 集群管理而设计。它允许 AI 助手（如 Claude）通过自然语言与你的 Kubernetes 环境交互，执行查看 Pod、部署应用、检查服务状态等操作，无需手动输入复杂命令。\n\n在日常运维或开发中，用户常需频繁使用 kubectl 查询或修改集群状态，但命令繁琐且容易出错。mcp-server-kubernetes 将这些操作封装成 AI 可调用的接口，让开发者能用对话方式高效管理集群，降低操作门槛。\n\n该工具主要面向熟悉 Kubernetes 的开发者、DevOps 工程师或云原生技术使用者，尤其适合已在本地配置好 kubeconfig 并希望提升人机协作效率的人群。它支持从多种来源（如默认配置文件、环境变量或自定义路径）自动加载 kubeconfig，并兼容 Helm 3，便于管理 Chart 应用。基于 Bun 运行，启动轻快，同时提供 VS Code、Claude Desktop 等主流开发环境的一键集成方式，开箱即用。","# MCP Server Kubernetes\n\n[![CI](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fmcp-server-kubernetes\u002Factions\u002Fworkflows\u002Fci.yml)\n[![Language](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flanguages\u002Ftop\u002FFlux159\u002Fmcp-server-kubernetes)](https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fmcp-server-kubernetes)\n[![Bun](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fruntime-bun-orange)](https:\u002F\u002Fbun.sh)\n[![Kubernetes](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fkubernetes-%23326ce5.svg?style=flat&logo=kubernetes&logoColor=white)](https:\u002F\u002Fkubernetes.io\u002F)\n[![Docker](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocker-%230db7ed.svg?style=flat&logo=docker&logoColor=white)](https:\u002F\u002Fwww.docker.com\u002F)\n[![Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FFlux159\u002Fmcp-server-kubernetes)](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fstargazers)\n[![Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FFlux159\u002Fmcp-server-kubernetes)](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fissues)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg)](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fpulls)\n[![Last Commit](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002FFlux159\u002Fmcp-server-kubernetes)](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fcommits\u002Fmain)\n[![Trust Score](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFlux159_mcp-server-kubernetes_readme_e1528319baa2.png)](https:\u002F\u002Farchestra.ai\u002Fmcp-catalog\u002Fflux159__mcp-server-kubernetes)\n[![Ask DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg)](https:\u002F\u002Fdeepwiki.com\u002FFlux159\u002Fmcp-server-kubernetes)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFlux159_mcp-server-kubernetes_readme_de2f549310dd.png\" width=\"200\">\n\u003C\u002Fp>\n\nMCP Server that can connect to a Kubernetes cluster and manage it. Supports loading kubeconfig from multiple sources in priority order.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Ff25f8f4e-4d04-479b-9ae0-5dac452dd2ed\n\n\u003Ca href=\"https:\u002F\u002Fglama.ai\u002Fmcp\u002Fservers\u002Fw71ieamqrt\">\u003Cimg width=\"380\" height=\"200\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFlux159_mcp-server-kubernetes_readme_bd46a8f92a5d.png\" \u002F>\u003C\u002Fa>\n\n## Installation & Usage\n\n### Prerequisites\n\nBefore using this MCP server with any tool, make sure you have:\n\n1. kubectl installed and in your PATH\n2. A valid kubeconfig file with contexts configured\n3. Access to a Kubernetes cluster configured for kubectl (e.g. minikube, Rancher Desktop, GKE, etc.)\n4. Helm v3 installed and in your PATH (no Tiller required). Optional if you don't plan to use Helm.\n\nYou can verify your connection by running `kubectl get pods` in a terminal to ensure you can connect to your cluster without credential issues.\n\nBy default, the server loads kubeconfig from `~\u002F.kube\u002Fconfig`. For additional authentication options (environment variables, custom paths, etc.), see [ADVANCED_README.md](ADVANCED_README.md).\n\n### Claude Code\n\nAdd the MCP server to Claude Code using the built-in command:\n\n```bash\nclaude mcp add kubernetes -- npx mcp-server-kubernetes\n```\n\nThis will automatically configure the server in your Claude Code MCP settings.\n\n### Claude Desktop\n\nAdd the following configuration to your Claude Desktop config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-kubernetes\"]\n    }\n  }\n}\n```\n\n### Claude Desktop Connector via mcpb\n\nMCP Server Kubernetes is also available as a [mcpb](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fmcpb) (formerly dxt) extension. In Claude Desktop, go to Settings (`Cmd+,` on Mac) -> Extensions -> Browse Extensions and scroll to find mcp-server-kubernetes in the modal. Install it & it will install & utilize kubectl via command line & your kubeconfig.\n\nTo manually install, you can also get the .mcpb by going to the latest [Release](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Freleases) and downloading it.\n\n### VS Code\n\n[![Install Kubernetes MCP in VS Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FInstall%20Kubernetes%20MCP%20in%20VS%20Code-blue?logo=visualstudiocode)](vscode:mcp\u002Finstall?%7B%22name%22%3A%20%22kubernetes%22%2C%20%22type%22%3A%20%22stdio%22%2C%20%22command%22%3A%20%22npx%22%2C%20%22args%22%3A%20%5B%22mcp-server-kubernetes%22%5D%7D)\n\nFor VS Code integration, you can use the MCP server with extensions that support the Model Context Protocol:\n\n1. Install a compatible MCP extension (such as Claude Dev or similar MCP clients)\n2. Configure the extension to use this server:\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-kubernetes\"],\n      \"description\": \"Kubernetes cluster management and operations\"\n    }\n  }\n}\n```\n\n### Cursor\n\nCursor supports MCP servers through its AI integration. Add the server to your Cursor MCP configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-kubernetes\"]\n    }\n  }\n}\n```\n\nThe server will automatically connect to your current kubectl context. You can verify the connection by asking the AI assistant to list your pods or create a test deployment.\n\n## Usage with mcp-chat\n\n[mcp-chat](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-chat) is a CLI chat client for MCP servers. You can use it to interact with the Kubernetes server.\n\n```shell\nnpx mcp-chat --server \"npx mcp-server-kubernetes\"\n```\n\nAlternatively, pass it your existing Claude Desktop configuration file from above (Linux should pass the correct path to config):\n\nMac:\n\n```shell\nnpx mcp-chat --config \"~\u002FLibrary\u002FApplication Support\u002FClaude\u002Fclaude_desktop_config.json\"\n```\n\nWindows:\n\n```shell\nnpx mcp-chat --config \"%APPDATA%\\Claude\\claude_desktop_config.json\"\n```\n\n## Gemini CLI\n\n[Gemini CLI](https:\u002F\u002Fgeminicli.com\u002F) allows you to install mcp servers as extensions. From a shell, install the extension by pointing to this repo:\n\n```shell\ngemini extensions install https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\n```\n\n## Features\n\n- [x] Connect to a Kubernetes cluster\n- [x] Unified kubectl API for managing resources\n  - Get or list resources with `kubectl_get`\n  - Describe resources with `kubectl_describe`\n  - List resources with `kubectl_get`\n  - Create resources with `kubectl_create`\n  - Apply YAML manifests with `kubectl_apply`\n  - Delete resources with `kubectl_delete`\n  - Get logs with `kubectl_logs`\n  - Manage kubectl contexts with `kubectl_context`\n  - Explain Kubernetes resources with `explain_resource`\n  - List API resources with `list_api_resources`\n  - Scale resources with `kubectl_scale`\n  - Update field(s) of a resource with `kubectl_patch`\n  - Manage deployment rollouts with `kubectl_rollout`\n  - Execute any kubectl command with `kubectl_generic`\n  - Verify connection with `ping`\n- [x] Advanced operations\n  - Scale deployments with `kubectl_scale` (replaces legacy `scale_deployment`)\n  - Port forward to pods and services with `port_forward`\n  - Run Helm operations\n    - Install, upgrade, and uninstall charts\n    - Support for custom values, repositories, and versions\n    - Template-based installation (`helm_template_apply`) to bypass authentication issues\n    - Template-based uninstallation (`helm_template_uninstall`) to bypass authentication issues\n  - Pod cleanup operations\n    - Clean up problematic pods (`cleanup_pods`) in states: Evicted, ContainerStatusUnknown, Completed, Error, ImagePullBackOff, CrashLoopBackOff\n  - Node management operations\n    - Cordoning, draining, and uncordoning nodes (`node_management`) for maintenance and scaling operations\n- [x] Troubleshooting Prompt (`k8s-diagnose`)\n  - Guides through a systematic Kubernetes troubleshooting flow for pods based on a keyword and optional namespace.\n- [x] Non-destructive mode for read and create\u002Fupdate-only access to clusters\n- [x] Secrets masking for security (masks sensitive data in `kubectl get secrets` commands, does not affect logs)\n- [x] **OpenTelemetry Observability** (opt-in)\n  - Distributed tracing for all tool calls\n  - Export to Jaeger, Tempo, Grafana, or any OTLP backend\n  - Configurable sampling strategies\n  - Rich span attributes (tool name, duration, K8s context, errors)\n  - See [docs\u002FOBSERVABILITY.md](docs\u002FOBSERVABILITY.md) for details\n\n## Observability\n\nThe MCP Kubernetes server includes optional **OpenTelemetry integration** for comprehensive observability. This feature is disabled by default and can be enabled via environment variables or Helm configuration.\n\n### Quick Start\n\nEnable observability with environment variables:\n\n```bash\nexport ENABLE_TELEMETRY=true\nexport OTEL_EXPORTER_OTLP_ENDPOINT=http:\u002F\u002Flocalhost:4317\n\nnpx mcp-server-kubernetes\n```\n\n### What Gets Traced\n\n- **All tool calls**: kubectl_get, kubectl_apply, kubectl_logs, etc.\n- **Execution duration**: How long each operation takes\n- **Success\u002Ffailure status**: Automatic error tracking\n- **Kubernetes context**: Namespace, context, resource type\n- **Rich metadata**: Host, process, and custom attributes\n\n### Backends Supported\n\nWorks with any OTLP-compatible backend:\n- **Jaeger** (open source)\n- **Grafana Tempo** (open source)\n- **Grafana Cloud** (commercial)\n- **Datadog**, **New Relic**, **Honeycomb**, **Lightstep**, **AWS X-Ray**\n\n### Configuration\n\nSee **[docs\u002FOBSERVABILITY.md](docs\u002FOBSERVABILITY.md)** for comprehensive documentation including:\n- Configuration options\n- Deployment examples (Kubernetes, Helm, Claude Code)\n- Sampling strategies\n- Production best practices\n- Troubleshooting guide\n\n### Example with Jaeger\n\n```bash\n# Start Jaeger\ndocker run -d --name jaeger \\\n  -e COLLECTOR_OTLP_ENABLED=true \\\n  -p 16686:16686 \\\n  -p 4317:4317 \\\n  jaegertracing\u002Fall-in-one:latest\n\n# Enable telemetry\nexport ENABLE_TELEMETRY=true\nexport OTEL_EXPORTER_OTLP_ENDPOINT=http:\u002F\u002Flocalhost:4317\nexport OTEL_TRACES_SAMPLER=always_on\n\n# Run server\nnpx mcp-server-kubernetes\n\n# View traces: http:\u002F\u002Flocalhost:16686\n```\n\n## Prompts\n\nThe MCP Kubernetes server includes specialized prompts to assist with common diagnostic operations.\n\n### \u002Fk8s-diagnose Prompt\n\nThis prompt provides a systematic troubleshooting flow for Kubernetes pods. It accepts a `keyword` to identify relevant pods and an optional `namespace` to narrow the search.\nThe prompt's output will guide you through an autonomous troubleshooting flow, providing instructions for identifying issues, collecting evidence, and suggesting remediation steps.\n\n## Local Development\n\nMake sure that you have [bun installed](https:\u002F\u002Fbun.sh\u002Fdocs\u002Finstallation). Clone the repo & install dependencies:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes.git\ncd mcp-server-kubernetes\nbun install\n```\n\n### Development Workflow\n\n1. Start the server in development mode (watches for file changes):\n\n```bash\nbun run dev\n```\n\n2. Run unit tests:\n\n```bash\nbun run test\n```\n\n3. Build the project:\n\n```bash\nbun run build\n```\n\n4. Local Testing with [Inspector](https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Finspector)\n\n```bash\nnpx @modelcontextprotocol\u002Finspector node dist\u002Findex.js\n# Follow further instructions on terminal for Inspector link\n```\n\n5. Local testing with Claude Desktop\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-kubernetes\": {\n      \"command\": \"node\",\n      \"args\": [\"\u002Fpath\u002Fto\u002Fyour\u002Fmcp-server-kubernetes\u002Fdist\u002Findex.js\"]\n    }\n  }\n}\n```\n\n6. Local testing with [mcp-chat](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-chat)\n\n```bash\nbun run chat\n```\n\n## Contributing\n\nSee the [CONTRIBUTING.md](CONTRIBUTING.md) file for details.\n\n## Advanced\n\n### Non-Destructive Mode\n\nYou can run the server in a non-destructive mode that disables all destructive operations (delete pods, delete deployments, delete namespaces, etc.):\n\n```shell\nALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true npx mcp-server-kubernetes\n```\n\nFor Claude Desktop configuration with non-destructive mode:\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes-readonly\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-kubernetes\"],\n      \"env\": {\n        \"ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS\": \"true\"\n      }\n    }\n  }\n}\n```\n\n### Commands Available in Non-Destructive Mode\n\nAll read-only and resource creation\u002Fupdate operations remain available:\n\n- Resource Information: `kubectl_get`, `kubectl_describe`, `kubectl_logs`, `explain_resource`, `list_api_resources`\n- Resource Creation\u002FModification: `kubectl_apply`, `kubectl_create`, `kubectl_scale`, `kubectl_patch`, `kubectl_rollout`\n- Helm Operations: `install_helm_chart`, `upgrade_helm_chart`, `helm_template_apply`, `helm_template_uninstall`\n- Connectivity: `port_forward`, `stop_port_forward`\n- Context Management: `kubectl_context`\n\n### Commands Disabled in Non-Destructive Mode\n\nThe following destructive operations are disabled:\n\n- `kubectl_delete`: Deleting any Kubernetes resources\n- `uninstall_helm_chart`: Uninstalling Helm charts\n- `cleanup`: Cleanup of managed resources\n- `cleanup_pods`: Cleaning up problematic pods\n- `node_management`: Node management operations (can drain nodes)\n- `kubectl_generic`: General kubectl command access (may include destructive operations)\n\nFor additional advanced features, see the [ADVANCED_README.md](ADVANCED_README.md) and also the [docs](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Ftree\u002Fmain\u002Fdocs) folder for specific information on `helm_install`, `helm_template_apply`, node management & pod cleanup.\n\n## Architecture\n\nSee this [DeepWiki link](https:\u002F\u002Fdeepwiki.com\u002FFlux159\u002Fmcp-server-kubernetes) for a more indepth architecture overview created by Devin.\n\nThis section describes the high-level architecture of the MCP Kubernetes server.\n\n### Request Flow\n\nThe sequence diagram below illustrates how requests flow through the system:\n\n```mermaid\nsequenceDiagram\n    participant Client\n    participant Transport as Transport Layer\n    participant Server as MCP Server\n    participant Filter as Tool Filter\n    participant Handler as Request Handler\n    participant K8sManager as KubernetesManager\n    participant K8s as Kubernetes API\n\n    Note over Transport: StdioTransport or\u003Cbr>SSE Transport\n\n    Client->>Transport: Send Request\n    Transport->>Server: Forward Request\n\n    alt Tools Request\n        Server->>Filter: Filter available tools\n        Note over Filter: Remove destructive tools\u003Cbr>if in non-destructive mode\n        Filter->>Handler: Route to tools handler\n\n        alt kubectl operations\n            Handler->>K8sManager: Execute kubectl operation\n            K8sManager->>K8s: Make API call\n        else Helm operations\n            Handler->>K8sManager: Execute Helm operation\n            K8sManager->>K8s: Make API call\n        else Port Forward operations\n            Handler->>K8sManager: Set up port forwarding\n            K8sManager->>K8s: Make API call\n        end\n\n        K8s-->>K8sManager: Return result\n        K8sManager-->>Handler: Process response\n        Handler-->>Server: Return tool result\n    else Resource Request\n        Server->>Handler: Route to resource handler\n        Handler->>K8sManager: Get resource data\n        K8sManager->>K8s: Query API\n        K8s-->>K8sManager: Return data\n        K8sManager-->>Handler: Format response\n        Handler-->>Server: Return resource data\n    end\n\n    Server-->>Transport: Send Response\n    Transport-->>Client: Return Final Response\n```\n\nSee this [DeepWiki link](https:\u002F\u002Fdeepwiki.com\u002FFlux159\u002Fmcp-server-kubernetes) for a more indepth architecture overview created by Devin.\n\n## Publishing new release\n\nGo to the [releases page](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Freleases), click on \"Draft New Release\", click \"Choose a tag\" and create a new tag by typing out a new version number using \"v{major}.{minor}.{patch}\" semver format. Then, write a release title \"Release v{major}.{minor}.{patch}\" and description \u002F changelog if necessary and click \"Publish Release\".\n\nThis will create a new tag which will trigger a new release build via the cd.yml workflow. Once successful, the new release will be published to [npm](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmcp-server-kubernetes). Note that there is no need to update the package.json version manually, as the workflow will automatically update the version number in the package.json file & push a commit to main.\n\n## Not planned\n\nAdding clusters to kubectx.\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFlux159_mcp-server-kubernetes_readme_fb1e11d4de45.png)](https:\u002F\u002Fwww.star-history.com\u002F#Flux159\u002Fmcp-server-kubernetes&Date)\n\n## 🖊️ Cite\n\nIf you find this repo useful, please cite:\n\n```\n@software{Patel_MCP_Server_Kubernetes_2024,\nauthor = {Patel, Paras and Sonwalkar, Suyog},\nmonth = jul,\ntitle = {{MCP Server Kubernetes}},\nurl = {https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes},\nversion = {2.5.0},\nyear = {2024}\n}\n```\n","# MCP Server Kubernetes\n\n[![CI](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fmcp-server-kubernetes\u002Factions\u002Fworkflows\u002Fci.yml)\n[![Language](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flanguages\u002Ftop\u002FFlux159\u002Fmcp-server-kubernetes)](https:\u002F\u002Fgithub.com\u002Fyourusername\u002Fmcp-server-kubernetes)\n[![Bun](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fruntime-bun-orange)](https:\u002F\u002Fbun.sh)\n[![Kubernetes](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fkubernetes-%23326ce5.svg?style=flat&logo=kubernetes&logoColor=white)](https:\u002F\u002Fkubernetes.io\u002F)\n[![Docker](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocker-%230db7ed.svg?style=flat&logo=docker&logoColor=white)](https:\u002F\u002Fwww.docker.com\u002F)\n[![Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FFlux159\u002Fmcp-server-kubernetes)](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fstargazers)\n[![Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FFlux159\u002Fmcp-server-kubernetes)](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fissues)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg)](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fpulls)\n[![Last Commit](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002FFlux159\u002Fmcp-server-kubernetes)](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fcommits\u002Fmain)\n[![Trust Score](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFlux159_mcp-server-kubernetes_readme_e1528319baa2.png)](https:\u002F\u002Farchestra.ai\u002Fmcp-catalog\u002Fflux159__mcp-server-kubernetes)\n[![Ask DeepWiki](https:\u002F\u002Fdeepwiki.com\u002Fbadge.svg)](https:\u002F\u002Fdeepwiki.com\u002FFlux159\u002Fmcp-server-kubernetes)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFlux159_mcp-server-kubernetes_readme_de2f549310dd.png\" width=\"200\">\n\u003C\u002Fp>\n\n一个可连接 Kubernetes 集群并对其进行管理的 MCP Server（Model Context Protocol Server，模型上下文协议服务器）。支持按优先级顺序从多个来源加载 kubeconfig。\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Ff25f8f4e-4d04-479b-9ae0-5dac452dd2ed\n\n\u003Ca href=\"https:\u002F\u002Fglama.ai\u002Fmcp\u002Fservers\u002Fw71ieamqrt\">\u003Cimg width=\"380\" height=\"200\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFlux159_mcp-server-kubernetes_readme_bd46a8f92a5d.png\" \u002F>\u003C\u002Fa>\n\n## 安装与使用\n\n### 先决条件\n\n在将此 MCP server 与任何工具配合使用之前，请确保您已满足以下条件：\n\n1. 已安装 `kubectl` 并将其加入 PATH\n2. 拥有一个配置了上下文（contexts）的有效 kubeconfig 文件\n3. 能通过 kubectl 访问 Kubernetes 集群（例如 minikube、Rancher Desktop、GKE 等）\n4. 已安装 Helm v3 并将其加入 PATH（无需 Tiller）。如果您不打算使用 Helm，则此项为可选。\n\n您可以通过在终端中运行 `kubectl get pods` 来验证连接，确保能够无凭证问题地连接到集群。\n\n默认情况下，该 server 会从 `~\u002F.kube\u002Fconfig` 加载 kubeconfig。如需其他认证选项（环境变量、自定义路径等），请参阅 [ADVANCED_README.md](ADVANCED_README.md)。\n\n### Claude Code\n\n使用内置命令将 MCP server 添加到 Claude Code：\n\n```bash\nclaude mcp add kubernetes -- npx mcp-server-kubernetes\n```\n\n这将自动在您的 Claude Code MCP 设置中配置该 server。\n\n### Claude Desktop\n\n将以下配置添加到您的 Claude Desktop 配置文件中：\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-kubernetes\"]\n    }\n  }\n}\n```\n\n### 通过 mcpb 使用 Claude Desktop Connector\n\nMCP Server Kubernetes 也可作为 [mcpb](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fmcpb)（原名 dxt）扩展使用。在 Claude Desktop 中，进入设置（Mac 上为 `Cmd+,`）→ Extensions（扩展）→ Browse Extensions（浏览扩展），在弹窗中滚动查找 mcp-server-kubernetes 并安装。安装后，它将通过命令行自动安装并使用 kubectl 及您的 kubeconfig。\n\n您也可以手动安装：前往最新的 [Release](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Freleases) 页面下载 .mcpb 文件。\n\n### VS Code\n\n[![Install Kubernetes MCP in VS Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FInstall%20Kubernetes%20MCP%20in%20VS%20Code-blue?logo=visualstudiocode)](vscode:mcp\u002Finstall?%7B%22name%22%3A%20%22kubernetes%22%2C%20%22type%22%3A%20%22stdio%22%2C%20%22command%22%3A%20%22npx%22%2C%20%22args%22%3A%20%5B%22mcp-server-kubernetes%22%5D%7D)\n\n对于 VS Code 集成，您可以将该 MCP server 与支持 Model Context Protocol 的扩展一起使用：\n\n1. 安装兼容的 MCP 扩展（例如 Claude Dev 或其他 MCP 客户端）\n2. 配置该扩展以使用本 server：\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-kubernetes\"],\n      \"description\": \"Kubernetes 集群管理与操作\"\n    }\n  }\n}\n```\n\n### Cursor\n\nCursor 通过其 AI 集成功能支持 MCP servers。将该 server 添加到您的 Cursor MCP 配置中：\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-kubernetes\"]\n    }\n  }\n}\n```\n\n该 server 将自动连接到您当前的 kubectl 上下文。您可以通过让 AI 助手列出您的 Pods 或创建一个测试 Deployment 来验证连接是否成功。\n\n## 与 mcp-chat 配合使用\n\n[mcp-chat](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-chat) 是一个用于与 MCP servers 交互的 CLI 聊天客户端。您可以使用它来与 Kubernetes server 进行交互。\n\n```shell\nnpx mcp-chat --server \"npx mcp-server-kubernetes\"\n```\n\n或者，传入您上面创建的 Claude Desktop 配置文件（Linux 用户应传入正确的配置路径）：\n\nMac:\n\n```shell\nnpx mcp-chat --config \"~\u002FLibrary\u002FApplication Support\u002FClaude\u002Fclaude_desktop_config.json\"\n```\n\nWindows:\n\n```shell\nnpx mcp-chat --config \"%APPDATA%\\Claude\\claude_desktop_config.json\"\n```\n\n## Gemini CLI\n\n[Gemini CLI](https:\u002F\u002Fgeminicli.com\u002F) 允许您将 MCP servers 作为扩展安装。在终端中，通过指向本仓库来安装扩展：\n\n```shell\ngemini extensions install https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\n```\n\n## 功能特性\n\n- [x] 连接到 Kubernetes 集群\n- [x] 统一的 kubectl API 用于管理资源\n  - 使用 `kubectl_get` 获取或列出资源\n  - 使用 `kubectl_describe` 描述资源\n  - 使用 `kubectl_get` 列出资源\n  - 使用 `kubectl_create` 创建资源\n  - 使用 `kubectl_apply` 应用 YAML 清单\n  - 使用 `kubectl_delete` 删除资源\n  - 使用 `kubectl_logs` 获取日志\n  - 使用 `kubectl_context` 管理 kubectl 上下文（context）\n  - 使用 `explain_resource` 解释 Kubernetes 资源\n  - 使用 `list_api_resources` 列出 API 资源\n  - 使用 `kubectl_scale` 扩缩资源\n  - 使用 `kubectl_patch` 更新资源的字段\n  - 使用 `kubectl_rollout` 管理 Deployment 的滚动更新\n  - 使用 `kubectl_generic` 执行任意 kubectl 命令\n  - 使用 `ping` 验证连接\n- [x] 高级操作\n  - 使用 `kubectl_scale` 扩缩 Deployment（替代旧版 `scale_deployment`）\n  - 使用 `port_forward` 对 Pod 和 Service 进行端口转发\n  - Helm 操作支持\n    - 安装、升级和卸载 Helm Chart\n    - 支持自定义 values、仓库和版本\n    - 基于模板的安装（`helm_template_apply`），可绕过认证问题\n    - 基于模板的卸载（`helm_template_uninstall`），可绕过认证问题\n  - Pod 清理操作\n    - 清理处于以下状态的问题 Pod（`cleanup_pods`）：Evicted（已驱逐）、ContainerStatusUnknown（容器状态未知）、Completed（已完成）、Error（错误）、ImagePullBackOff（镜像拉取失败）、CrashLoopBackOff（崩溃循环）\n  - 节点管理操作\n    - 对节点进行封锁（cordon）、排空（drain）和解除封锁（uncordon）（`node_management`），用于维护和扩缩容操作\n- [x] 故障排查提示（`k8s-diagnose`）\n  - 根据关键字和可选的命名空间（namespace），引导用户对 Pod 进行系统化的 Kubernetes 故障排查流程。\n- [x] 非破坏性模式（Non-destructive mode），仅允许对集群进行读取和创建\u002F更新操作\n- [x] 敏感信息掩码（Secrets masking）以保障安全（在 `kubectl get secrets` 命令中屏蔽敏感数据，不影响日志）\n- [x] **OpenTelemetry 可观测性**（可选启用）\n  - 为所有工具调用提供分布式追踪（Distributed tracing）\n  - 支持导出到 Jaeger、Tempo、Grafana 或任意 OTLP 后端\n  - 可配置的采样策略\n  - 丰富的 Span 属性（工具名称、持续时间、K8s 上下文、错误信息等）\n  - 详情请参阅 [docs\u002FOBSERVABILITY.md](docs\u002FOBSERVABILITY.md)\n\n## 可观测性\n\nMCP Kubernetes 服务器包含可选的 **OpenTelemetry 集成**，用于全面的可观测性。该功能默认禁用，可通过环境变量或 Helm 配置启用。\n\n### 快速开始\n\n通过环境变量启用可观测性：\n\n```bash\nexport ENABLE_TELEMETRY=true\nexport OTEL_EXPORTER_OTLP_ENDPOINT=http:\u002F\u002Flocalhost:4317\n\nnpx mcp-server-kubernetes\n```\n\n### 追踪内容\n\n- **所有工具调用**：如 `kubectl_get`、`kubectl_apply`、`kubectl_logs` 等\n- **执行耗时**：每次操作所花费的时间\n- **成功\u002F失败状态**：自动错误追踪\n- **Kubernetes 上下文**：命名空间、上下文、资源类型\n- **丰富元数据**：主机、进程和自定义属性\n\n### 支持的后端\n\n兼容任意 OTLP 后端：\n- **Jaeger**（开源）\n- **Grafana Tempo**（开源）\n- **Grafana Cloud**（商业）\n- **Datadog**、**New Relic**、**Honeycomb**、**Lightstep**、**AWS X-Ray**\n\n### 配置\n\n详见 **[docs\u002FOBSERVABILITY.md](docs\u002FOBSERVABILITY.md)**，包括：\n- 配置选项\n- 部署示例（Kubernetes、Helm、Claude Code）\n- 采样策略\n- 生产环境最佳实践\n- 故障排查指南\n\n### Jaeger 示例\n\n```bash\n# 启动 Jaeger\ndocker run -d --name jaeger \\\n  -e COLLECTOR_OTLP_ENABLED=true \\\n  -p 16686:16686 \\\n  -p 4317:4317 \\\n  jaegertracing\u002Fall-in-one:latest\n\n# 启用遥测\nexport ENABLE_TELEMETRY=true\nexport OTEL_EXPORTER_OTLP_ENDPOINT=http:\u002F\u002Flocalhost:4317\nexport OTEL_TRACES_SAMPLER=always_on\n\n# 启动服务器\nnpx mcp-server-kubernetes\n\n# 查看追踪：http:\u002F\u002Flocalhost:16686\n```\n\n## 提示（Prompts）\n\nMCP Kubernetes 服务器包含专门的提示，用于协助常见的诊断操作。\n\n### \u002Fk8s-diagnose 提示\n\n该提示为 Kubernetes Pod 提供系统化的故障排查流程。它接受一个 `keyword` 用于识别相关 Pod，并可选指定 `namespace` 以缩小搜索范围。  \n提示的输出将引导您完成自主故障排查流程，提供识别问题、收集证据和建议修复步骤的指令。\n\n## 本地开发\n\n请确保已安装 [bun](https:\u002F\u002Fbun.sh\u002Fdocs\u002Finstallation)。克隆仓库并安装依赖：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes.git\ncd mcp-server-kubernetes\nbun install\n```\n\n### 开发工作流\n\n1. 以开发模式启动服务器（监听文件变更）：\n\n```bash\nbun run dev\n```\n\n2. 运行单元测试：\n\n```bash\nbun run test\n```\n\n3. 构建项目：\n\n```bash\nbun run build\n```\n\n4. 使用 [Inspector](https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Finspector) 进行本地测试\n\n```bash\nnpx @modelcontextprotocol\u002Finspector node dist\u002Findex.js\n# 按照终端中的进一步说明获取 Inspector 链接\n```\n\n5. 使用 Claude Desktop 进行本地测试\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-server-kubernetes\": {\n      \"command\": \"node\",\n      \"args\": [\"\u002Fpath\u002Fto\u002Fyour\u002Fmcp-server-kubernetes\u002Fdist\u002Findex.js\"]\n    }\n  }\n}\n```\n\n6. 使用 [mcp-chat](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-chat) 进行本地测试\n\n```bash\nbun run chat\n```\n\n## 贡献\n\n详情请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 文件。\n\n## 高级功能\n\n### 非破坏性模式\n\n您可以以非破坏性模式运行服务器，该模式会禁用所有破坏性操作（如删除 Pod、Deployment、命名空间等）：\n\n```shell\nALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true npx mcp-server-kubernetes\n```\n\n在 Claude Desktop 中配置非破坏性模式：\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes-readonly\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-kubernetes\"],\n      \"env\": {\n        \"ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS\": \"true\"\n      }\n    }\n  }\n}\n```\n\n### 非破坏性模式下可用的命令\n\n所有只读操作和资源创建\u002F更新操作仍然可用：\n\n- 资源信息：`kubectl_get`、`kubectl_describe`、`kubectl_logs`、`explain_resource`、`list_api_resources`\n- 资源创建\u002F修改：`kubectl_apply`、`kubectl_create`、`kubectl_scale`、`kubectl_patch`、`kubectl_rollout`\n- Helm 操作：`install_helm_chart`、`upgrade_helm_chart`、`helm_template_apply`、`helm_template_uninstall`\n- 连通性：`port_forward`、`stop_port_forward`\n- 上下文管理：`kubectl_context`\n\n### 非破坏性模式下禁用的命令\n\n以下破坏性操作已被禁用：\n\n- `kubectl_delete`：删除任意 Kubernetes 资源\n- `uninstall_helm_chart`：卸载 Helm chart\n- `cleanup`：清理托管资源\n- `cleanup_pods`：清理有问题的 Pod\n- `node_management`：节点管理操作（可能排空节点）\n- `kubectl_generic`：通用 kubectl 命令访问（可能包含破坏性操作）\n\n如需了解其他高级功能，请参阅 [ADVANCED_README.md](ADVANCED_README.md) 以及 [docs](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Ftree\u002Fmain\u002Fdocs) 目录，其中包含关于 `helm_install`、`helm_template_apply`、节点管理与 Pod 清理的具体信息。\n\n## 架构\n\n有关更深入的架构概览（由 Devin 创建），请参见此 [DeepWiki 链接](https:\u002F\u002Fdeepwiki.com\u002FFlux159\u002Fmcp-server-kubernetes)。\n\n本节描述了 MCP Kubernetes 服务器的高层架构。\n\n### 请求流程\n\n下方的序列图展示了请求在系统中的流转过程：\n\n```mermaid\nsequenceDiagram\n    participant Client\n    participant Transport as Transport Layer\n    participant Server as MCP Server\n    participant Filter as Tool Filter\n    participant Handler as Request Handler\n    participant K8sManager as KubernetesManager\n    participant K8s as Kubernetes API\n\n    Note over Transport: StdioTransport or\u003Cbr>SSE Transport\n\n    Client->>Transport: Send Request\n    Transport->>Server: Forward Request\n\n    alt Tools Request\n        Server->>Filter: Filter available tools\n        Note over Filter: Remove destructive tools\u003Cbr>if in non-destructive mode\n        Filter->>Handler: Route to tools handler\n\n        alt kubectl operations\n            Handler->>K8sManager: Execute kubectl operation\n            K8sManager->>K8s: Make API call\n        else Helm operations\n            Handler->>K8sManager: Execute Helm operation\n            K8sManager->>K8s: Make API call\n        else Port Forward operations\n            Handler->>K8sManager: Set up port forwarding\n            K8sManager->>K8s: Make API call\n        end\n\n        K8s-->>K8sManager: Return result\n        K8sManager-->>Handler: Process response\n        Handler-->>Server: Return tool result\n    else Resource Request\n        Server->>Handler: Route to resource handler\n        Handler->>K8sManager: Get resource data\n        K8sManager->>K8s: Query API\n        K8s-->>K8sManager: Return data\n        K8sManager-->>Handler: Format response\n        Handler-->>Server: Return resource data\n    end\n\n    Server-->>Transport: Send Response\n    Transport-->>Client: Return Final Response\n```\n\n有关更深入的架构概览（由 Devin 创建），请参见此 [DeepWiki 链接](https:\u002F\u002Fdeepwiki.com\u002FFlux159\u002Fmcp-server-kubernetes)。\n\n## 发布新版本\n\n前往 [releases 页面](https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Freleases)，点击 “Draft New Release”，点击 “Choose a tag” 并输入新版本号（采用 \"v{major}.{minor}.{patch}\" 的语义化版本格式）以创建新标签。随后，填写发布标题 “Release v{major}.{minor}.{patch}” 以及必要的描述或更新日志，最后点击 “Publish Release”。\n\n这将创建一个新标签，并通过 cd.yml 工作流触发新的发布构建。构建成功后，新版本将自动发布到 [npm](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fmcp-server-kubernetes)。注意：无需手动更新 package.json 中的版本号，因为工作流会自动更新 package.json 文件中的版本号并向 main 分支推送一次提交。\n\n## 不在计划中的功能\n\n向 kubectx 添加集群。\n\n## Star 历史\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFlux159_mcp-server-kubernetes_readme_fb1e11d4de45.png)](https:\u002F\u002Fwww.star-history.com\u002F#Flux159\u002Fmcp-server-kubernetes&Date)\n\n## 🖊️ 引用\n\n如果您觉得本仓库有用，请引用：\n\n```\n@software{Patel_MCP_Server_Kubernetes_2024,\nauthor = {Patel, Paras and Sonwalkar, Suyog},\nmonth = jul,\ntitle = {{MCP Server Kubernetes}},\nurl = {https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes},\nversion = {2.5.0},\nyear = {2024}\n}\n```","# mcp-server-kubernetes 快速上手指南\n\n## 环境准备\n\n在使用 `mcp-server-kubernetes` 前，请确保满足以下条件：\n\n1. **kubectl** 已安装并加入系统 PATH  \n   （国内用户可从 [阿里云镜像](https:\u002F\u002Fdeveloper.aliyun.com\u002Fhub) 或 [清华镜像站](https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fkubernetes\u002F) 下载）\n2. 有效的 **kubeconfig** 文件（默认位于 `~\u002F.kube\u002Fconfig`），且已配置好集群上下文\n3. 可通过 `kubectl get pods` 正常访问目标 Kubernetes 集群（如 Minikube、Rancher Desktop、ACK、GKE 等）\n4. （可选）如需使用 Helm 功能，请安装 **Helm v3**（无需 Tiller）\n\n> 💡 提示：若在国内网络环境，建议配置 kubectl 和 Helm 的国内镜像源以加速下载。\n\n## 安装步骤\n\n该工具基于 Node.js 生态，可通过 `npx` 直接运行，无需全局安装：\n\n```bash\n# 验证是否可正常启动（会自动下载并运行）\nnpx mcp-server-kubernetes\n```\n\n如需在特定 AI 开发环境中集成，请参考对应配置方式：\n\n### VS Code \u002F Claude Desktop \u002F Cursor 配置\n\n在 MCP 客户端配置文件中添加以下内容：\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-server-kubernetes\"]\n    }\n  }\n}\n```\n\n### 使用 mcp-chat 本地测试\n\n```bash\nnpx mcp-chat --server \"npx mcp-server-kubernetes\"\n```\n\n## 基本使用\n\n启动后，AI 助手即可通过 MCP 协议调用 Kubernetes 操作。以下为典型使用场景：\n\n- **查看 Pod 列表**：向 AI 提问 “列出 default 命名空间下的所有 Pod”\n- **部署应用**：提供 YAML 内容并说 “应用这个 Deployment”\n- **诊断问题**：使用内置指令 `\u002Fk8s-diagnose nginx` 自动排查含关键词 `nginx` 的 Pod 异常\n\n> ✅ 默认使用当前 `kubectl` 上下文，支持自动加载 `~\u002F.kube\u002Fconfig`。高级认证方式（如环境变量、自定义路径）请参阅项目中的 `ADVANCED_README.md`。\n\n### 启用只读模式（推荐用于生产环境）\n\n防止误删资源，可启用非破坏性模式：\n\n```bash\nALLOW_ONLY_NON_DESTRUCTIVE_TOOLS=true npx mcp-server-kubernetes\n```\n\n此模式下仅允许查询、创建和更新操作，禁止删除类命令（如 `kubectl delete`）。","某 DevOps 工程师正在使用 Claude Desktop 编写一个部署脚本，需要频繁查询 Kubernetes 集群状态、调试 Pod 异常并安装 Helm Chart。\n\n### 没有 mcp-server-kubernetes 时\n- 每次想查看 Pod 状态，都得切换到终端手动执行 `kubectl get pods -n myapp`，再把结果复制回聊天窗口分析。\n- 调试服务异常时，无法在对话中直接获取日志，必须先记住 Pod 名称，再切到命令行运行 `kubectl logs`，效率低下。\n- 安装 Helm Chart 需要离开 Claude 手动执行 `helm install`，容易因参数错误反复尝试，上下文割裂。\n- 多集群环境下，需手动确认当前 kubeconfig 上下文是否正确，容易误操作生产环境。\n- 编写自动化脚本时缺乏实时反馈，无法验证命令是否真能在目标集群上运行。\n\n### 使用 mcp-server-kubernetes 后\n- 在 Claude 对话中直接输入“列出 myapp 命名空间下的所有 Pod”，AI 自动调用 mcp-server-kubernetes 获取实时数据并结构化呈现。\n- 可通过自然语言指令如“查看最近崩溃的 Pod 日志”，工具自动定位异常容器并返回日志片段，无需手动查名。\n- 通过“用 Helm 在 staging 环境部署 mychart”等指令，AI 调用内置 Helm 支持完成安装，并返回部署状态。\n- 工具自动按优先级加载 kubeconfig，结合上下文隔离机制，避免跨环境误操作。\n- 编写 YAML 或脚本时，可即时验证资源是否存在或配置是否生效，形成闭环开发体验。\n\nmcp-server-kubernetes 将 Kubernetes 操作无缝嵌入 AI 对话流，让集群管理从“切换-执行-粘贴”的繁琐流程变为自然语言驱动的高效交互。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FFlux159_mcp-server-kubernetes_de2f5493.png","Flux159","Suyog Sonwalkar","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FFlux159_453656ed.png","AI developer, Python, Javascript \u002F React","Chronotale, Inc.","San Francisco, CA","Flux159@gmail.com","flux159","https:\u002F\u002Fsuyogs.com","https:\u002F\u002Fgithub.com\u002FFlux159",[86,90,94,98],{"name":87,"color":88,"percentage":89},"TypeScript","#3178c6",94.4,{"name":91,"color":92,"percentage":93},"JavaScript","#f1e05a",3.4,{"name":95,"color":96,"percentage":97},"Go Template","#00ADD8",1.9,{"name":99,"color":100,"percentage":101},"Dockerfile","#384d54",0.3,1371,238,"2026-04-02T09:24:19","MIT","Linux, macOS, Windows","未说明",{"notes":109,"python":107,"dependencies":110},"需要预先安装 kubectl 并配置有效的 kubeconfig 文件以连接 Kubernetes 集群；可选安装 Helm v3 以支持 Helm 相关操作；运行时依赖 Bun（JavaScript 运行时），不依赖 Python；支持通过环境变量启用 OpenTelemetry 可观察性功能。",[111,112,113],"bun","kubectl","Helm v3",[15,45],[116,117,118,119],"infrastructure","kubernetes","mcp","server",5,null,"2026-03-27T02:49:30.150509","2026-04-06T05:37:25.961756",[125,130,135,139,144,148],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},120,"如何在 Kubernetes（如 EKS）上正确运行 MCP Server 容器？","MCP Server 容器启动后立即退出通常是因为缺少必要的配置或权限。确保使用支持 streamable-http-transport 的镜像（v2.7.0+），并在 Deployment 中正确设置环境变量（如 ALLOW_ONLY_READONLY_TOOLS）。此外，应通过 ServiceAccount 绑定足够的 RBAC 权限，并确认容器监听的端口（默认 8080）被正确暴露。若需从集群外部访问，可通过 Ingress 暴露 \u002Fmcp 路由，但必须配合身份认证代理以保障安全。","https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fissues\u002F182",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},121,"是否可以通过环境变量配置 kubeconfig，而不依赖本地文件？","是的，mcp-server-kubernetes 支持通过环境变量配置 Kubernetes 访问凭证。优先级如下：1) In-cluster ServiceAccount；2) KUBECONFIG_DATA（YAML 字符串）；3) KUBECONFIG_JSON（JSON 字符串）；4) K8S_SERVER + K8S_TOKEN（可选 K8S_SKIP_TLS_VERIFY）；5) 默认 ~\u002F.kube\u002Fconfig 文件。例如，在 mcphub.nvim 中需显式设置 \"KUBECONFIG\": \"\" 才能继承当前进程的环境变量。","https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fissues\u002F148",{"id":65,"question_zh":136,"answer_zh":137,"source_url":138},"如何让 MCP 工具支持操作多个 Kubernetes 集群？","从 v1.4.0 开始，MCP Server 提供了 list、get、set 等上下文管理工具，允许 LLM 动态切换当前 kubeconfig 上下文。虽然不能直接在每个工具调用中传入集群名，但可通过这些上下文切换工具间接实现多集群操作。用户应先调用 set context 工具切换到目标集群，再执行其他操作。","https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fissues\u002F97",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},123,"连接自签名证书的本地 K3s\u002FRancher 集群时出现 TLS 错误怎么办？","该问题源于 Kubernetes JavaScript 客户端库对证书的严格校验。解决方法是在 kubeconfig 文件中为目标集群添加 insecure-skip-tls-verify: true，并移除 certificate-authority-data 字段。确保修改后的 kubeconfig 能在终端中直接通过 kubectl get namespaces 正常工作。注意：此项目主要使用官方 JS 客户端，其存在凭证缓存问题，不支持运行时动态切换 kubeconfig。","https:\u002F\u002Fgithub.com\u002FFlux159\u002Fmcp-server-kubernetes\u002Fissues\u002F91",{"id":145,"question_zh":146,"answer_zh":147,"source_url":129},124,"能否通过 Ingress 将 MCP Server 的 HTTP 接口暴露到公网？","可以，从 v2.7.0 起 MCP Server 支持 streamable-http-transport，会在 \u002Fmcp 路径启动 Web 服务。你可以通过 Ingress 暴露该路径并启用 HTTPS。但必须在前端部署具备身份认证功能的反向代理（如 OAuth2 Proxy 或 API Gateway），否则会将整个 Kubernetes 集群暴露给公网，带来严重安全风险。",{"id":149,"question_zh":150,"answer_zh":151,"source_url":134},125,"在使用 mcphub.nvim 时如何正确传递 KUBECONFIG 环境变量？","需在 servers.json 配置中显式声明 env 字段，即使值为空字符串。例如：{\"kubernetes\": {\"env\": {\"KUBECONFIG\": \"\"}, \"command\": \"npx\", \"args\": [\"mcp-server-kubernetes\"]}}。这样 mcphub.nvim 才会将当前 shell 中的 KUBECONFIG 环境变量传递给子进程。若未显式设置，环境变量可能不会被继承。",[153,158,163,168,173,178,183,188,193,198,203,208,213,217,222,227,232,237,242,246],{"id":154,"version":155,"summary_zh":156,"released_at":157},99777,"v3.4.0","New kubectl_reconnect command and bug fixes:\r\n* Add kubectl_reconnect to fix stale reconnects. Thanks to @BrunoChauvet!\r\n* Using constant time comparison for auth tokens. Thanks to @spidershield-contrib!\r\n","2026-03-27T18:08:49",{"id":159,"version":160,"summary_zh":161,"released_at":162},99778,"v3.3.0","New features and bug fixes:\r\n* Adding OpenTelemetry distributed tracing support #264\r\n* Refactoring exec_in_pod to use kubectl #271 \r\n* Adding writable AWS credentials volume #266\r\n\r\nThanks to @rr-paras-patel and Claude.","2026-03-01T18:43:46",{"id":164,"version":165,"summary_zh":166,"released_at":167},99779,"v3.2.2","Adding .zip to release in addition to .mcpb to support gemini CLI. Thansk to @tymorton!","2026-03-01T17:53:23",{"id":169,"version":170,"summary_zh":171,"released_at":172},99780,"v3.2.1","Updating status to be more accurate to kubectl response.","2026-02-19T04:03:38",{"id":174,"version":175,"summary_zh":176,"released_at":177},99781,"v3.2.0","Adding support for custom volumes in helm chart. Thanks to @smunukutla-mycarrier!\r\n\r\nAdding X-MCP-AUTH as a simple authentication mechanism for server running in sse \u002F streamable-http servers.","2026-01-15T17:34:49",{"id":179,"version":180,"summary_zh":181,"released_at":182},99782,"v3.1.1","Fixing required name for kubectl_get and kubectl_delete (not actually required).","2026-01-08T03:28:42",{"id":184,"version":185,"summary_zh":186,"released_at":187},99783,"v3.1.0","Updating `@modelcontextprotocol\u002Fsdk` to resolve dependabot issues.","2026-01-07T21:36:47",{"id":189,"version":190,"summary_zh":191,"released_at":192},99784,"v3.0.5","Adding tool annotations. Thanks to @triepod-ai!","2025-12-28T04:02:16",{"id":194,"version":195,"summary_zh":196,"released_at":197},99785,"v3.0.4","Update for TLS_VERIFY and CA_CERT. Thanks to @Konstantinov-Innokentii!","2025-12-18T01:19:15",{"id":199,"version":200,"summary_zh":201,"released_at":202},99786,"v3.0.3","Multiple bug fixes & improvements:\r\n\r\n* Updates to helm charts - supporting custom init containers & removing an unsupported gcloud parameter. Thanks to @milvito!\r\n* Prioritize env vars (K8S_SERVER \u002F K8S_TOKEN) over incluster credentials (providing env vars takes precedence if they are provided). Thanks to @ashlkv!\r\n* Allowing passing a CA certificate data via env var K8S_CA_DATA to allow for TLS verification. Thanks to @Konstantinov-Innokentii!\r\n","2025-12-17T05:48:16",{"id":204,"version":205,"summary_zh":206,"released_at":207},99787,"v3.0.2","Adding MCPError if kubectl patch receives a string instead of object.","2025-12-12T17:48:17",{"id":209,"version":210,"summary_zh":211,"released_at":212},99788,"v3.0.1","Helm chart publishing needed additional permissions for updated cd.yml publishing with npm trusted publishers.","2025-12-06T00:43:18",{"id":214,"version":215,"summary_zh":121,"released_at":216},99789,"v3.0.0","2025-12-06T00:30:04",{"id":218,"version":219,"summary_zh":220,"released_at":221},99790,"v2.9.9","cd.yml fix for helm chart publishing error.","2025-12-01T18:12:06",{"id":223,"version":224,"summary_zh":225,"released_at":226},99791,"v2.9.8","Dependabot & bug fixes for exec_in_pod.","2025-12-01T03:24:46",{"id":228,"version":229,"summary_zh":230,"released_at":231},99792,"v2.9.7","Fix up bug in closing streamable-http servers. Thanks to @reckless-huang!","2025-10-21T05:54:04",{"id":233,"version":234,"summary_zh":235,"released_at":236},99793,"v2.9.6","Updating manifest.json for mcpb bundles.","2025-09-22T15:54:14",{"id":238,"version":239,"summary_zh":240,"released_at":241},99794,"v2.9.5","Updating .dxtignore to be .mcpbignore to reduce size of mcpb bundle.","2025-09-18T19:32:06",{"id":243,"version":244,"summary_zh":121,"released_at":245},99795,"v2.9.4","2025-09-17T19:58:50",{"id":247,"version":248,"summary_zh":249,"released_at":250},99796,"v2.9.3","Adding readOnlyHint and destructiveHint to tool schemas.","2025-09-16T17:33:02"]