[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-containers--kubernetes-mcp-server":3,"tool-containers--kubernetes-mcp-server":65},[4,17,27,35,43,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},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 真正成长为懂上",161147,2,"2026-04-19T23:31:47",[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},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},8553,"spec-kit","github\u002Fspec-kit","Spec Kit 是一款专为提升软件开发效率而设计的开源工具包，旨在帮助团队快速落地“规格驱动开发”（Spec-Driven Development）模式。传统开发中，需求文档往往与代码实现脱节，导致沟通成本高且结果不可控；而 Spec Kit 通过将规格说明书转化为可执行的指令，让 AI 直接依据明确的业务场景生成高质量代码，从而减少从零开始的随意编码，确保产出结果的可预测性。\n\n该工具特别适合希望利用 AI 辅助编程的开发者、技术负责人及初创团队。无论是启动全新项目还是在现有工程中引入规范化流程，用户只需通过简单的命令行操作，即可初始化项目并集成主流的 AI 编程助手。其核心技术亮点在于“规格即代码”的理念，支持社区扩展与预设模板，允许用户根据特定技术栈定制开发流程。此外，Spec Kit 强调官方维护的安全性，提供稳定的版本管理，帮助开发者在享受 AI 红利的同时，依然牢牢掌握架构设计的主动权，真正实现从“凭感觉写代码”到“按规格建系统”的转变。",88749,"2026-04-17T09:48:14",[15,26,14,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":10,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85267,"2026-04-18T11:00:28",[26,51,52,53,14,54,15,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":62,"last_commit_at":63,"category_tags":64,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,51,54],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":71,"readme_en":72,"readme_zh":73,"quickstart_zh":74,"use_case_zh":75,"hero_image_url":76,"owner_login":77,"owner_name":78,"owner_avatar_url":79,"owner_bio":80,"owner_company":81,"owner_location":81,"owner_email":81,"owner_twitter":81,"owner_website":81,"owner_url":82,"languages":83,"stars":110,"forks":111,"last_commit_at":112,"license":113,"difficulty_score":10,"env_os":114,"env_gpu":115,"env_ram":115,"env_deps":116,"category_tags":120,"github_topics":121,"view_count":10,"oss_zip_url":81,"oss_zip_packed_at":81,"status":16,"created_at":130,"updated_at":131,"faqs":132,"releases":162},9949,"containers\u002Fkubernetes-mcp-server","kubernetes-mcp-server","Model Context Protocol (MCP) server for Kubernetes and OpenShift","kubernetes-mcp-server 是一款专为 Kubernetes 和 OpenShift 打造的 Model Context Protocol (MCP) 服务器，旨在让 AI 助手能够直接、安全地理解和管理容器集群。它解决了传统方案依赖外部命令行工具（如 kubectl）导致的延迟高、配置复杂及环境依赖多等痛点，通过原生 Go 语言编写，直接与 Kubernetes API 服务器交互，无需在系统中安装 Node.js、Python 或其他额外依赖。\n\n这款工具特别适合 DevOps 工程师、后端开发者以及希望利用 AI 辅助运维的研究人员使用。无论是日常查看 Pod 日志、管理命名空间、监控资源使用情况，还是执行复杂的 Helm 图表部署与 Tekton 流水线任务，kubernetes-mcp-server 都能提供低延迟的响应。其独特亮点在于轻量级的单二进制文件分发模式，支持跨平台运行，并具备自动感知配置文件变化、多集群管理及可观测性集成能力。通过将集群操作标准化为 MCP 协议，它让 AI 能更精准地协助用户完成从资源增删改查到故障排查的各类工作，显著提升云原生环","kubernetes-mcp-server 是一款专为 Kubernetes 和 OpenShift 打造的 Model Context Protocol (MCP) 服务器，旨在让 AI 助手能够直接、安全地理解和管理容器集群。它解决了传统方案依赖外部命令行工具（如 kubectl）导致的延迟高、配置复杂及环境依赖多等痛点，通过原生 Go 语言编写，直接与 Kubernetes API 服务器交互，无需在系统中安装 Node.js、Python 或其他额外依赖。\n\n这款工具特别适合 DevOps 工程师、后端开发者以及希望利用 AI 辅助运维的研究人员使用。无论是日常查看 Pod 日志、管理命名空间、监控资源使用情况，还是执行复杂的 Helm 图表部署与 Tekton 流水线任务，kubernetes-mcp-server 都能提供低延迟的响应。其独特亮点在于轻量级的单二进制文件分发模式，支持跨平台运行，并具备自动感知配置文件变化、多集群管理及可观测性集成能力。通过将集群操作标准化为 MCP 协议，它让 AI 能更精准地协助用户完成从资源增删改查到故障排查的各类工作，显著提升云原生环境下的开发与运维效率。","# Kubernetes MCP Server\n\n[![GitHub License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fcontainers\u002Fkubernetes-mcp-server)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fblob\u002Fmain\u002FLICENSE)\n[![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fkubernetes-mcp-server)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fkubernetes-mcp-server)\n[![PyPI - Version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fkubernetes-mcp-server)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkubernetes-mcp-server\u002F)\n[![GitHub release (latest SemVer)](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fcontainers\u002Fkubernetes-mcp-server?sort=semver)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Freleases\u002Flatest)\n[![Build](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Factions\u002Fworkflows\u002Fbuild.yaml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Factions\u002Fworkflows\u002Fbuild.yaml)\n\n[✨ Features](#features) | [🚀 Getting Started](#getting-started) | [🎥 Demos](#demos) | [⚙️ Configuration](#configuration) | [🛠️ Tools](#tools-and-functionalities) | [💬 Community](#community) | [🧑‍💻 Development](#development)\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fbe2b67b3-fc1c-4d11-ae46-93deba8ed98e\n\n## ✨ Features \u003Ca id=\"features\">\u003C\u002Fa>\n\nA powerful and flexible Kubernetes [Model Context Protocol (MCP)](https:\u002F\u002Fblog.marcnuri.com\u002Fmodel-context-protocol-mcp-introduction) server implementation with support for **Kubernetes** and **OpenShift**.\n\n- **✅ Configuration**:\n  - Automatically detect changes in the Kubernetes configuration and update the MCP server.\n  - **View** and manage the current [Kubernetes `.kube\u002Fconfig`](https:\u002F\u002Fblog.marcnuri.com\u002Fwhere-is-my-default-kubeconfig-file) or in-cluster configuration.\n- **✅ Generic Kubernetes Resources**: Perform operations on **any** Kubernetes or OpenShift resource.\n  - Any CRUD operation (Create or Update, Get, List, Delete).\n- **✅ Pods**: Perform Pod-specific operations.\n  - **List** pods in all namespaces or in a specific namespace.\n  - **Get** a pod by name from the specified namespace.\n  - **Delete** a pod by name from the specified namespace.\n  - **Show logs** for a pod by name from the specified namespace.\n  - **Top** gets resource usage metrics for all pods or a specific pod in the specified namespace.\n  - **Exec** into a pod and run a command.\n  - **Run** a container image in a pod and optionally expose it.\n- **✅ Namespaces**: List Kubernetes Namespaces.\n- **✅ Events**: View Kubernetes events in all namespaces or in a specific namespace.\n- **✅ Projects**: List OpenShift Projects.\n- **☸️ Helm**:\n  - **Install** a Helm chart in the current or provided namespace.\n  - **List** Helm releases in all namespaces or in a specific namespace.\n  - **Uninstall** a Helm release in the current or provided namespace.\n- **🔧 Tekton**: Tekton-specific operations that complement generic Kubernetes resource management.\n  - **Pipeline**: Start a Tekton Pipeline by creating a PipelineRun.\n  - **PipelineRun**: Restart a PipelineRun with the same spec.\n  - **Task**: Start a Tekton Task by creating a TaskRun.\n  - **TaskRun**: Restart a TaskRun with the same spec, and retrieve TaskRun logs via pod resolution.\n- **🔭 Observability**: Optional OpenTelemetry distributed tracing and metrics with custom sampling rates. Includes `\u002Fstats` endpoint for real-time statistics. See [OTEL.md](docs\u002FOTEL.md).\n\nUnlike other Kubernetes MCP server implementations, this **IS NOT** just a wrapper around `kubectl` or `helm` command-line tools.\nIt is a **Go-based native implementation** that interacts directly with the Kubernetes API server.\n\nThere is **NO NEED** for external dependencies or tools to be installed on the system.\nIf you're using the native binaries you don't need to have Node or Python installed on your system.\n\n- **✅ Lightweight**: The server is distributed as a single native binary for Linux, macOS, and Windows.\n- **✅ High-Performance \u002F Low-Latency**: Directly interacts with the Kubernetes API server without the overhead of calling and waiting for external commands.\n- **✅ Multi-Cluster**: Can interact with multiple Kubernetes clusters simultaneously (as defined in your kubeconfig files).\n- **✅ Cross-Platform**: Available as a native binary for Linux, macOS, and Windows, as well as an npm package, a Python package, and container\u002FDocker image.\n- **✅ Configurable**: Supports [command-line arguments](#configuration), [TOML configuration files](docs\u002Fconfiguration.md), and environment variables.\n- **✅ Well tested**: The server has an extensive test suite to ensure its reliability and correctness across different Kubernetes environments.\n- **📚 Documentation**: Comprehensive [user documentation](docs\u002F) including setup guides, configuration reference, and observability.\n\n## 🚀 Getting Started \u003Ca id=\"getting-started\">\u003C\u002Fa>\n\n### Requirements\n\n- Access to a Kubernetes cluster.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Claude Code\u003C\u002Fb>\u003C\u002Fsummary>\n\nFollow the [dedicated Claude Code getting started guide](docs\u002Fgetting-started-claude-code.md) in our [user documentation](docs\u002F).\n\nFor a secure production setup with dedicated ServiceAccount and read-only access, also review the [Kubernetes setup guide](docs\u002Fgetting-started-kubernetes.md).\n\n\u003C\u002Fdetails>\n\n### Claude Desktop\n\n#### Using npx\n\nIf you have npm installed, this is the fastest way to get started with `kubernetes-mcp-server` on Claude Desktop.\n\nOpen your `claude_desktop_config.json` and add the mcp server to the list of `mcpServers`:\n``` json\n{\n  \"mcpServers\": {\n    \"kubernetes\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"kubernetes-mcp-server@latest\"\n      ]\n    }\n  }\n}\n```\n\n### VS Code \u002F VS Code Insiders\n\nInstall the Kubernetes MCP server extension in VS Code Insiders by pressing the following link:\n\n[\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF\" alt=\"Install in VS Code\">](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522kubernetes%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522kubernetes-mcp-server%2540latest%2522%255D%257D)\n[\u003Cimg alt=\"Install in VS Code Insiders\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5\">](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522kubernetes%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522kubernetes-mcp-server%2540latest%2522%255D%257D)\n\nAlternatively, you can install the extension manually by running the following command:\n\n```shell\n# For VS Code\ncode --add-mcp '{\"name\":\"kubernetes\",\"command\":\"npx\",\"args\":[\"kubernetes-mcp-server@latest\"]}'\n# For VS Code Insiders\ncode-insiders --add-mcp '{\"name\":\"kubernetes\",\"command\":\"npx\",\"args\":[\"kubernetes-mcp-server@latest\"]}'\n```\n\n### Cursor\n\nInstall the Kubernetes MCP server extension in Cursor by pressing the following link:\n\n[![Install MCP Server](https:\u002F\u002Fcursor.com\u002Fdeeplink\u002Fmcp-install-dark.svg)](https:\u002F\u002Fcursor.com\u002Fen\u002Finstall-mcp?name=kubernetes-mcp-server&config=eyJjb21tYW5kIjoibnB4IC15IGt1YmVybmV0ZXMtbWNwLXNlcnZlckBsYXRlc3QifQ%3D%3D)\n\nAlternatively, you can install the extension manually by editing the `mcp.json` file:\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"kubernetes-mcp-server@latest\"]\n    }\n  }\n}\n```\n\n### Goose CLI\n\n[Goose CLI](https:\u002F\u002Fblog.marcnuri.com\u002Fgoose-on-machine-ai-agent-cli-introduction) is the easiest (and cheapest) way to get rolling with artificial intelligence (AI) agents.\n\n#### Using npm\n\nIf you have npm installed, this is the fastest way to get started with `kubernetes-mcp-server`.\n\nOpen your goose `config.yaml` and add the mcp server to the list of `mcpServers`:\n```yaml\nextensions:\n  kubernetes:\n    command: npx\n    args:\n      - -y\n      - kubernetes-mcp-server@latest\n\n```\n\n## 🎥 Demos \u003Ca id=\"demos\">\u003C\u002Fa>\n\n### Diagnosing and automatically fixing an OpenShift Deployment\n\nDemo showcasing how Kubernetes MCP server is leveraged by Claude Desktop to automatically diagnose and fix a deployment in OpenShift without any user assistance.\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa576176d-a142-4c19-b9aa-a83dc4b8d941\n\n### _Vibe Coding_ a simple game and deploying it to OpenShift\n\nIn this demo, I walk you through the process of _Vibe Coding_ a simple game using VS Code and how to leverage [Podman MCP server](https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fpodman-mcp-server) and Kubernetes MCP server to deploy it to OpenShift.\n\n\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=l05jQDSrzVI\" target=\"_blank\">\n \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_kubernetes-mcp-server_readme_6ce44294ee2a.jpg\" alt=\"Vibe Coding: Build & Deploy a Game on Kubernetes\" width=\"240\"  \u002F>\n\u003C\u002Fa>\n\n### Supercharge GitHub Copilot with Kubernetes MCP Server in VS Code - One-Click Setup!\n\nIn this demo, I'll show you how to set up Kubernetes MCP server in VS code just by clicking a link.\n\n\u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FAI4ljYMkgtA\" target=\"_blank\">\n \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_kubernetes-mcp-server_readme_fee4ad89075e.jpg\" alt=\"Supercharge GitHub Copilot with Kubernetes MCP Server in VS Code - One-Click Setup!\" width=\"240\"  \u002F>\n\u003C\u002Fa>\n\n## ⚙️ Configuration \u003Ca id=\"configuration\">\u003C\u002Fa>\n\nThe Kubernetes MCP server can be configured using command line (CLI) arguments.\n\nYou can run the CLI executable either by using `npx`, `uvx`, or by downloading the [latest release binary](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Freleases\u002Flatest).\n\n```shell\n# Run the Kubernetes MCP server using npx (in case you have npm and node installed)\nnpx kubernetes-mcp-server@latest --help\n```\n\n```shell\n# Run the Kubernetes MCP server using uvx (in case you have uv and python installed)\nuvx kubernetes-mcp-server@latest --help\n```\n\n```shell\n# Run the Kubernetes MCP server using the latest release binary\n.\u002Fkubernetes-mcp-server --help\n```\n\n### Configuration Options\n\n| Option                    | Description                                                                                                                                                                                                                                                                                   |\n|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `--port`                  | Starts the MCP server in Streamable HTTP mode (path \u002Fmcp) and Server-Sent Event (SSE) (path \u002Fsse) mode and listens on the specified port .                                                                                                                                                    |\n| `--log-level`             | Sets the logging level (values [from 0-9](https:\u002F\u002Fgithub.com\u002Fkubernetes\u002Fcommunity\u002Fblob\u002Fmaster\u002Fcontributors\u002Fdevel\u002Fsig-instrumentation\u002Flogging.md)). Similar to [kubectl logging levels](https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Freference\u002Fkubectl\u002Fquick-reference\u002F#kubectl-output-verbosity-and-debugging). |\n| `--config`                | (Optional) Path to the main TOML configuration file. See [Configuration Reference](docs\u002Fconfiguration.md) for details.                                                                                                                                                                        |\n| `--config-dir`            | (Optional) Path to drop-in configuration directory. Files are loaded in lexical (alphabetical) order. Defaults to `conf.d` relative to the main config file if `--config` is specified. See [Configuration Reference](docs\u002Fconfiguration.md) for details.                                    |\n| `--kubeconfig`            | Path to the Kubernetes configuration file. If not provided, it will try to resolve the configuration (in-cluster, default location, etc.).                                                                                                                                                    |\n| `--list-output`           | Output format for resource list operations (one of: yaml, table) (default \"table\")                                                                                                                                                                                                            |\n| `--read-only`             | If set, the MCP server will run in read-only mode, meaning it will not allow any write operations (create, update, delete) on the Kubernetes cluster. This is useful for debugging or inspecting the cluster without making changes.                                                          |\n| `--disable-destructive`   | If set, the MCP server will disable all destructive operations (delete, update, etc.) on the Kubernetes cluster. This is useful for debugging or inspecting the cluster without accidentally making changes. This option has no effect when `--read-only` is used.                            |\n| `--stateless`             | If set, the MCP server will run in stateless mode, disabling tool and prompt change notifications. This is useful for container deployments, load balancing, and serverless environments where maintaining client state is not desired.                                                       |\n| `--toolsets`              | Comma-separated list of toolsets to enable. Check the [🛠️ Tools and Functionalities](#tools-and-functionalities) section for more information.                                                                                                                                                |\n| `--disable-multi-cluster` | If set, the MCP server will disable multi-cluster support and will only use the current context from the kubeconfig file. This is useful if you want to restrict the MCP server to a single cluster.                                                                                          |\n| `--cluster-provider`      | Cluster provider strategy to use (one of: kubeconfig, in-cluster, kcp, disabled). If not set, the server will auto-detect based on the environment.                                                                                                                                           |\n\n> **Note**: Most CLI options have equivalent TOML configuration fields. The `--disable-multi-cluster` flag is equivalent to setting `cluster_provider_strategy = \"disabled\"` in TOML. See the [Configuration Reference](docs\u002Fconfiguration.md) for all TOML options.\n\n### TOML Configuration Files\n\nFor complex or persistent configurations, use TOML configuration files instead of CLI arguments:\n\n```shell\nkubernetes-mcp-server --config \u002Fetc\u002Fkubernetes-mcp-server\u002Fconfig.toml\n```\n\n**Example configuration:**\n\n```toml\nlog_level = 2\nread_only = true\ntoolsets = [\"core\", \"config\", \"helm\", \"kubevirt\"]\n\n# Deny access to sensitive resources\n[[denied_resources]]\ngroup = \"\"\nversion = \"v1\"\nkind = \"Secret\"\n\n[telemetry]\nendpoint = \"http:\u002F\u002Flocalhost:4317\"\n```\n\nFor comprehensive TOML configuration documentation, including:\n- All configuration options and their defaults\n- Drop-in configuration files for modular settings\n- Dynamic configuration reload via SIGHUP\n- Denied resources for restricting access to sensitive resource types\n- Server instructions for MCP Tool Search\n- [Custom MCP prompts](docs\u002Fprompts.md)\n- OAuth\u002FOIDC authentication for HTTP mode ([Keycloak](docs\u002FKEYCLOAK_OIDC_SETUP.md), [Microsoft Entra ID](docs\u002FENTRA_ID_SETUP.md))\n\nSee the **[Configuration Reference](docs\u002Fconfiguration.md)**.\n\n## 📊 MCP Logging \u003Ca id=\"mcp-logging\">\u003C\u002Fa>\n\nThe server supports the MCP logging capability, allowing clients to receive debugging information via structured log messages.\nKubernetes API errors are automatically categorized and logged to clients with appropriate severity levels.\nSensitive data (tokens, keys, passwords, cloud credentials) is automatically redacted before being sent to clients.\n\nSee the **[MCP Logging Guide](docs\u002Flogging.md)**.\n\n## 🛠️ Tools and Functionalities \u003Ca id=\"tools-and-functionalities\">\u003C\u002Fa>\n\nThe Kubernetes MCP server supports enabling or disabling specific groups of tools and functionalities (tools, resources, prompts, and so on) via the `--toolsets` command-line flag or `toolsets` configuration option.\nThis allows you to control which Kubernetes functionalities are available to your AI tools.\nEnabling only the toolsets you need can help reduce the context size and improve the LLM's tool selection accuracy.\n\n### Available Toolsets\n\nThe following sets of tools are available (toolsets marked with ✓ in the Default column are enabled by default):\n\n\u003C!-- AVAILABLE-TOOLSETS-START -->\n\n| Toolset  | Description                                                                                                                                                                     | Default |\n|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|\n| config   | View and manage the current local Kubernetes configuration (kubeconfig)                                                                                                         | ✓       |\n| core     | Most common tools for Kubernetes management (Pods, Generic Resources, Events, etc.)                                                                                             | ✓       |\n| helm     | Tools for managing Helm charts and releases                                                                                                                                     |         |\n| kcp      | Manage kcp workspaces and multi-tenancy features                                                                                                                                |         |\n| kiali    | Most common tools for managing Kiali, check the [Kiali documentation](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fblob\u002Fmain\u002Fdocs\u002FKIALI.md) for more details.            |         |\n| kubevirt | KubeVirt virtual machine management tools, check the [KubeVirt documentation](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fblob\u002Fmain\u002Fdocs\u002Fkubevirt.md) for more details. |         |\n| tekton   | Tekton pipeline management tools for Pipelines, PipelineRuns, Tasks, and TaskRuns.                                                                                              |         |\n\n\u003C!-- AVAILABLE-TOOLSETS-END -->\n\n### Tools\n\nIn case multi-cluster support is enabled (default) and you have access to multiple clusters, all applicable tools will include an additional `context` argument to specify the Kubernetes context (cluster) to use for that operation.\n\n\u003C!-- AVAILABLE-TOOLSETS-TOOLS-START -->\n\n\u003Cdetails>\n\n\u003Csummary>config\u003C\u002Fsummary>\n\n- **configuration_contexts_list** - List all available context names and associated server urls from the kubeconfig file\n\n- **targets_list** - List all available targets\n\n- **configuration_view** - Get the current Kubernetes configuration content as a kubeconfig YAML\n  - `minified` (`boolean`) - Return a minified version of the configuration. If set to true, keeps only the current-context and the relevant pieces of the configuration for that context. If set to false, all contexts, clusters, auth-infos, and users are returned in the configuration. (Optional, default true)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>core\u003C\u002Fsummary>\n\n- **events_list** - List Kubernetes events (warnings, errors, state changes) for debugging and troubleshooting in the current cluster from all namespaces\n  - `namespace` (`string`) - Optional Namespace to retrieve the events from. If not provided, will list events from all namespaces\n\n- **namespaces_list** - List all the Kubernetes namespaces in the current cluster\n\n- **projects_list** - List all the OpenShift projects in the current cluster\n\n- **nodes_log** - Get logs from a Kubernetes node (kubelet, kube-proxy, or other system logs). This accesses node logs through the Kubernetes API proxy to the kubelet\n  - `name` (`string`) **(required)** - Name of the node to get logs from\n  - `query` (`string`) **(required)** - query specifies services(s) or files from which to return logs (required). Example: \"kubelet\" to fetch kubelet logs, \"\u002F\u003Clog-file-name>\" to fetch a specific log file from the node (e.g., \"\u002Fvar\u002Flog\u002Fkubelet.log\" or \"\u002Fvar\u002Flog\u002Fkube-proxy.log\")\n  - `tailLines` (`integer`) - Number of lines to retrieve from the end of the logs (Optional, 0 means all logs)\n\n- **nodes_stats_summary** - Get detailed resource usage statistics from a Kubernetes node via the kubelet's Summary API. Provides comprehensive metrics including CPU, memory, filesystem, and network usage at the node, pod, and container levels. On systems with cgroup v2 and kernel 4.20+, also includes PSI (Pressure Stall Information) metrics that show resource pressure for CPU, memory, and I\u002FO. See https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Freference\u002Finstrumentation\u002Funderstand-psi-metrics\u002F for details on PSI metrics\n  - `name` (`string`) **(required)** - Name of the node to get stats from\n\n- **nodes_top** - List the resource consumption (CPU and memory) as recorded by the Kubernetes Metrics Server for the specified Kubernetes Nodes or all nodes in the cluster\n  - `label_selector` (`string`) - Kubernetes label selector (e.g. 'node-role.kubernetes.io\u002Fworker=') to filter nodes by label (Optional, only applicable when name is not provided)\n  - `name` (`string`) - Name of the Node to get the resource consumption from (Optional, all Nodes if not provided)\n\n- **pods_list** - List all the Kubernetes pods in the current cluster from all namespaces\n  - `fieldSelector` (`string`) - Optional Kubernetes field selector to filter pods by field values (e.g. 'status.phase=Running', 'spec.nodeName=node1'). Supported fields: metadata.name, metadata.namespace, spec.nodeName, spec.restartPolicy, spec.schedulerName, spec.serviceAccountName, status.phase (Pending\u002FRunning\u002FSucceeded\u002FFailed\u002FUnknown), status.podIP, status.nominatedNodeName. Note: CrashLoopBackOff is a container state, not a pod phase, so it cannot be filtered directly. See https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Foverview\u002Fworking-with-objects\u002Ffield-selectors\u002F\n  - `labelSelector` (`string`) - Optional Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label\n\n- **pods_list_in_namespace** - List all the Kubernetes pods in the specified namespace in the current cluster\n  - `fieldSelector` (`string`) - Optional Kubernetes field selector to filter pods by field values (e.g. 'status.phase=Running', 'spec.nodeName=node1'). Supported fields: metadata.name, metadata.namespace, spec.nodeName, spec.restartPolicy, spec.schedulerName, spec.serviceAccountName, status.phase (Pending\u002FRunning\u002FSucceeded\u002FFailed\u002FUnknown), status.podIP, status.nominatedNodeName. Note: CrashLoopBackOff is a container state, not a pod phase, so it cannot be filtered directly. See https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Foverview\u002Fworking-with-objects\u002Ffield-selectors\u002F\n  - `labelSelector` (`string`) - Optional Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label\n  - `namespace` (`string`) **(required)** - Namespace to list pods from\n\n- **pods_get** - Get a Kubernetes Pod in the current or provided namespace with the provided name\n  - `name` (`string`) **(required)** - Name of the Pod\n  - `namespace` (`string`) - Namespace to get the Pod from\n\n- **pods_delete** - Delete a Kubernetes Pod in the current or provided namespace with the provided name\n  - `name` (`string`) **(required)** - Name of the Pod to delete\n  - `namespace` (`string`) - Namespace to delete the Pod from\n\n- **pods_top** - List the resource consumption (CPU and memory) as recorded by the Kubernetes Metrics Server for the specified Kubernetes Pods in the all namespaces, the provided namespace, or the current namespace\n  - `all_namespaces` (`boolean`) - If true, list the resource consumption for all Pods in all namespaces. If false, list the resource consumption for Pods in the provided namespace or the current namespace\n  - `label_selector` (`string`) - Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the pods by label (Optional, only applicable when name is not provided)\n  - `name` (`string`) - Name of the Pod to get the resource consumption from (Optional, all Pods in the namespace if not provided)\n  - `namespace` (`string`) - Namespace to get the Pods resource consumption from (Optional, current namespace if not provided and all_namespaces is false)\n\n- **pods_exec** - Execute a command in a Kubernetes Pod (shell access, run commands in container) in the current or provided namespace with the provided name and command\n  - `command` (`array`) **(required)** - Command to execute in the Pod container. The first item is the command to be run, and the rest are the arguments to that command. Example: [\"ls\", \"-l\", \"\u002Ftmp\"]\n  - `container` (`string`) - Name of the Pod container where the command will be executed (Optional)\n  - `name` (`string`) **(required)** - Name of the Pod where the command will be executed\n  - `namespace` (`string`) - Namespace of the Pod where the command will be executed\n\n- **pods_log** - Get the logs of a Kubernetes Pod in the current or provided namespace with the provided name\n  - `container` (`string`) - Name of the Pod container to get the logs from (Optional)\n  - `name` (`string`) **(required)** - Name of the Pod to get the logs from\n  - `namespace` (`string`) - Namespace to get the Pod logs from\n  - `previous` (`boolean`) - Return previous terminated container logs (Optional)\n  - `tail` (`integer`) - Number of lines to retrieve from the end of the logs (Optional, default: 100)\n\n- **pods_run** - Run a Kubernetes Pod in the current or provided namespace with the provided container image and optional name\n  - `image` (`string`) **(required)** - Container Image to run in the Pod\n  - `name` (`string`) - Name of the Pod (Optional, random name if not provided)\n  - `namespace` (`string`) - Namespace to run the Pod in\n  - `port` (`number`) - TCP\u002FIP port to expose from the Pod container (Optional, no port exposed if not provided)\n\n- **resources_list** - List Kubernetes resources and objects in the current cluster by providing their apiVersion and kind and optionally the namespace and label selector\n(common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps\u002Fv1 Deployment, networking.k8s.io\u002Fv1 Ingress, route.openshift.io\u002Fv1 Route)\n  - `apiVersion` (`string`) **(required)** - apiVersion of the resources (examples of valid apiVersion are: v1, apps\u002Fv1, networking.k8s.io\u002Fv1)\n  - `fieldSelector` (`string`) - Optional Kubernetes field selector to filter resources by field values (e.g. 'status.phase=Running', 'metadata.name=myresource'). Supported fields vary by resource type. For Pods: metadata.name, metadata.namespace, spec.nodeName, spec.restartPolicy, spec.schedulerName, spec.serviceAccountName, status.phase (Pending\u002FRunning\u002FSucceeded\u002FFailed\u002FUnknown), status.podIP, status.nominatedNodeName. See https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Foverview\u002Fworking-with-objects\u002Ffield-selectors\u002F\n  - `kind` (`string`) **(required)** - kind of the resources (examples of valid kind are: Pod, Service, Deployment, Ingress)\n  - `labelSelector` (`string`) - Optional Kubernetes label selector (e.g. 'app=myapp,env=prod' or 'app in (myapp,yourapp)'), use this option when you want to filter the resources by label\n  - `namespace` (`string`) - Optional Namespace to retrieve the namespaced resources from (ignored in case of cluster scoped resources). If not provided, will list resources from all namespaces\n\n- **resources_get** - Get a Kubernetes resource in the current cluster by providing its apiVersion, kind, optionally the namespace, and its name\n(common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps\u002Fv1 Deployment, networking.k8s.io\u002Fv1 Ingress, route.openshift.io\u002Fv1 Route)\n  - `apiVersion` (`string`) **(required)** - apiVersion of the resource (examples of valid apiVersion are: v1, apps\u002Fv1, networking.k8s.io\u002Fv1)\n  - `kind` (`string`) **(required)** - kind of the resource (examples of valid kind are: Pod, Service, Deployment, Ingress)\n  - `name` (`string`) **(required)** - Name of the resource\n  - `namespace` (`string`) - Optional Namespace to retrieve the namespaced resource from (ignored in case of cluster scoped resources). If not provided, will get resource from configured namespace\n\n- **resources_create_or_update** - Create or update a Kubernetes resource in the current cluster by providing a YAML or JSON representation of the resource\n(common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps\u002Fv1 Deployment, networking.k8s.io\u002Fv1 Ingress, route.openshift.io\u002Fv1 Route)\n  - `resource` (`string`) **(required)** - A JSON or YAML containing a representation of the Kubernetes resource. Should include top-level fields such as apiVersion,kind,metadata, and spec\n\n- **resources_delete** - Delete a Kubernetes resource in the current cluster by providing its apiVersion, kind, optionally the namespace, and its name\n(common apiVersion and kind include: v1 Pod, v1 Service, v1 Node, apps\u002Fv1 Deployment, networking.k8s.io\u002Fv1 Ingress, route.openshift.io\u002Fv1 Route)\n  - `apiVersion` (`string`) **(required)** - apiVersion of the resource (examples of valid apiVersion are: v1, apps\u002Fv1, networking.k8s.io\u002Fv1)\n  - `gracePeriodSeconds` (`integer`) - Optional duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used\n  - `kind` (`string`) **(required)** - kind of the resource (examples of valid kind are: Pod, Service, Deployment, Ingress)\n  - `name` (`string`) **(required)** - Name of the resource\n  - `namespace` (`string`) - Optional Namespace to delete the namespaced resource from (ignored in case of cluster scoped resources). If not provided, will delete resource from configured namespace\n\n- **resources_scale** - Get or update the scale of a Kubernetes resource in the current cluster by providing its apiVersion, kind, name, and optionally the namespace. If the scale is set in the tool call, the scale will be updated to that value. Always returns the current scale of the resource\n  - `apiVersion` (`string`) **(required)** - apiVersion of the resource (examples of valid apiVersion are apps\u002Fv1)\n  - `kind` (`string`) **(required)** - kind of the resource (examples of valid kind are: StatefulSet, Deployment)\n  - `name` (`string`) **(required)** - Name of the resource\n  - `namespace` (`string`) - Optional Namespace to get\u002Fupdate the namespaced resource scale from (ignored in case of cluster scoped resources). If not provided, will get\u002Fupdate resource scale from configured namespace\n  - `scale` (`integer`) - Optional scale to update the resources scale to. If not provided, will return the current scale of the resource, and not update it\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>helm\u003C\u002Fsummary>\n\n- **helm_install** - Install (deploy) a Helm chart to create a release in the current or provided namespace\n  - `chart` (`string`) **(required)** - Chart reference to install (for example: stable\u002Fgrafana, oci:\u002F\u002Fghcr.io\u002Fnginxinc\u002Fcharts\u002Fnginx-ingress)\n  - `name` (`string`) - Name of the Helm release (Optional, random name if not provided)\n  - `namespace` (`string`) - Namespace to install the Helm chart in (Optional, current namespace if not provided)\n  - `values` (`object`) - Values to pass to the Helm chart (Optional)\n\n- **helm_list** - List all the Helm releases in the current or provided namespace (or in all namespaces if specified)\n  - `all_namespaces` (`boolean`) - If true, lists all Helm releases in all namespaces ignoring the namespace argument (Optional)\n  - `namespace` (`string`) - Namespace to list Helm releases from (Optional, all namespaces if not provided)\n\n- **helm_uninstall** - Uninstall a Helm release in the current or provided namespace\n  - `name` (`string`) **(required)** - Name of the Helm release to uninstall\n  - `namespace` (`string`) - Namespace to uninstall the Helm release from (Optional, current namespace if not provided)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>kcp\u003C\u002Fsummary>\n\n- **kcp_workspaces_list** - List all available kcp workspaces in the current cluster\n\n- **kcp_workspace_describe** - Get detailed information about a specific kcp workspace\n  - `workspace` (`string`) **(required)** - Name or path of the workspace to describe\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>kiali\u003C\u002Fsummary>\n\n- **kiali_mesh_graph** - Returns the topology of a specific namespaces, health, status of the mesh and namespaces. Includes a mesh health summary overview with aggregated counts of healthy, degraded, and failing apps, workloads, and services. Use this for high-level overviews\n  - `graphType` (`string`) - Optional type of graph to return: 'versionedApp', 'app', 'service', 'workload', 'mesh'\n  - `namespace` (`string`) - Optional single namespace to include in the graph (alternative to namespaces)\n  - `namespaces` (`string`) - Optional comma-separated list of namespaces to include in the graph\n  - `rateInterval` (`string`) - Optional rate interval for fetching (e.g., '10m', '5m', '1h').\n\n- **kiali_manage_istio_config_read** - Lists or gets Istio configuration objects (Gateways, VirtualServices, etc.)\n  - `action` (`string`) **(required)** - Action to perform: list or get\n  - `group` (`string`) - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')\n  - `kind` (`string`) - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')\n  - `name` (`string`) - Name of the Istio object\n  - `namespace` (`string`) - Namespace containing the Istio object\n  - `version` (`string`) - API version of the Istio object (e.g., 'v1', 'v1beta1')\n\n- **kiali_manage_istio_config** - Creates, patches, or deletes Istio configuration objects (Gateways, VirtualServices, etc.)\n  - `action` (`string`) **(required)** - Action to perform: create, patch, or delete\n  - `group` (`string`) - API group of the Istio object (e.g., 'networking.istio.io', 'gateway.networking.k8s.io')\n  - `json_data` (`string`) - JSON data to apply or create the object\n  - `kind` (`string`) - Kind of the Istio object (e.g., 'DestinationRule', 'VirtualService', 'HTTPRoute', 'Gateway')\n  - `name` (`string`) - Name of the Istio object\n  - `namespace` (`string`) - Namespace containing the Istio object\n  - `version` (`string`) - API version of the Istio object (e.g., 'v1', 'v1beta1')\n\n- **kiali_get_resource_details** - Gets lists or detailed info for Kubernetes resources (services, workloads) within the mesh\n  - `namespaces` (`string`) - Comma-separated list of namespaces to get services from (e.g. 'bookinfo' or 'bookinfo,default'). If not provided, will list services from all accessible namespaces\n  - `resource_name` (`string`) - Name of the resource to get details for (optional string - if provided, gets details; if empty, lists all).\n  - `resource_type` (`string`) - Type of resource to get details for (service, workload)\n\n- **kiali_get_metrics** - Gets lists or detailed info for Kubernetes resources (services, workloads) within the mesh\n  - `byLabels` (`string`) - Comma-separated list of labels to group metrics by (e.g., 'source_workload,destination_service'). Optional\n  - `direction` (`string`) - Traffic direction: 'inbound' or 'outbound'. Optional, defaults to 'outbound'\n  - `namespace` (`string`) **(required)** - Namespace to get resources from\n  - `quantiles` (`string`) - Comma-separated list of quantiles for histogram metrics (e.g., '0.5,0.95,0.99'). Optional\n  - `rateInterval` (`string`) - Rate interval for metrics (e.g., '1m', '5m'). Optional, defaults to '10m'\n  - `reporter` (`string`) - Metrics reporter: 'source', 'destination', or 'both'. Optional, defaults to 'source'\n  - `requestProtocol` (`string`) - Filter by request protocol (e.g., 'http', 'grpc', 'tcp'). Optional\n  - `resource_name` (`string`) **(required)** - Name of the resource to get details for (optional string - if provided, gets details; if empty, lists all).\n  - `resource_type` (`string`) **(required)** - Type of resource to get details for (service, workload)\n  - `step` (`string`) - Step between data points in seconds (e.g., '15'). Optional, defaults to 15 seconds\n\n- **kiali_workload_logs** - Get logs for a specific workload's pods in a namespace. Only requires namespace and workload name - automatically discovers pods and containers. Optionally filter by container name, time range, and other parameters. Container is auto-detected if not specified.\n  - `container` (`string`) - Optional container name to filter logs. If not provided, automatically detects and uses the main application container (excludes istio-proxy and istio-init)\n  - `namespace` (`string`) **(required)** - Namespace containing the workload\n  - `since` (`string`) - Time duration to fetch logs from (e.g., '5m', '1h', '30s'). If not provided, returns recent logs\n  - `tail` (`integer`) - Number of lines to retrieve from the end of logs (default: 100)\n  - `workload` (`string`) **(required)** - Name of the workload to get logs for\n\n- **kiali_get_traces** - Gets traces for a specific resource (app, service, workload) in a namespace, or gets detailed information for a specific trace by its ID. If traceId is provided, it returns detailed trace information and other parameters are not required.\n  - `clusterName` (`string`) - Cluster name for multi-cluster environments (optional, only used when traceId is not provided)\n  - `endMicros` (`string`) - End time for traces in microseconds since epoch (optional, defaults to 10 minutes after startMicros if not provided, only used when traceId is not provided)\n  - `limit` (`integer`) - Maximum number of traces to return (default: 100, only used when traceId is not provided)\n  - `minDuration` (`integer`) - Minimum trace duration in microseconds (optional, only used when traceId is not provided)\n  - `namespace` (`string`) - Namespace to get resources from. Required if traceId is not provided.\n  - `resource_name` (`string`) - Name of the resource to get traces for. Required if traceId is not provided.\n  - `resource_type` (`string`) - Type of resource to get traces for (app, service, workload). Required if traceId is not provided.\n  - `startMicros` (`string`) - Start time for traces in microseconds since epoch (optional, defaults to 10 minutes before current time if not provided, only used when traceId is not provided)\n  - `tags` (`string`) - JSON string of tags to filter traces (optional, only used when traceId is not provided)\n  - `traceId` (`string`) - Unique identifier of the trace to retrieve detailed information for. If provided, this will return detailed trace information and other parameters (resource_type, namespace, resource_name) are not required.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>kubevirt\u003C\u002Fsummary>\n\n- **vm_clone** - Clone a KubeVirt VirtualMachine by creating a VirtualMachineClone resource. This creates a copy of the source VM with a new name using the KubeVirt Clone API\n  - `name` (`string`) **(required)** - The name of the source virtual machine to clone\n  - `namespace` (`string`) **(required)** - The namespace of the source virtual machine\n  - `targetName` (`string`) **(required)** - The name for the new cloned virtual machine\n\n- **vm_create** - Create a VirtualMachine in the cluster with the specified configuration, automatically resolving instance types, preferences, and container disk images. VM will be created in Halted state by default; use autostart parameter to start it immediately.\n  - `autostart` (`boolean`) - Optional flag to automatically start the VM after creation (sets runStrategy to Always instead of Halted). Defaults to false.\n  - `instancetype` (`string`) - Optional instance type name for the VM (e.g., 'u1.small', 'u1.medium', 'u1.large')\n  - `name` (`string`) **(required)** - The name of the virtual machine\n  - `namespace` (`string`) **(required)** - The namespace for the virtual machine\n  - `networks` (`array`) - Optional secondary network interfaces to attach to the VM. Each item specifies a Multus NetworkAttachmentDefinition to attach. Accepts either simple strings (NetworkAttachmentDefinition names) or objects with 'name' (interface name in VM) and 'networkName' (NetworkAttachmentDefinition name) properties. Each network creates a bridge interface on the VM.\n  - `performance` (`string`) - Optional performance family hint for the VM instance type (e.g., 'u1' for general-purpose, 'o1' for overcommitted, 'c1' for compute-optimized, 'm1' for memory-optimized). Defaults to 'u1' (general-purpose) if not specified.\n  - `preference` (`string`) - Optional preference name for the VM\n  - `size` (`string`) - Optional workload size hint for the VM (e.g., 'small', 'medium', 'large', 'xlarge'). Used to auto-select an appropriate instance type if not explicitly specified.\n  - `storage` (`string`) - Optional storage size for the VM's root disk when using DataSources (e.g., '30Gi', '50Gi', '100Gi'). Defaults to 30Gi. Ignored when using container disks.\n  - `workload` (`string`) - The workload for the VM. Accepts OS names (e.g., 'fedora' (default), 'ubuntu', 'centos', 'centos-stream', 'debian', 'rhel', 'opensuse', 'opensuse-tumbleweed', 'opensuse-leap') or full container disk image URLs\n\n- **vm_lifecycle** - Manage VirtualMachine lifecycle: start, stop, or restart a VM\n  - `action` (`string`) **(required)** - The lifecycle action to perform: 'start' (changes runStrategy to Always), 'stop' (changes runStrategy to Halted), or 'restart' (stops then starts the VM)\n  - `name` (`string`) **(required)** - The name of the virtual machine\n  - `namespace` (`string`) **(required)** - The namespace of the virtual machine\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>tekton\u003C\u002Fsummary>\n\n- **tekton_pipeline_start** - Start a Tekton Pipeline by creating a PipelineRun that references it\n  - `name` (`string`) **(required)** - Name of the Pipeline to start\n  - `namespace` (`string`) - Namespace of the Pipeline\n  - `params` (`object`) - Parameter values to pass to the Pipeline. Keys are parameter names; values can be a string, an array of strings, or an object (map of string to string) depending on the parameter type defined in the Pipeline spec\n\n- **tekton_pipelinerun_restart** - Restart a Tekton PipelineRun by creating a new PipelineRun with the same spec\n  - `name` (`string`) **(required)** - Name of the PipelineRun to restart\n  - `namespace` (`string`) - Namespace of the PipelineRun\n\n- **tekton_task_start** - Start a Tekton Task by creating a TaskRun that references it\n  - `name` (`string`) **(required)** - Name of the Task to start\n  - `namespace` (`string`) - Namespace of the Task\n  - `params` (`object`) - Parameter values to pass to the Task. Keys are parameter names; values can be a string, an array of strings, or an object (map of string to string) depending on the parameter type defined in the Task spec\n\n- **tekton_taskrun_restart** - Restart a Tekton TaskRun by creating a new TaskRun with the same spec\n  - `name` (`string`) **(required)** - Name of the TaskRun to restart\n  - `namespace` (`string`) - Namespace of the TaskRun\n\n- **tekton_taskrun_logs** - Get the logs from a Tekton TaskRun by resolving its underlying pod\n  - `name` (`string`) **(required)** - Name of the TaskRun to get logs from\n  - `namespace` (`string`) - Namespace of the TaskRun\n  - `tail` (`integer`) - Number of lines to retrieve from the end of the logs (Optional, default: 100)\n\n\u003C\u002Fdetails>\n\n\n\u003C!-- AVAILABLE-TOOLSETS-TOOLS-END -->\n\n### Prompts\n\n\u003C!-- AVAILABLE-TOOLSETS-PROMPTS-START -->\n\n\u003Cdetails>\n\n\u003Csummary>core\u003C\u002Fsummary>\n\n- **cluster-health-check** - Perform comprehensive health assessment of Kubernetes\u002FOpenShift cluster\n  - `namespace` (`string`) - Optional namespace to limit health check scope (default: all namespaces)\n  - `check_events` (`string`) - Include recent warning\u002Ferror events (true\u002Ffalse, default: true)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>kubevirt\u003C\u002Fsummary>\n\n- **vm-troubleshoot** - Generate a step-by-step troubleshooting guide for diagnosing VirtualMachine issues\n  - `namespace` (`string`) **(required)** - The namespace of the VirtualMachine to troubleshoot\n  - `name` (`string`) **(required)** - The name of the VirtualMachine to troubleshoot\n\n\u003C\u002Fdetails>\n\n\n\u003C!-- AVAILABLE-TOOLSETS-PROMPTS-END -->\n\n## Helm Chart\n\nA [Helm Chart](https:\u002F\u002Fhelm.sh) is available to simplify the deployment of the Kubernetes MCP server.\n\n```shell\nhelm install kubernetes-mcp-server oci:\u002F\u002Fghcr.io\u002Fcontainers\u002Fcharts\u002Fkubernetes-mcp-server\n```\n\nFor configuration options including OAuth, telemetry, and resource limits, see the [chart README](.\u002Fcharts\u002Fkubernetes-mcp-server\u002FREADME.md) and [values.yaml](.\u002Fcharts\u002Fkubernetes-mcp-server\u002Fvalues.yaml).\n\n## 💬 Community \u003Ca id=\"community\">\u003C\u002Fa>\n\nJoin the conversation and connect with other users and contributors:\n\n- [Slack](https:\u002F\u002Fcloud-native.slack.com\u002Farchives\u002FC0AHQJVR725) - Ask questions, share feedback, and discuss the Kubernetes MCP server in the `#kubernetes-mcp-server` channel on the CNCF Slack workspace. If you're not already a member, you can [request an invitation](https:\u002F\u002Fslack.cncf.io).\n\n## 🧑‍💻 Development \u003Ca id=\"development\">\u003C\u002Fa>\n\n### Running with mcp-inspector\n\nCompile the project and run the Kubernetes MCP server with [mcp-inspector](https:\u002F\u002Fmodelcontextprotocol.io\u002Fdocs\u002Ftools\u002Finspector) to inspect the MCP server.\n\n```shell\n# Compile the project\nmake build\n# Run the Kubernetes MCP server with mcp-inspector\nnpx @modelcontextprotocol\u002Finspector@latest $(pwd)\u002Fkubernetes-mcp-server\n```\n\n---\n\nmcp-name: io.github.containers\u002Fkubernetes-mcp-server\n","# Kubernetes MCP 服务器\n\n[![GitHub 许可证](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fcontainers\u002Fkubernetes-mcp-server)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fblob\u002Fmain\u002FLICENSE)\n[![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fkubernetes-mcp-server)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fkubernetes-mcp-server)\n[![PyPI - 版本](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fkubernetes-mcp-server)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkubernetes-mcp-server\u002F)\n[![GitHub 发布（最新 SemVer）](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fcontainers\u002Fkubernetes-mcp-server?sort=semver)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Freleases\u002Flatest)\n[![构建](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Factions\u002Fworkflows\u002Fbuild.yaml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Factions\u002Fworkflows\u002Fbuild.yaml)\n\n[✨ 功能](#features) | [🚀 入门指南](#getting-started) | [🎥 演示](#demos) | [⚙️ 配置](#configuration) | [🛠️ 工具](#tools-and-functionalities) | [💬 社区](#community) | [🧑‍💻 开发](#development)\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fbe2b67b3-fc1c-4d11-ae46-93deba8ed98e\n\n## ✨ 功能 \u003Ca id=\"features\">\u003C\u002Fa>\n\n一款功能强大且灵活的 Kubernetes [模型上下文协议 (MCP)](https:\u002F\u002Fblog.marcnuri.com\u002Fmodel-context-protocol-mcp-introduction) 服务器实现，支持 **Kubernetes** 和 **OpenShift**。\n\n- **✅ 配置**:\n  - 自动检测 Kubernetes 配置的变化并更新 MCP 服务器。\n  - **查看** 并管理当前的 [Kubernetes `.kube\u002Fconfig`](https:\u002F\u002Fblog.marcnuri.com\u002Fwhere-is-my-default-kubeconfig-file) 或集群内配置。\n- **✅ 通用 Kubernetes 资源**: 对 **任何** Kubernetes 或 OpenShift 资源执行操作。\n  - 任何 CRUD 操作（创建或更新、获取、列出、删除）。\n- **✅ Pod**: 执行与 Pod 相关的操作。\n  - **列出** 所有命名空间或特定命名空间中的 Pod。\n  - **获取** 指定命名空间中指定名称的 Pod。\n  - **删除** 指定命名空间中指定名称的 Pod。\n  - **显示日志** 指定命名空间中指定名称的 Pod 的日志。\n  - **Top** 获取指定命名空间中所有 Pod 或特定 Pod 的资源使用指标。\n  - **Exec** 进入 Pod 并执行命令。\n  - **运行** 在 Pod 中运行容器镜像，并可选择将其公开。\n- **✅ 命名空间**: 列出 Kubernetes 命名空间。\n- **✅ 事件**: 查看所有命名空间或特定命名空间中的 Kubernetes 事件。\n- **✅ 项目**: 列出 OpenShift 项目。\n- **☸️ Helm**:\n  - **安装** Helm Chart 到当前或指定的命名空间。\n  - **列出** 所有命名空间或特定命名空间中的 Helm 发布。\n  - **卸载** 当前或指定命名空间中的 Helm 发布。\n- **🔧 Tekton**: 与通用 Kubernetes 资源管理互补的 Tekton 特定操作。\n  - **Pipeline**: 通过创建 PipelineRun 启动 Tekton 流水线。\n  - **PipelineRun**: 使用相同的规格重新启动 PipelineRun。\n  - **Task**: 通过创建 TaskRun 启动 Tekton 任务。\n  - **TaskRun**: 使用相同的规格重新启动 TaskRun，并通过解析 Pod 获取 TaskRun 日志。\n- **🔭 可观测性**: 可选的 OpenTelemetry 分布式追踪和指标，支持自定义采样率。包含用于实时统计的 `\u002Fstats` 端点。请参阅 [OTEL.md](docs\u002FOTEL.md)。\n\n与其他 Kubernetes MCP 服务器实现不同，本项目 **并非** 仅仅是 `kubectl` 或 `helm` 命令行工具的封装。它是一个 **基于 Go 的原生实现**，直接与 Kubernetes API 服务器交互。\n\n系统中 **无需** 安装任何外部依赖或工具。如果您使用的是原生二进制文件，则无需在系统上安装 Node.js 或 Python。\n\n- **✅ 轻量级**: 该服务器以单个原生二进制文件的形式分发，适用于 Linux、macOS 和 Windows。\n- **✅ 高性能 \u002F 低延迟**: 直接与 Kubernetes API 服务器交互，无需调用和等待外部命令带来的开销。\n- **✅ 多集群**: 可同时与多个 Kubernetes 集群交互（如您的 kubeconfig 文件中所定义）。\n- **✅ 跨平台**: 提供适用于 Linux、macOS 和 Windows 的原生二进制文件，以及 npm 包、Python 包和容器\u002FDocker 镜像。\n- **✅ 可配置**: 支持 [命令行参数](#configuration)、[TOML 配置文件](docs\u002Fconfiguration.md)和环境变量。\n- **✅ 经过充分测试**: 该服务器拥有广泛的测试套件，以确保其在不同 Kubernetes 环境中的可靠性和正确性。\n- **📚 文档**: 全面的 [用户文档](docs\u002F)，包括设置指南、配置参考和可观测性说明。\n\n## 🚀 入门指南 \u003Ca id=\"getting-started\">\u003C\u002Fa>\n\n### 要求\n\n- 访问一个 Kubernetes 集群。\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Claude Code\u003C\u002Fb>\u003C\u002Fsummary>\n\n请参阅我们的 [用户文档](docs\u002F) 中的 [Claude Code 入门指南](docs\u002Fgetting-started-claude-code.md)。\n\n对于具有专用 ServiceAccount 和只读权限的安全生产环境，请同时查阅 [Kubernetes 设置指南](docs\u002Fgetting-started-kubernetes.md)。\n\n\u003C\u002Fdetails>\n\n### Claude Desktop\n\n#### 使用 npx\n\n如果您已安装 npm，这是在 Claude Desktop 上快速开始使用 `kubernetes-mcp-server` 的最佳方式。\n\n打开您的 `claude_desktop_config.json` 文件，并将 mcp 服务器添加到 `mcpServers` 列表中：\n``` json\n{\n  \"mcpServers\": {\n    \"kubernetes\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"kubernetes-mcp-server@latest\"\n      ]\n    }\n  }\n}\n```\n\n### VS Code \u002F VS Code Insiders\n\n通过点击以下链接，在 VS Code Insiders 中安装 Kubernetes MCP 服务器扩展：\n\n[\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-VS_Code?style=flat-square&label=Install%20Server&color=0098FF\" alt=\"在 VS Code 中安装\">](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522kubernetes%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522kubernetes-mcp-server%2540latest%2522%255D%257D)\n[\u003Cimg alt=\"在 VS Code Insiders 中安装\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Server&color=24bfa5\">](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect?url=vscode-insiders%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522kubernetes%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522kubernetes-mcp-server%2540latest%2522%255D%257D)\n\n或者，您也可以手动运行以下命令来安装扩展：\n\n```shell\n# 对于 VS Code\ncode --add-mcp '{\"name\":\"kubernetes\",\"command\":\"npx\",\"args\":[\"kubernetes-mcp-server@latest\"]}'\n# 对于 VS Code Insiders\ncode-insiders --add-mcp '{\"name\":\"kubernetes\",\"command\":\"npx\",\"args\":[\"kubernetes-mcp-server@latest\"]}'\n```\n\n### Cursor\n\n在 Cursor 中安装 Kubernetes MCP 服务器扩展，请点击以下链接：\n\n[![安装 MCP 服务器](https:\u002F\u002Fcursor.com\u002Fdeeplink\u002Fmcp-install-dark.svg)](https:\u002F\u002Fcursor.com\u002Fen\u002Finstall-mcp?name=kubernetes-mcp-server&config=eyJjb21tYW5kIjoibnB4IC15IGt1YmVybmV0ZXMtbWNwLXNlcnZlckBsYXRlc3QifQ%3D%3D)\n\n或者，您也可以通过编辑 `mcp.json` 文件来手动安装该扩展：\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"kubernetes-mcp-server@latest\"]\n    }\n  }\n}\n```\n\n### Goose CLI\n\n[Goose CLI](https:\u002F\u002Fblog.marcnuri.com\u002Fgoose-on-machine-ai-agent-cli-introduction) 是开始使用人工智能（AI）代理最简单（也是最经济）的方式。\n\n#### 使用 npm\n\n如果您已安装 npm，这是开始使用 `kubernetes-mcp-server` 的最快方法。\n\n打开您的 goose `config.yaml` 文件，并将 MCP 服务器添加到 `mcpServers` 列表中：\n```yaml\nextensions:\n  kubernetes:\n    command: npx\n    args:\n      - -y\n      - kubernetes-mcp-server@latest\n\n```\n\n## 🎥 演示 \u003Ca id=\"demos\">\u003C\u002Fa>\n\n### 诊断并自动修复 OpenShift 部署\n\n本演示展示了 Claude Desktop 如何利用 Kubernetes MCP 服务器，在无需用户协助的情况下，自动诊断并修复 OpenShift 中的部署。\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fa576176d-a142-4c19-b9aa-a83dc4b8d941\n\n### “随性编码”开发一款简单游戏并将其部署到 OpenShift\n\n在此演示中，我将带您逐步完成使用 VS Code“随性编码”开发一款简单游戏的过程，并介绍如何利用 [Podman MCP 服务器](https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fpodman-mcp-server) 和 Kubernetes MCP 服务器将其部署到 OpenShift。\n\n\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=l05jQDSrzVI\" target=\"_blank\">\n \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_kubernetes-mcp-server_readme_6ce44294ee2a.jpg\" alt=\"随性编码：在 Kubernetes 上构建并部署一款游戏\" width=\"240\"  \u002F>\n\u003C\u002Fa>\n\n### 使用 Kubernetes MCP 服务器一键增强 VS Code 中的 GitHub Copilot！\n\n在本演示中，我将向您展示如何仅通过点击一个链接，就在 VS Code 中设置好 Kubernetes MCP 服务器。\n\n\u003Ca href=\"https:\u002F\u002Fyoutu.be\u002FAI4ljYMkgtA\" target=\"_blank\">\n \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_kubernetes-mcp-server_readme_fee4ad89075e.jpg\" alt=\"使用 Kubernetes MCP 服务器一键增强 VS Code 中的 GitHub Copilot！\" width=\"240\"  \u002F>\n\u003C\u002Fa>\n\n## ⚙️ 配置 \u003Ca id=\"configuration\">\u003C\u002Fa>\n\nKubernetes MCP 服务器可以通过命令行参数进行配置。\n\n您可以使用 `npx`、`uvx` 运行该 CLI 可执行文件，也可以下载最新的发布二进制文件：[最新版本二进制文件](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Freleases\u002Flatest)。\n\n```shell\n# 如果已安装 npm 和 Node.js，可使用 npx 运行 Kubernetes MCP 服务器\nnpx kubernetes-mcp-server@latest --help\n```\n\n```shell\n# 如果已安装 uv 和 Python，可使用 uvx 运行 Kubernetes MCP 服务器\nuvx kubernetes-mcp-server@latest --help\n```\n\n```shell\n# 使用最新发布的二进制文件运行 Kubernetes MCP 服务器\n.\u002Fkubernetes-mcp-server --help\n```\n\n### 配置选项\n\n| 选项                    | 描述                                                                                                                                                                                                                                                                                   |\n|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `--port`                  | 以可流式传输的 HTTP 模式（路径 `\u002Fmcp`）和服务器发送事件 (SSE) 模式（路径 `\u002Fsse`）启动 MCP 服务器，并监听指定的端口。                                                                                                                                                    |\n| `--log-level`             | 设置日志级别（取值范围为 [0-9]，参考 [Kubernetes 社区文档](https:\u002F\u002Fgithub.com\u002Fkubernetes\u002Fcommunity\u002Fblob\u002Fmaster\u002Fcontributors\u002Fdevel\u002Fsig-instrumentation\u002Flogging.md)）。与 [kubectl 日志级别](https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Freference\u002Fkubectl\u002Fquick-reference\u002F#kubectl-output-verbosity-and-debugging) 类似。 |\n| `--config`                | （可选）主 TOML 配置文件的路径。详细信息请参阅 [配置参考文档](docs\u002Fconfiguration.md)。                                                                                                                                                                        |\n| `--config-dir`            | （可选）用于放置附加配置文件的目录路径。文件按字典序（字母顺序）加载。如果指定了 `--config`，则默认为相对于主配置文件的 `conf.d` 目录。详细信息请参阅 [配置参考文档](docs\u002Fconfiguration.md)。                                    |\n| `--kubeconfig`            | Kubernetes 配置文件的路径。如果未提供，则会尝试自动解析配置（例如集群内配置、默认位置等）。                                                                                                                                                    |\n| `--list-output`           | 资源列表操作的输出格式（可选：yaml 或 table，默认为 \"table\"）                                                                                                                                                                                                            |\n| `--read-only`             | 如果启用，MCP 服务器将以只读模式运行，即不允许对 Kubernetes 集群执行任何写操作（创建、更新、删除）。这在调试或检查集群而不进行更改时非常有用。                                                          |\n| `--disable-destructive`   | 如果启用，MCP 服务器将禁用所有对 Kubernetes 集群的破坏性操作（删除、更新等）。这在调试或检查集群而避免意外更改时很有用。当使用 `--read-only` 时，此选项无效。                            |\n| `--stateless`             | 如果启用，MCP 服务器将以无状态模式运行，禁用工具和提示变更通知。这在容器部署、负载均衡以及无服务器环境中非常有用，因为这些场景通常不需要维护客户端状态。                                                       |\n| `--toolsets`              | 以逗号分隔的工具集列表，用于启用特定功能。更多信息请参阅 [🛠️ 工具与功能](#tools-and-functionalities) 部分。                                                                                                                                                |\n| `--disable-multi-cluster` | 如果启用，MCP 服务器将禁用多集群支持，仅使用 kubeconfig 文件中的当前上下文。如果您希望将 MCP 服务器限制为单个集群，此选项非常有用。                                                                                          |\n| `--cluster-provider`      | 要使用的集群提供商策略（可选：kubeconfig、集群内、kcp、已禁用）。如果未设置，服务器将根据环境自动检测。                                                                                                                                           |\n\n> **注意**：大多数 CLI 选项都有对应的 TOML 配置字段。例如，`--disable-multi-cluster` 标志等同于在 TOML 中设置 `cluster_provider_strategy = \"disabled\"`。所有 TOML 选项请参阅 [配置参考文档](docs\u002Fconfiguration.md)。\n\n### TOML 配置文件\n\n对于复杂或持久化的配置，请使用 TOML 配置文件，而非命令行参数：\n\n```shell\nkubernetes-mcp-server --config \u002Fetc\u002Fkubernetes-mcp-server\u002Fconfig.toml\n```\n\n**示例配置：**\n\n```toml\nlog_level = 2\nread_only = true\ntoolsets = [\"core\", \"config\", \"helm\", \"kubevirt\"]\n\n# 拒绝访问敏感资源\n[[denied_resources]]\ngroup = \"\"\nversion = \"v1\"\nkind = \"Secret\"\n\n[telemetry]\nendpoint = \"http:\u002F\u002Flocalhost:4317\"\n```\n\n完整的 TOML 配置文档包括：\n- 所有配置选项及其默认值\n- 用于模块化设置的附加配置文件\n- 通过 SIGHUP 动态重新加载配置的功能\n- 用于限制对敏感资源类型访问的拒绝资源列表\n- MCP 工具搜索的服务器指令\n- [自定义 MCP 提示](docs\u002Fprompts.md)\n- HTTP 模式的 OAuth\u002FOIDC 身份验证（[Keycloak](docs\u002FKEYCLOAK_OIDC_SETUP.md)、[Microsoft Entra ID](docs\u002FENTRA_ID_SETUP.md)）\n\n详情请参阅 **[配置参考文档](docs\u002Fconfiguration.md)**。\n\n## 📊 MCP 日志记录 \u003Ca id=\"mcp-logging\">\u003C\u002Fa>\n\n服务器支持 MCP 日志记录功能，允许客户端通过结构化日志消息接收调试信息。\nKubernetes API 错误会自动分类并以适当的严重级别记录到客户端。\n敏感数据（令牌、密钥、密码、云凭据）会在发送给客户端之前自动脱敏。\n\n详情请参阅 **[MCP 日志指南](docs\u002Flogging.md)**。\n\n## 🛠️ 工具与功能 \u003Ca id=\"tools-and-functionalities\">\u003C\u002Fa>\n\nKubernetes MCP 服务器支持通过 `--toolsets` 命令行标志或 `toolsets` 配置选项来启用或禁用特定的工具和功能组（工具、资源、提示等）。这使您可以控制 AI 工具可用的 Kubernetes 功能。\n仅启用所需的工具集有助于减少上下文大小，并提高 LLM 的工具选择准确性。\n\n### 可用工具集\n\n以下工具集可供使用（“默认”列中标有 ✓ 的工具集为默认启用）：\n\n\u003C!-- AVAILABLE-TOOLSETS-START -->\n\n| 工具集  | 描述                                                                                                                                                                     | 默认 |\n|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|\n| config   | 查看和管理当前本地 Kubernetes 配置文件 (kubeconfig)                                                                                                         | ✓       |\n| core     | 用于 Kubernetes 管理的最常用工具（Pod、通用资源、事件等）                                                                                             | ✓       |\n| helm     | 用于管理 Helm Chart 和发布版本的工具                                                                                                                                     |         |\n| kcp      | 管理 kcp 工作空间及多租户功能                                                                                                                                |         |\n| kiali    | 用于管理 Kiali 的最常用工具，更多详情请参阅 [Kiali 文档](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fblob\u002Fmain\u002Fdocs\u002FKIALI.md)。            |         |\n| kubevirt | KubeVirt 虚拟机管理工具，更多详情请参阅 [KubeVirt 文档](https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fblob\u002Fmain\u002Fdocs\u002Fkubevirt.md)。 |         |\n| tekton   | 用于管理 Tekton 流水线、PipelineRun、Task 和 TaskRun 的工具。                                                                                              |         |\n\n\u003C!-- AVAILABLE-TOOLSETS-END -->\n\n### 工具\n\n如果启用了多集群支持（默认情况下已启用），并且您有权访问多个集群，则所有适用的工具都将包含一个额外的 `context` 参数，用于指定该操作所使用的 Kubernetes 上下文（集群）。\n\n\u003C!-- AVAILABLE-TOOLSETS-TOOLS-START -->\n\n\u003Cdetails>\n\n\u003Csummary>config\u003C\u002Fsummary>\n\n- **configuration_contexts_list** - 列出 kubeconfig 文件中所有可用的上下文名称及其关联的服务器 URL\n\n- **targets_list** - 列出所有可用的目标\n\n- **configuration_view** - 获取当前 Kubernetes 配置内容，以 kubeconfig YAML 格式呈现\n  - `minified` (`boolean`) - 返回配置的精简版本。若设置为 true，则仅保留当前上下文以及该上下文相关的部分；若设置为 false，则返回配置中的所有上下文、集群、认证信息和用户。（可选，默认为 true）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>core\u003C\u002Fsummary>\n\n- **events_list** - 列出当前集群中所有命名空间的 Kubernetes 事件（警告、错误、状态变化），用于调试和故障排除\n  - `namespace` (`string`) - 指定要检索事件的命名空间。若未提供，则列出所有命名空间的事件\n\n- **namespaces_list** - 列出当前集群中的所有 Kubernetes 命名空间\n\n- **projects_list** - 列出当前集群中的所有 OpenShift 项目\n\n- **nodes_log** - 从 Kubernetes 节点获取日志（kubelet、kube-proxy 或其他系统日志）。此操作通过 Kubernetes API 代理访问节点上的 kubelet 日志\n  - `name` (`string`) **(必需)** - 要获取日志的节点名称\n  - `query` (`string`) **(必需)** - 指定要返回日志的服务或文件。（必填）例如：“kubelet”用于获取 kubelet 日志，“\u002F\u003C日志文件名>”用于获取节点上的特定日志文件（如“\u002Fvar\u002Flog\u002Fkubelet.log”或“\u002Fvar\u002Flog\u002Fkube-proxy.log”）\n  - `tailLines` (`integer`) - 从日志末尾提取的行数。（可选，默认为 0，表示返回全部日志）\n\n- **nodes_stats_summary** - 通过 kubelet 的 Summary API 获取 Kubernetes 节点的详细资源使用情况统计信息。提供包括 CPU、内存、文件系统和网络使用在内的全面指标，涵盖节点、Pod 和容器级别。在使用 cgroup v2 和内核 4.20+ 的系统上，还会包含 PSI（压力停滞信息）指标，显示 CPU、内存和 I\u002FO 方面的资源压力。有关 PSI 指标的详细信息，请参阅 https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Freference\u002Finstrumentation\u002Funderstand-psi-metrics\u002F\n  - `name` (`string`) **(必需)** - 要获取统计数据的节点名称\n\n- **nodes_top** - 列出由 Kubernetes Metrics Server 记录的指定 Kubernetes 节点或集群中所有节点的资源消耗情况（CPU 和内存）\n  - `label_selector` (`string`) - Kubernetes 标签选择器（如 ‘node-role.kubernetes.io\u002Fworker=’），用于按标签筛选节点。（可选，仅在未提供节点名称时适用）\n  - `name` (`string`) - 要获取资源消耗信息的节点名称。（可选，若未提供则列出所有节点）\n\n- **pods_list** - 列出当前集群中所有命名空间内的 Kubernetes Pod\n  - `fieldSelector` (`string`) - 可选的 Kubernetes 字段选择器，用于按字段值过滤 Pod（如 ‘status.phase=Running’、‘spec.nodeName=node1’）。支持的字段包括：metadata.name、metadata.namespace、spec.nodeName、spec.restartPolicy、spec.schedulerName、spec.serviceAccountName、status.phase（Pending\u002FRunning\u002FSucceeded\u002FFailed\u002FUnknown）、status.podIP、status.nominatedNodeName。请注意，CrashLoopBackOff 是容器状态，而非 Pod 阶段，因此无法直接通过状态进行过滤。更多信息请参阅 https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Foverview\u002Fworking-with-objects\u002Ffield-selectors\u002F\n  - `labelSelector` (`string`) - 可选的 Kubernetes 标签选择器（如 ‘app=myapp,env=prod’ 或 ‘app in (myapp,yourapp)’），当需要按标签筛选 Pod 时使用此选项\n  - `namespace` (`string`) **(必需)** - 要列出 Pod 的命名空间\n\n- **pods_get** - 获取当前或指定命名空间中具有指定名称的 Kubernetes Pod\n  - `name`（`string`）**（必填）** - Pod 的名称\n  - `namespace`（`string`）- 用于获取 Pod 的命名空间\n\n- **pods_delete** - 删除当前或指定命名空间中具有指定名称的 Kubernetes Pod\n  - `name`（`string`）**（必填）** - 要删除的 Pod 名称\n  - `namespace`（`string`）- 用于删除 Pod 的命名空间\n\n- **pods_top** - 列出由 Kubernetes Metrics Server 记录的指定 Kubernetes Pod 在所有命名空间、指定命名空间或当前命名空间中的资源消耗情况（CPU 和内存）\n  - `all_namespaces`（`boolean`）- 如果为真，则列出所有命名空间中所有 Pod 的资源消耗；如果为假，则列出指定命名空间或当前命名空间中 Pod 的资源消耗\n  - `label_selector`（`string`）- Kubernetes 标签选择器（例如 `'app=myapp,env=prod'` 或 `'app in (myapp,yourapp)'`），当您希望按标签筛选 Pod 时使用此选项（可选，仅在未提供 `name` 时适用）\n  - `name`（`string`）- 要获取资源消耗的 Pod 名称（可选，未提供时为命名空间中的所有 Pod）\n  - `namespace`（`string`）- 用于获取 Pod 资源消耗的命名空间（可选，未提供且 `all_namespaces` 为假时为当前命名空间）\n\n- **pods_exec** - 在当前或指定命名空间中，对具有指定名称和命令的 Kubernetes Pod 执行命令（Shell 访问，在容器中运行命令）\n  - `command`（`array`）**（必填）** - 在 Pod 容器中执行的命令。第一个元素是要运行的命令，其余为该命令的参数。示例：`[\"ls\", \"-l\", \"\u002Ftmp\"]`\n  - `container`（`string`）- 将要执行命令的 Pod 容器名称（可选）\n  - `name`（`string`）**（必填）** - 将要执行命令的 Pod 名称\n  - `namespace`（`string`）- 将要执行命令的 Pod 所在的命名空间\n\n- **pods_log** - 获取当前或指定命名空间中具有指定名称的 Kubernetes Pod 的日志\n  - `container`（`string`）- 要获取日志的 Pod 容器名称（可选）\n  - `name`（`string`）**（必填）** - 要获取日志的 Pod 名称\n  - `namespace`（`string`）- 用于获取 Pod 日志的命名空间\n  - `previous`（`boolean`）- 返回之前终止的容器日志（可选）\n  - `tail`（`integer`）- 从日志末尾获取的行数（可选，默认：100）\n\n- **pods_run** - 在当前或指定命名空间中，使用提供的容器镜像并可选地指定名称来运行 Kubernetes Pod\n  - `image`（`string`）**（必填）** - 在 Pod 中运行的容器镜像\n  - `name`（`string`）- Pod 的名称（可选，未提供时随机生成）\n  - `namespace`（`string`）- 运行 Pod 的命名空间\n  - `port`（`number`）- 从 Pod 容器暴露的 TCP\u002FIP 端口（可选，未提供时不暴露端口）\n\n- **resources_list** - 通过提供资源的 apiVersion 和 kind，并可选地提供命名空间和标签选择器，列出当前集群中的 Kubernetes 资源和对象\n  （常见的 apiVersion 和 kind 包括：v1 Pod、v1 Service、v1 Node、apps\u002Fv1 Deployment、networking.k8s.io\u002Fv1 Ingress、route.openshift.io\u002Fv1 Route）\n  - `apiVersion`（`string`）**（必填）** - 资源的 apiVersion（有效值示例：v1、apps\u002Fv1、networking.k8s.io\u002Fv1）\n  - `fieldSelector`（`string`）- 可选的 Kubernetes 字段选择器，用于按字段值筛选资源（例如 `'status.phase=Running'`、`'metadata.name=myresource'`）。支持的字段因资源类型而异。对于 Pod：`metadata.name`、`metadata.namespace`、`spec.nodeName`、`spec.restartPolicy`、`spec.schedulerName`、`spec.serviceAccountName`、`status.phase`（Pending\u002FRunning\u002FSucceeded\u002FFailed\u002FUnknown）、`status.podIP`、`status.nominatedNodeName`。更多信息请参见：https:\u002F\u002Fkubernetes.io\u002Fdocs\u002Fconcepts\u002Foverview\u002Fworking-with-objects\u002Ffield-selectors\u002F\n  - `kind`（`string`）**（必填）** - 资源的种类（有效值示例：Pod、Service、Deployment、Ingress）\n  - `labelSelector`（`string`）- 可选的 Kubernetes 标签选择器（例如 `'app=myapp,env=prod'` 或 `'app in (myapp,yourapp)'`），当您希望按标签筛选资源时使用此选项\n  - `namespace`（`string`）- 可选的命名空间，用于检索命名空间范围内的资源（对于集群范围的资源则忽略）。未提供时将列出所有命名空间中的资源\n\n- **resources_get** - 通过提供资源的 apiVersion、kind、可选的命名空间以及名称，获取当前集群中的 Kubernetes 资源\n  （常见的 apiVersion 和 kind 包括：v1 Pod、v1 Service、v1 Node、apps\u002Fv1 Deployment、networking.k8s.io\u002Fv1 Ingress、route.openshift.io\u002Fv1 Route）\n  - `apiVersion`（`string`）**（必填）** - 资源的 apiVersion（有效值示例：v1、apps\u002Fv1、networking.k8s.io\u002Fv1）\n  - `kind`（`string`）**（必填）** - 资源的种类（有效值示例：Pod、Service、Deployment、Ingress）\n  - `name`（`string`）**（必填）** - 资源的名称\n  - `namespace`（`string`）- 可选的命名空间，用于检索命名空间范围的资源（对于集群范围的资源则忽略）。未提供时将从配置的命名空间获取资源\n\n- **resources_create_or_update** - 通过提供资源的 YAML 或 JSON 表示形式，在当前集群中创建或更新 Kubernetes 资源\n  （常见的 apiVersion 和 kind 包括：v1 Pod、v1 Service、v1 Node、apps\u002Fv1 Deployment、networking.k8s.io\u002Fv1 Ingress、route.openshift.io\u002Fv1 Route）\n  - `resource`（`string`）**（必填）** - 包含 Kubernetes 资源表示的 JSON 或 YAML 文件。应包含顶级字段，如 apiVersion、kind、metadata 和 spec\n\n- **resources_delete** - 通过提供资源的 apiVersion、kind、可选的命名空间以及名称，删除当前集群中的 Kubernetes 资源\n  （常见的 apiVersion 和 kind 包括：v1 Pod、v1 Service、v1 Node、apps\u002Fv1 Deployment、networking.k8s.io\u002Fv1 Ingress、route.openshift.io\u002Fv1 Route）\n  - `apiVersion`（`string`）**（必填）** - 资源的 apiVersion（有效值示例：v1、apps\u002Fv1、networking.k8s.io\u002Fv1）\n  - `gracePeriodSeconds`（`integer`）- 对象被删除前的可选宽限期（以秒为单位）。值必须是非负整数。值为零表示立即删除。如果未指定此值，则将使用指定类型的默认宽限期\n  - `kind`（`string`）**（必填）** - 资源的种类（有效值示例：Pod、Service、Deployment、Ingress）\n  - `name`（`string`）**（必填）** - 资源的名称\n  - `namespace`（`string`）- 可选的命名空间，用于删除命名空间范围的资源（对于集群范围的资源则忽略）。未提供时将从配置的命名空间删除资源\n\n- **resources_scale** - 通过提供 Kubernetes 资源的 apiVersion、kind 和名称，以及可选的命名空间，在当前集群中获取或更新该资源的规模。如果在工具调用中指定了 scale 值，则会将规模更新为该值。始终返回资源的当前规模。\n  - `apiVersion`（`string`）**（必填）** - 资源的 API 版本（有效示例：apps\u002Fv1）\n  - `kind`（`string`）**（必填）** - 资源的类型（有效示例：StatefulSet、Deployment）\n  - `name`（`string`）**（必填）** - 资源的名称\n  - `namespace`（`string`）- 可选的命名空间，用于获取或更新命名空间范围内的资源规模（对于集群范围的资源则忽略）。如果不提供，则将在配置的命名空间中获取或更新资源规模。\n  - `scale`（`integer`）- 可选的规模值，用于将资源规模更新为此值。如果不提供，则返回资源的当前规模，而不进行更新。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>helm\u003C\u002Fsummary>\n\n- **helm_install** - 安装（部署）一个 Helm Chart，在当前或指定的命名空间中创建一个发布版本。\n  - `chart`（`string`）**（必填）** - 要安装的 Chart 引用（例如：stable\u002Fgrafana、oci:\u002F\u002Fghcr.io\u002Fnginxinc\u002Fcharts\u002Fnginx-ingress）\n  - `name`（`string`）- Helm 发布的名称（可选，未提供时随机生成）\n  - `namespace`（`string`）- 安装 Helm Chart 的命名空间（可选，未提供时使用当前命名空间）\n  - `values`（`object`）- 传递给 Helm Chart 的值（可选）\n\n- **helm_list** - 列出当前或指定命名空间中的所有 Helm 发布版本（或列出所有命名空间中的发布版本，如果已指定）。\n  - `all_namespaces`（`boolean`）- 如果为真，则列出所有命名空间中的 Helm 发布版本，忽略 namespace 参数（可选）\n  - `namespace`（`string`）- 要列出 Helm 发布版本的命名空间（可选，未提供时列出所有命名空间）\n\n- **helm_uninstall** - 卸载当前或指定命名空间中的 Helm 发布版本。\n  - `name`（`string`）**（必填）** - 要卸载的 Helm 发布版本的名称\n  - `namespace`（`string`）- 卸载 Helm 发布版本的命名空间（可选，未提供时使用当前命名空间）\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>kcp\u003C\u002Fsummary>\n\n- **kcp_workspaces_list** - 列出当前集群中所有可用的 kcp 工作空间。\n\n- **kcp_workspace_describe** - 获取特定 kcp 工作空间的详细信息。\n  - `workspace`（`string`）**（必填）** - 要描述的工作空间的名称或路径。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>kiali\u003C\u002Fsummary>\n\n- **kiali_mesh_graph** - 返回特定命名空间的拓扑结构、网格健康状况及命名空间状态。包含网格健康概览，汇总显示正常、降级和故障的应用、工作负载和服务数量。适用于高层次的概览。\n  - `graphType`（`string`）- 可选的图表类型：'versionedApp'、'app'、'service'、'workload'、'mesh'\n  - `namespace`（`string`）- 可选的单个命名空间，用于包含在图表中（替代 namespaces 参数）\n  - `namespaces`（`string`）- 可选的逗号分隔的命名空间列表，用于包含在图表中\n  - `rateInterval`（`string`）- 可选的采集速率间隔（例如：'10m'、'5m'、'1h'）。\n\n- **kiali_manage_istio_config_read** - 列出或获取 Istio 配置对象（网关、虚拟服务等）。\n  - `action`（`string`）**（必填）** - 要执行的操作：列出或获取\n  - `group`（`string`）- Istio 对象的 API 组（例如：'networking.istio.io'、'gateway.networking.k8s.io'）\n  - `kind`（`string`）- Istio 对象的类型（例如：'DestinationRule'、'VirtualService'、'HTTPRoute'、'Gateway'）\n  - `name`（`string`）- Istio 对象的名称\n  - `namespace`（`string`）- 包含 Istio 对象的命名空间\n  - `version`（`string`）- Istio 对象的 API 版本（例如：'v1'、'v1beta1'）\n\n- **kiali_manage_istio_config** - 创建、修补或删除 Istio 配置对象（网关、虚拟服务等）。\n  - `action`（`string`）**（必填）** - 要执行的操作：创建、修补或删除\n  - `group`（`string`）- Istio 对象的 API 组（例如：'networking.istio.io'、'gateway.networking.k8s.io'）\n  - `json_data`（`string`）- 用于应用或创建对象的 JSON 数据\n  - `kind`（`string`）- Istio 对象的类型（例如：'DestinationRule'、'VirtualService'、'HTTPRoute'、'Gateway'）\n  - `name`（`string`）- Istio 对象的名称\n  - `namespace`（`string`）- 包含 Istio 对象的命名空间\n  - `version`（`string`）- Istio 对象的 API 版本（例如：'v1'、'v1beta1'）\n\n- **kiali_get_resource_details** - 获取网格内 Kubernetes 资源（服务、工作负载）的列表或详细信息。\n  - `namespaces`（`string`）- 用于获取服务的逗号分隔的命名空间列表（例如：'bookinfo' 或 'bookinfo,default'）。如果未提供，则会列出所有可访问命名空间中的服务。\n  - `resource_name`（`string`）- 要获取详细信息的资源名称（可选字符串：如果提供则获取详细信息；若为空则列出所有）。\n  - `resource_type`（`string`）- 要获取详细信息的资源类型（服务、工作负载）。\n\n- **kiali_get_metrics** - 获取网格内 Kubernetes 资源（服务、工作负载）的列表或详细信息。\n  - `byLabels`（`string`）- 用于对指标进行分组的逗号分隔标签列表（例如：'source_workload,destination_service'）。可选\n  - `direction`（`string`）- 流量方向：'inbound' 或 'outbound'。可选，默认为 'outbound'\n  - `namespace`（`string`）**（必填）** - 要获取资源的命名空间\n  - `quantiles`（`string`）- 用于直方图指标的逗号分隔的分位数列表（例如：'0.5,0.95,0.99'）。可选\n  - `rateInterval`（`string`）- 指标的采集间隔（例如：'1m'、'5m'）。可选，默认为 '10m'\n  - `reporter`（`string`）- 指标报告者：'source'、'destination' 或 'both'。可选，默认为 'source'\n  - `requestProtocol`（`string`）- 按请求协议过滤（例如：'http'、'grpc'、'tcp'）。可选\n  - `resource_name`（`string`）**（必填）** - 要获取详细信息的资源名称（可选字符串：如果提供则获取详细信息；若为空则列出所有）。\n  - `resource_type`（`string`）**（必填）** - 要获取详细信息的资源类型（服务、工作负载）\n  - `step`（`string`）- 数据点之间的步长（以秒为单位，例如：'15'）。可选，默认为 15 秒\n\n- **kiali_workload_logs** - Get logs for a specific workload's pods in a namespace. Only requires namespace and workload name - automatically discovers pods and containers. Optionally filter by container name, time range, and other parameters. Container is auto-detected if not specified.\n  - `container` (`string`) - Optional container name to filter logs. If not provided, automatically detects and uses the main application container (excludes istio-proxy and istio-init)\n  - `namespace` (`string`) **(required)** - Namespace containing the workload\n  - `since` (`string`) - Time duration to fetch logs from (e.g., '5m', '1h', '30s'). If not provided, returns recent logs\n  - `tail` (`integer`) - Number of lines to retrieve from the end of logs (default: 100)\n  - `workload` (`string`) **(required)** - Name of the workload to get logs for\n\n- **kiali_get_traces** - Gets traces for a specific resource (app, service, workload) in a namespace, or gets detailed information for a specific trace by its ID. If traceId is provided, it returns detailed trace information and other parameters are not required.\n  - `clusterName` (`string`) - Cluster name for multi-cluster environments (optional, only used when traceId is not provided)\n  - `endMicros` (`string`) - End time for traces in microseconds since epoch (optional, defaults to 10 minutes after startMicros if not provided, only used when traceId is not provided)\n  - `limit` (`integer`) - Maximum number of traces to return (default: 100, only used when traceId is not provided)\n  - `minDuration` (`integer`) - Minimum trace duration in microseconds (optional, only used when traceId is not provided)\n  - `namespace` (`string`) - Namespace to get resources from. Required if traceId is not provided.\n  - `resource_name` (`string`) - Name of the resource to get traces for. Required if traceId is not provided.\n  - `resource_type` (`string`) - Type of resource to get traces for (app, service, workload). Required if traceId is not provided.\n  - `startMicros` (`string`) - Start time for traces in microseconds since epoch (optional, defaults to 10 minutes before current time if not provided, only used when traceId is not provided)\n  - `tags` (`string`) - JSON string of tags to filter traces (optional, only used when traceId is not provided)\n  - `traceId` (`string`) - Unique identifier of the trace to retrieve detailed information for. If provided, this will return detailed trace information and other parameters (resource_type, namespace, resource_name) are not required.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>kubevirt\u003C\u002Fsummary>\n\n- **vm_clone** - Clone a KubeVirt VirtualMachine by creating a VirtualMachineClone resource. This creates a copy of the source VM with a new name using the KubeVirt Clone API\n  - `name` (`string`) **(required)** - The name of the source virtual machine to clone\n  - `namespace` (`string`) **(required)** - The namespace of the source virtual machine\n  - `targetName` (`string`) **(required)** - The name for the new cloned virtual machine\n\n- **vm_create** - Create a VirtualMachine in the cluster with the specified configuration, automatically resolving instance types, preferences, and container disk images. VM will be created in Halted state by default; use autostart parameter to start it immediately.\n  - `autostart` (`boolean`) - Optional flag to automatically start the VM after creation (sets runStrategy to Always instead of Halted). Defaults to false.\n  - `instancetype` (`string`) - Optional instance type name for the VM (e.g., 'u1.small', 'u1.medium', 'u1.large')\n  - `name` (`string`) **(required)** - The name of the virtual machine\n  - `namespace` (`string`) **(required)** - The namespace for the virtual machine\n  - `networks` (`array`) - Optional secondary network interfaces to attach to the VM. Each item specifies a Multus NetworkAttachmentDefinition to attach. Accepts either simple strings (NetworkAttachmentDefinition names) or objects with 'name' (interface name in VM) and 'networkName' (NetworkAttachmentDefinition name) properties. Each network creates a bridge interface on the VM.\n  - `performance` (`string`) - Optional performance family hint for the VM instance type (e.g., 'u1' for general-purpose, 'o1' for overcommitted, 'c1' for compute-optimized, 'm1' for memory-optimized). Defaults to 'u1' (general-purpose) if not specified.\n  - `preference` (`string`) - Optional preference name for the VM\n  - `size` (`string`) - Optional workload size hint for the VM (e.g., 'small', 'medium', 'large', 'xlarge'). Used to auto-select an appropriate instance type if not explicitly specified.\n  - `storage` (`string`) - Optional storage size for the VM's root disk when using DataSources (e.g., '30Gi', '50Gi', '100Gi'). Defaults to 30Gi. Ignored when using container disks.\n  - `workload` (`string`) - The workload for the VM. Accepts OS names (e.g., 'fedora' (default), 'ubuntu', 'centos', 'centos-stream', 'debian', 'rhel', 'opensuse', 'opensuse-tumbleweed', 'opensuse-leap') or full container disk image URLs\n\n- **vm_lifecycle** - Manage VirtualMachine lifecycle: start, stop, or restart a VM\n  - `action` (`string`) **(required)** - The lifecycle action to perform: 'start' (changes runStrategy to Always), 'stop' (changes runStrategy to Halted), or 'restart' (stops then starts the VM)\n  - `name` (`string`) **(required)** - The name of the virtual machine\n  - `namespace` (`string`) **(required)** - The namespace of the virtual machine\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>tekton\u003C\u002Fsummary>\n\n- **tekton_pipeline_start** - Start a Tekton Pipeline by creating a PipelineRun that references it\n  - `name` (`string`) **(required)** - Name of the Pipeline to start\n  - `namespace` (`string`) - Namespace of the Pipeline\n  - `params` (`object`) - Parameter values to pass to the Pipeline. Keys are parameter names; values can be a string, an array of strings, or an object (map of string to string) depending on the parameter type defined in the Pipeline spec\n\n- **tekton_pipelinerun_restart** - Restart a Tekton PipelineRun by creating a new PipelineRun with the same spec\n  - `name` (`string`) **(required)** - Name of the PipelineRun to restart\n  - `namespace` (`string`) - Namespace of the PipelineRun\n\n- **tekton_task_start** - Start a Tekton Task by creating a TaskRun that references it\n  - `name` (`string`) **(required)** - Name of the Task to start\n  - `namespace` (`string`) - Namespace of the Task\n  - `params` (`object`) - Parameter values to pass to the Task. Keys are parameter names; values can be a string, an array of strings, or an object (map of string to string) depending on the parameter type defined in the Task spec\n\n- **tekton_taskrun_restart** - Restart a Tekton TaskRun by creating a new TaskRun with the same spec\n  - `name` (`string`) **(required)** - Name of the TaskRun to restart\n  - `namespace` (`string`) - Namespace of the TaskRun\n\n- **tekton_taskrun_logs** - Get the logs from a Tekton TaskRun by resolving its underlying pod\n  - `name` (`string`) **(required)** - Name of the TaskRun to get logs from\n  - `namespace` (`string`) - Namespace of the TaskRun\n  - `tail` (`integer`) - Number of lines to retrieve from the end of the logs (Optional, default: 100)\n\n\u003C\u002Fdetails>\n\n\n\u003C!-- AVAILABLE-TOOLSETS-TOOLS-END -->\n\n\n\n### Prompts\n\n\u003C!-- AVAILABLE-TOOLSETS-PROMPTS-START -->\n\n\u003Cdetails>\n\n\u003Csummary>core\u003C\u002Fsummary>\n\n- **cluster-health-check** - Perform comprehensive health assessment of Kubernetes\u002FOpenShift cluster\n  - `namespace` (`string`) - Optional namespace to limit health check scope (default: all namespaces)\n  - `check_events` (`string`) - Include recent warning\u002Ferror events (true\u002Ffalse, default: true)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>kubevirt\u003C\u002Fsummary>\n\n- **vm-troubleshoot** - Generate a step-by-step troubleshooting guide for diagnosing VirtualMachine issues\n  - `namespace` (`string`) **(required)** - The namespace of the VirtualMachine to troubleshoot\n  - `name` (`string`) **(required)** - The name of the VirtualMachine to troubleshoot\n\n\u003C\u002Fdetails>\n\n\n\u003C!-- AVAILABLE-TOOLSETS-PROMPTS-END -->\n\n## Helm Chart\n\nA [Helm Chart](https:\u002F\u002Fhelm.sh) is available to simplify the deployment of the Kubernetes MCP server.\n\n```shell\nhelm install kubernetes-mcp-server oci:\u002F\u002Fghcr.io\u002Fcontainers\u002Fcharts\u002Fkubernetes-mcp-server\n```\n\nFor configuration options including OAuth, telemetry, and resource limits, see the [chart README](.\u002Fcharts\u002Fkubernetes-mcp-server\u002FREADME.md) and [values.yaml](.\u002Fcharts\u002Fkubernetes-mcp-server\u002Fvalues.yaml).\n\n## 💬 Community \u003Ca id=\"community\">\u003C\u002Fa>\n\nJoin the conversation and connect with other users and contributors:\n\n- [Slack](https:\u002F\u002Fcloud-native.slack.com\u002Farchives\u002FC0AHQJVR725) - Ask questions, share feedback, and discuss the Kubernetes MCP server in the `#kubernetes-mcp-server` channel on the CNCF Slack workspace. If you're not already a member, you can [request an invitation](https:\u002F\u002Fslack.cncf.io).\n\n## 🧑‍💻 Development \u003Ca id=\"development\">\u003C\u002Fa>\n\n### Running with mcp-inspector\n\nCompile the project and run the Kubernetes MCP server with [mcp-inspector](https:\u002F\u002Fmodelcontextprotocol.io\u002Fdocs\u002Ftools\u002Finspector) to inspect the MCP server.\n\n```shell\n# Compile the project\nmake build\n# Run the Kubernetes MCP server with mcp-inspector\nnpx @modelcontextprotocol\u002Finspector@latest $(pwd)\u002Fkubernetes-mcp-server\n```\n\n---\n\nmcp-name: io.github.containers\u002Fkubernetes-mcp-server","# Kubernetes MCP Server 快速上手指南\n\nKubernetes MCP Server 是一个基于 Go 语言原生实现的高性能 Kubernetes Model Context Protocol (MCP) 服务器。它直接通过 API 与 Kubernetes\u002FOpenShift 集群交互，无需依赖 `kubectl` 或 `helm` 等外部命令行工具，支持多集群管理，并提供低延迟的操作体验。\n\n## 环境准备\n\n在开始之前，请确保满足以下条件：\n\n*   **集群访问权限**：拥有可访问的 Kubernetes 或 OpenShift 集群。\n*   **配置文件**：本地已配置好 `~\u002F.kube\u002Fconfig` 文件，或正在集群内部运行（In-Cluster）。\n*   **运行环境（任选其一）**：\n    *   **Node.js**：用于通过 `npx` 运行（推荐，最便捷）。\n    *   **Python + uv**：用于通过 `uvx` 运行。\n    *   **二进制文件**：直接下载编译好的原生二进制文件（无需安装 Node 或 Python）。\n\n> **注意**：本项目目前主要依赖官方源。国内用户若遇到 `npm` 或 `github releases` 下载缓慢，可自行配置 npm 镜像源（如 `npmmirror.com`）或通过代理加速下载二进制文件。\n\n## 安装步骤\n\n根据你使用的 AI 编辑器或终端环境，选择以下一种方式进行集成。\n\n### 方式一：在 Claude Desktop 中使用\n\n编辑 Claude Desktop 的配置文件 `claude_desktop_config.json`，添加以下配置：\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"kubernetes-mcp-server@latest\"\n      ]\n    }\n  }\n}\n```\n\n### 方式二：在 VS Code \u002F VS Code Insiders 中使用\n\n**方法 A：一键安装（推荐）**\n点击以下链接直接在 VS Code 中安装扩展：\n[Install in VS Code](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522kubernetes%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522kubernetes-mcp-server%2540latest%2522%255D%257D)\n\n**方法 B：命令行手动安装**\n在终端执行以下命令：\n\n```shell\n# 适用于 VS Code\ncode --add-mcp '{\"name\":\"kubernetes\",\"command\":\"npx\",\"args\":[\"kubernetes-mcp-server@latest\"]}'\n\n# 适用于 VS Code Insiders\ncode-insiders --add-mcp '{\"name\":\"kubernetes\",\"command\":\"npx\",\"args\":[\"kubernetes-mcp-server@latest\"]}'\n```\n\n### 方式三：在 Cursor 中使用\n\n编辑项目根目录或全局的 `.cursor\u002Fmcp.json` 文件，添加以下内容：\n\n```json\n{\n  \"mcpServers\": {\n    \"kubernetes-mcp-server\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"kubernetes-mcp-server@latest\"]\n    }\n  }\n}\n```\n\n### 方式四：在 Goose CLI 中使用\n\n编辑 Goose 的 `config.yaml` 文件：\n\n```yaml\nextensions:\n  kubernetes:\n    command: npx\n    args:\n      - -y\n      - kubernetes-mcp-server@latest\n```\n\n### 方式五：独立运行（测试配置）\n\n如果你只想在终端测试服务器是否正常工作，可以使用以下命令查看帮助信息：\n\n```shell\n# 使用 npx 运行\nnpx kubernetes-mcp-server@latest --help\n\n# 或使用 uvx 运行\nuvx kubernetes-mcp-server@latest --help\n\n# 或下载二进制文件后运行\n.\u002Fkubernetes-mcp-server --help\n```\n\n## 基本使用\n\n安装完成后，重启你的 AI 编辑器（如 Claude Desktop、VS Code 或 Cursor）。在聊天窗口中，你可以直接使用自然语言让 AI 代理操作 Kubernetes 集群。\n\n**使用示例：**\n\n1.  **查看资源状态**\n    > \"列出 default 命名空间下的所有 Pod。\"\n    > \"显示 my-app 这个 Pod 的日志。\"\n    > \"查看当前集群的所有 Namespace。\"\n\n2.  **执行运维操作**\n    > \"删除名为 error-pod-123 的 Pod。\"\n    > \"重启 deployment\u002Fmy-deployment。\"\n    > \"在 default 命名空间中安装 nginx 的 Helm chart。\"\n\n3.  **高级诊断与修复**\n    > \"检查当前集群中是否有处于 CrashLoopBackOff 状态的 Pod，并分析原因。\"\n    > \"创建一个 Tekton PipelineRun 来启动构建流程。\"\n\n**配置自定义集群（可选）：**\n如果默认 kubeconfig 无法满足需求，可以在启动参数中指定配置文件路径：\n```shell\n--kubeconfig \u002Fpath\u002Fto\u002Fyour\u002Fcustom-kubeconfig\n```\n\n该工具支持 CRUD 任意资源操作、Pod 日志查看、Exec 进入容器、Helm 管理以及 Tekton 流水线触发等功能，所有操作均直接通过 API 完成，响应迅速且无需额外安装 `kubectl`。","某后端工程师在排查生产环境微服务异常时，需要快速定位故障 Pod 并查看实时日志与资源占用。\n\n### 没有 kubernetes-mcp-server 时\n- **操作割裂低效**：必须在终端手动切换上下文、输入冗长的 `kubectl` 命令，无法在 AI 助手对话流中直接获取集群状态。\n- **排障流程繁琐**：查看日志需先查 Pod 名称再执行 `logs` 命令，若需进入容器调试还得额外执行 `exec`，步骤多且易出错。\n- **依赖环境复杂**：本地必须预装配置好 `kubectl`、`helm` 等命令行工具及对应运行时环境，否则无法执行任何操作。\n- **响应延迟明显**：每次操作都涉及外部进程调用，面对高并发或大规模集群时，命令执行等待时间过长。\n\n### 使用 kubernetes-mcp-server 后\n- **对话即运维**：直接在 AI 聊天窗口输入“列出命名空间 prod 中重启次数最多的 Pod\"，kubernetes-mcp-server 即刻返回精准列表。\n- **一键深度诊断**：只需指令“展示该 Pod 实时日志并分析错误堆栈”，工具自动串联获取日志与资源监控（Top）数据，秒级反馈。\n- **零依赖部署**：无需安装任何外部 CLI 工具，kubernetes-mcp-server 以单一二进制文件运行，直接对接 API Server，开箱即用。\n- **原生高性能**：基于 Go 语言原生实现，绕过外部命令调用开销，即使在多集群场景下也能保持极低延迟的响应速度。\n\nkubernetes-mcp-server 将复杂的 Kubernetes 运维操作转化为自然的语言交互，让开发者专注于问题解决而非命令记忆。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcontainers_kubernetes-mcp-server_9a8e8752.png","containers","Containers","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fcontainers_378d91fc.png","Open Repository for Container Tools",null,"https:\u002F\u002Fgithub.com\u002Fcontainers",[84,88,92,96,100,102,106],{"name":85,"color":86,"percentage":87},"Go","#00ADD8",91.8,{"name":89,"color":90,"percentage":91},"Shell","#89e051",4.1,{"name":93,"color":94,"percentage":95},"Makefile","#427819",3.5,{"name":97,"color":98,"percentage":99},"Python","#3572A5",0.2,{"name":101,"color":86,"percentage":99},"Go Template",{"name":103,"color":104,"percentage":105},"JavaScript","#f1e05a",0.1,{"name":107,"color":108,"percentage":109},"Dockerfile","#384d54",0,1455,320,"2026-04-19T05:25:38","Apache-2.0","Linux, macOS, Windows","未说明",{"notes":117,"python":118,"dependencies":119},"该工具是基于 Go 语言编写的原生二进制程序，无需安装 Node.js、Python 或 kubectl\u002Fhelm 等外部依赖即可运行。主要运行前提是能够访问 Kubernetes 集群（需配置 kubeconfig 或在集群内运行）。支持通过 npx (Node.js)、uvx (Python) 或直接下载二进制文件的方式启动。","非必需（若使用 uvx 或 PyPI 包则需要 Python 环境）",[],[15],[77,122,123,124,125,126,127,128,129],"context","kubernetes","mcp","model","openshift","protocol","modelcontextprotocol","kubernetes-mcp","2026-03-27T02:49:30.150509","2026-04-20T10:24:16.199391",[133,138,143,148,153,158],{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},44681,"为什么使用 MicroK8s 时会出现 'cannot locate user admin' 或认证失败的错误？","这是因为 MicroK8s 生成的 kubeconfig 文件中 `users` 字段为 null。解决方法是不要将外部的 kubeconfig 挂载到容器中（避免使用 `--kubeconfig` 参数指向该文件）。如果在集群内部部署，应直接使用 ServiceAccount 自动挂载的 Token，确保证书和权限配置正确，让服务器自动读取 `\u002Fvar\u002Frun\u002Fsecrets\u002Fkubernetes.io\u002Fserviceaccount\u002Ftoken`。","https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fissues\u002F359",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},44682,"运行 `npx -y kubernetes-mcp-server` 时服务器无法启动怎么办？","这通常是因为 kubeconfig 文件中没有设置默认的 `current-context`。请运行 `kubectl config set-context \u003Cyour-context-name>` 设置一个默认上下文，然后重新启动服务器即可解决。","https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fissues\u002F1045",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},44683,"是否支持通过命令行参数限制 MCP Server 只能访问特定的 Namespace？","目前不支持也不建议在 MCP Server 层面添加此类限制。维护者建议直接利用 Kubernetes 原生的 RBAC 规则来控制用户权限。如果集群管理员正确限制了用户对其他 Namespace 的访问，API Server 会自动拒绝非法请求，无需在应用层重复实现逻辑。","https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fissues\u002F151",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},44684,"如何在集群上安装 Kubernetes MCP Server？有 Helm Chart 吗？","是的，官方已支持通过 Helm Chart 安装。集群管理员可以使用简单的命令 `helm install k8s-mcp-server . -f values.yaml` 进行部署。相关的 Helm Chart 资源已被合并到主仓库或官方推荐的子项目中。","https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fissues\u002F435",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},44685,"MCP Server 是否支持多集群或多 Context 切换？","当前的 Kubernetes MCP Server 实现主要针对单租户场景。虽然社区有讨论多集群支持，但核心架构目前侧重于单个集群上下文。对于多集群需求，通常建议为每个集群部署独立的 MCP Server 实例，或者等待后续版本对 bearer token 交换和多上下文加载的进一步支持。","https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fissues\u002F83",{"id":159,"question_zh":160,"answer_zh":161,"source_url":137},44686,"如何排查 MCP Server 启动时加载了错误的配置文件？","服务器启动时会打印配置加载来源。请查看启动日志中包含 `Starting kubernetes-mcp-server` 的部分，通常会显示 `- Config: \u003Cpath_or_source>`。通过该日志可以确认服务器是从环境变量、默认路径还是挂载的文件中读取的配置，从而排查路径错误或文件权限问题。",[163,168,173,178,183,188,193,198,203,208,213,218,223,228,233,238,243,248,253,258],{"id":164,"version":165,"summary_zh":166,"released_at":167},352094,"v0.0.53","## 重要提示\n\n此版本新增了对**多集群支持（#348）**的功能，前提是您的 `kubeconfig` 中已定义多个集群。如果您的 `kubeconfig` 包含多个上下文定义，这些上下文将作为额外的参数 `context` 提供给每个已定义的工具。\n\n如果此行为破坏了您当前的配置，您可以通过提供 `--disable-multi-cluster` CLI 标志来完全禁用此新功能（或在您的 Kubernetes MCP 服务器配置中设置特定的 `cluster_provider_strategy`）。\n\n## 变更内容\n* chore(lint): 由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F344 中修复了 linting 问题\n* chore(security): 由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F345 中尝试修复 Snyk 安全问题\n* feat(mcp): events_list 现在返回可解析的 YAML 格式输出，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F346 中实现\n* build(deps): 将 github.com\u002Fmark3labs\u002Fmcp-go 从 0.40.0 升级到 0.41.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F349 中完成\n* build(deps): 将 github.com\u002Fmark3labs\u002Fmcp-go 从 0.41.0 升级到 0.41.1，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F352 中完成\n* nit: 将 401 响应处理移至通用辅助函数，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F353 中实现\n* feat: 多集群支持，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F348 中实现\n* build(deps): 将 github.com\u002Fcoreos\u002Fgo-oidc\u002Fv3 从 3.15.0 升级到 3.16.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F356 中完成\n* build(deps): 将 github.com\u002Fgo-jose\u002Fgo-jose\u002Fv4 从 4.1.2 升级到 4.1.3，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F357 中完成\n* build(deps): 将 sigs.k8s.io\u002Fcontroller-runtime 从 0.22.1 升级到 0.22.2，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F361 中完成\n* chore(docs): 向 README.md 添加了缺失的工具（通过 `make update-readme-tools`），由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F358 中完成\n* feat: 添加“禁用”多集群策略，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F360 中实现\n* build(deps): 将 golang.org\u002Fx\u002Fnet 从 0.44.0 升级到 0.45.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F362 中完成\n* refactor: 将提供商初始化逻辑移至工厂模式，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F365 中完成\n* build(deps): 将 golang.org\u002Fx\u002Foauth2 从 0.31.0 升级到 0.32.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F366 中完成\n* build(deps): 将 golang.org\u002Fx\u002Fnet 从 0.45.0 升级到 0.46.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F367 中完成\n* 将 AccessControlClientset 公开，以便在 pkg\u002Fkubernetes 外部创建 Kubernetes 客户端，由 @harche 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F364 中实现\n* chore(docs): 由 @manusa 在 htt 中将多集群支持添加到自述文件","2025-10-10T14:00:50",{"id":169,"version":170,"summary_zh":171,"released_at":172},352100,"v0.0.47","## What's Changed\n* Konflux update kubernetes-mcp-server-ols by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F200\n* chore(doc): instructions for cursor setup by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F201\n* fix(migration): rebranded from manusa\u002Fkubernetes-mcp-server to containers\u002Fkubernetes-mcp-server by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F202\n* build(deps): bump sigs.k8s.io\u002Fyaml from 1.5.0 to 1.6.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F203\n* chore(deps): update google.golang.org\u002Fgenproto\u002Fgoogleapis\u002Frpc digest to a45f3df by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F206\n* chore(deps): update sigs.k8s.io\u002Fjson digest to cfa47c3 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F208\n* fix(deps): update k8s.io\u002Futils digest to 4c0f3b2 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F209\n* chore(deps): update go-openapi packages by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F211\n* chore(deps): update module dario.cat\u002Fmergo to v1.0.2 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F212\n* chore(deps): update module github.com\u002Fchai2010\u002Fgettext-go to v1.0.3 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F213\n* chore(deps): update module github.com\u002Fcontainerd\u002Fcontainerd to v1.7.28 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F214\n* chore(deps): update module github.com\u002Fgo-logr\u002Flogr to v1.4.3 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F215\n* build(deps): bump github.com\u002Fmark3labs\u002Fmcp-go from 0.34.0 to 0.35.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F216\n* build(deps): bump github.com\u002Fmark3labs\u002Fmcp-go from 0.35.0 to 0.36.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F218\n* test(auth): complete test suite for unauthorized scenarios by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F220\n* chore(doc): add AGENTS.md by @bentito in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F204\n* build(deps): bump github.com\u002Fgo-jose\u002Fgo-jose\u002Fv4 from 4.0.5 to 4.1.1 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F195\n* feat(mcp): log tool call (HTTP headers) by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F221\n* chore(doc): polish the Agents.md file by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F222\n* build(deps): bump github.com\u002Fcoreos\u002Fgo-oidc\u002Fv3 from 3.14.1 to 3.15.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F223\n* feat(auth): introduce scoped based authorization by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F224\n* feat(mcp): log tool call (hide sensitive HTTP headers) by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F225\n\n## New Contributors\n* @red-hat-konflux[bot] made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F200\n* @bentito made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F204\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.46...v0.0.47","2025-07-31T13:49:44",{"id":174,"version":175,"summary_zh":176,"released_at":177},352101,"v0.0.46","## What's Changed\n* test(mcp): speed up tests by not setting the fake kubeconfig master to example.com by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F192\n* Carry oidc provider directly instead of in mcpServer by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F179\n* fix(auth): delegate JWT parsing to github.com\u002Fgo-jose\u002Fgo-jose by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F189\n* test(http): logging middleware verifications by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F190\n* fix(lint): add golangci-lint make target + lint by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F193\n* feat(mcp): log tool call (function name + arguments) by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F194\n* Introduce jwks url and certificate authority flags  by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F197\n* chore(doc): update README.md Configuration options by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F199\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.45...v0.0.46","2025-07-23T13:27:22",{"id":179,"version":180,"summary_zh":181,"released_at":182},352102,"v0.0.45","## What's Changed\n* Introduce middleware for audit logs and authentication checks by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F157\n* Accept standard oauth header by keeping the current header by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F158\n* Isolate bearer token config from kubeconfig by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F163\n* Add graceful shutdown of http server by catching interruption signals by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F164\n* test(config): explicit parsing tests by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F166\n* Add new test case to increase the test coverage of Derived Config by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F167\n* Introduce require-oauth flag to comply with OAuth in MCP specification by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F170\n* build(deps): bump github.com\u002Fmark3labs\u002Fmcp-go from 0.32.0 to 0.33.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F168\n* build(deps): bump helm.sh\u002Fhelm\u002Fv3 from 3.18.3 to 3.18.4 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F169\n* build(deps): bump golang.org\u002Fx\u002Fsync from 0.15.0 to 0.16.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F171\n* test(mcp): refactor tool filtering tests by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F175\n* Introduce OIDC token verification if authorization-url is specified by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F176\n* test(http): bootstrap tests for HTTP server by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F177\n* build(deps): bump github.com\u002Fmark3labs\u002Fmcp-go from 0.33.0 to 0.34.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F178\n* build(deps): bump k8s.io\u002Fapi from 0.33.2 to 0.33.3 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F182\n* build(deps): bump k8s.io\u002Fmetrics from 0.33.2 to 0.33.3 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F186\n* build(deps): bump k8s.io\u002Fkubectl from 0.33.2 to 0.33.3 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F185\n* build(deps): bump github.com\u002Fspf13\u002Fpflag from 1.0.6 to 1.0.7 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F187\n* build(deps): bump k8s.io\u002Fapiextensions-apiserver from 0.33.2 to 0.33.3 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F181\n* chore(http): use constants for endpoints by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F180\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.44...v0.0.45","2025-07-17T14:58:25",{"id":184,"version":185,"summary_zh":186,"released_at":187},352103,"v0.0.44","## What's Changed\n* test(config): extensive test suite for denied lists by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F148\n* build(deps): bump sigs.k8s.io\u002Fyaml from 1.4.0 to 1.5.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F150\n* test(config): additional test cases for config errors by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F145\n* Define flags in configuration file by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F152\n* feat(config): deny resources by using RESTMapper as an interceptor by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F149\n* Introduce enabled\u002Fdisabled tool list in configuration file by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F155\n* Serve sse and streamable from a single port by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F153\n* Wire static config to Derived object by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F159\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.43...v0.0.44","2025-07-02T12:51:12",{"id":189,"version":190,"summary_zh":191,"released_at":192},352104,"v0.0.43","## What's Changed\n* build(deps): bump k8s.io\u002Fmetrics from 0.33.0 to 0.33.1 by @dependabot in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F120\n* build(deps): bump k8s.io\u002Fkubectl from 0.33.0 to 0.33.1 by @dependabot in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F121\n* build(deps): bump helm.sh\u002Fhelm\u002Fv3 from 3.18.2 to 3.18.3 by @dependabot in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F122\n* Use built-in ptr.Deref instead of a custom func by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F124\n* refactor(kubernetes): force usage of Derived kubernetes by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F125\n* test:refactor(cmd): test verifies behavior from cobra.Command layer by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F126\n* fix(kubernetes): remove unneeded CacheInvalidate() method by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F127\n* Introduce toml configuration file with a set of deny list by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F133\n* test(cmd): additional test cases for config flags by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F136\n* build(deps): bump k8s.io\u002Fmetrics from 0.33.1 to 0.33.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F138\n* build(deps): bump k8s.io\u002Fapi from 0.33.1 to 0.33.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F140\n* build(deps): bump k8s.io\u002Fapiextensions-apiserver from 0.33.1 to 0.33.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F141\n* build(deps): bump k8s.io\u002Fcli-runtime from 0.33.1 to 0.33.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F139\n* build(deps): bump k8s.io\u002Fkubectl from 0.33.1 to 0.33.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F143\n* Gracefully cast objects and return err instead of panic by @ardaguclu in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F146\n* test(profiles): add missing pods_top to full profile tools validation by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F147\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.42...v0.0.43","2025-06-20T15:12:12",{"id":194,"version":195,"summary_zh":196,"released_at":197},352105,"v0.0.42","## What's Changed\n* feat(pods): pods_top retrieves Pod resource consumption (metrics API) by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F119\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.41...v0.0.42","2025-06-16T10:16:34",{"id":199,"version":200,"summary_zh":201,"released_at":202},352106,"v0.0.41","## What's Changed\n* feat(http): streamable HTTP transport by @manusa in https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fpull\u002F116\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fmanusa\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.40...v0.0.41","2025-06-13T09:12:49",{"id":204,"version":205,"summary_zh":206,"released_at":207},352087,"v0.0.60","## 重大变更\n  * **`provider.GetTargets` 现在可选地支持用户作用域** (#843) — `GetTargets` 方法的签名已更改，现在可以选择性地接受用户作用域参数。如果您有自定义代码调用 `provider.GetTargets`，则需要更新调用点以匹配新的签名。\n\n## 变更内容\n* 修复(kiali): 限制响应体大小，以防止内存无限制消耗，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F927 中完成\n* 修复(ci): 在 MCP 注册表发布中为 OCI 标识符添加 v 前缀，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F929 中完成\n* 修复(kiali): 当响应超过最大允许大小时返回错误，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F930 中完成\n* 重构(kubernetes): 在往返处理器中整合 API 路径前缀处理，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F928 中完成\n* 构建(deps): 将 mcpchecker\u002Fmcpchecker 从 0.0.10 升级到 0.0.11，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F933 中完成\n* 构建(deps): 将 k8s.io\u002Fapi 从 0.35.2 升级到 0.35.3，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F934 中完成\n* 构建(deps): 将 k8s.io\u002Fmetrics 从 0.35.2 升级到 0.35.3，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F937 中完成\n* 构建(deps): 将 k8s.io\u002Fapiextensions-apiserver 从 0.35.2 升级到 0.35.3，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F938 中完成\n* 构建(deps): 将 k8s.io\u002Fcli-runtime 从 0.35.2 升级到 0.35.3，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F936 中完成\n* 构建(deps): 将 k8s.io\u002Fkubectl 从 0.35.2 升级到 0.35.3，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F935 中完成\n* 重构(kubernetes)!: provider.GetTargets 现在可选地支持用户作用域，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F843 中完成\n* 重构(mcp): 在 PR #843 之后清理多目标命名和测试，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F942 中完成\n* 修复(http): 加强知名 OAuth 代理的安全性，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F943 中完成\n* 测试(helm): 添加 simplify 函数的单元测试，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F945 中完成\n* 修复(metrics): 指标端点不再需要 OAuth 认证，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F948 中完成\n* 功能(helm): 验证 Chart 引用并添加 allowed_registries 配置项，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F950 中完成\n* 杂项: 更新 mcpchecker 评估结果，由 @github-actions[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F951 中完成\n* 测试(evals): 为所有配置任务添加 suite:config，并添加 nodes-top.yaml 文件，由 @mvinkler 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F952 中完成\n* 构建(deps): 将 azure\u002Fsetup-helm 从 4 升级到 5，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.","2026-04-01T12:59:03",{"id":209,"version":210,"summary_zh":211,"released_at":212},352088,"v0.0.59","## 变更内容\n* 修复(evals)：为 KubeVirt 任务添加缺失的套件标签，由 @lyarwood 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F835 中完成\n* 修复(可观测性)：尊重 TOML 配置中的 OTel 端点，由 @patrickeasters 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F834 中完成\n* 修复(MCP)：在没有客户端信息的情况下初始化请求不会导致 panic，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F844 中完成\n* 构建(依赖项)：将 k8s.io\u002Fapi 从 0.35.1 升级到 0.35.2，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F851 中完成\n* 构建(依赖项)：将 k8s.io\u002Fkubectl 从 0.35.1 升级到 0.35.2，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F852 中完成\n* 构建(依赖项)：将 github.com\u002Fmodelcontextprotocol\u002Fgo-sdk 从 1.3.1 升级到 1.4.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F854 中完成\n* 构建(依赖项)：将 k8s.io\u002Fapiextensions-apiserver 从 0.35.1 升级到 0.35.2，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F855 中完成\n* 功能(helm-charts)：支持覆盖 initContainers，由 @wengyao04 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F822 中完成\n* 杂项(evals)：将 Claude 代码代理迁移到 ACP，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F839 中完成\n* 文档(KubeVirt)：添加专门的 KubeVirt 工具集文档，由 @lyarwood 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F815 中完成\n* 文档(KubeVirt)：根据 PR #815 的评审意见进行修改，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F860 中完成\n* 修复(MCP)：不带参数的工具调用不会导致 panic，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F859 中完成\n* 功能(API)：支持从工具调用中获取提示，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F804 中完成\n* 测试(MCP)：添加针对 nil ClientInfo 导致 panic 的回归测试，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F848 中完成\n* 修复(Kubernetes)：包装器仅在 `.Derived` 中应用一次，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F861 中完成\n* 测试(可观测性)：为遥测和指标添加全面的测试套件，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F840 中完成\n* 功能(MCP)：添加 URL 模式提示支持，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F862 中完成\n* 修复(Kiali)：验证 gevals 套件 Kiali 的 CI 设置，由 @aljesusg 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F831 中完成\n* 修复(CI)：将容器镜像发布到 ghcr.io，以兼容 MCP 注册表，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F837 中完成\n* 测试(Kubernetes)：添加针对 .Derived 中双重传输包装的回归测试，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F864 中完成\n* 构建(依赖项)：将 go.opentelemetry.io\u002Fotel\u002Fexporters\u002Fotlp\u002Fotlpmetric\u002Fotlpmetrichttp 从 1.40.0 升级到 1.41.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F865 中完成\n* 构建(依赖项)：升级","2026-03-18T14:10:20",{"id":214,"version":215,"summary_zh":216,"released_at":217},352089,"v0.0.58","## 变更内容\n* 修复(ci)：为符合 MCP 注册表规范，移除 OCI 包中的版本字段，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F701 中完成。\n* 新增(docs)：向 update-readme-tools 添加提示文档生成功能，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F702 中完成。\n* 杂项(ci)：每周运行完成后将 results.json 上传至仓库，由 @nader-ziada 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F699 中完成。\n* 修复(ci)：修正 mcpchecker 操作的 YAML 语法，由 @nader-ziada 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F705 中完成。\n* 杂项(ci)：添加检查以验证 README.md 中的 MCP 工具是否为最新版本，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F706 中完成。\n* 构建(deps)：将 actions\u002Fdownload-artifact 从 6 升级至 7，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F707 中完成。\n* 测试(cmd)：采用更通用的方式列出工具集，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F708 中完成。\n* 重构(auth)：移除未使用的工具作用域授权中间件，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F709 中完成。\n* 新增(kubevirt)：为 vm_create 添加对辅助网络接口的支持，由 @lyarwood 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F682 中完成。\n* 构建(deps)：将 mcpchecker\u002Fmcpchecker 从 0.0.3 升级至 0.0.4，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F714 中完成。\n* 杂项(goimports)：运行 goimports，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F715 中完成。\n* 修复(mcp)：确保所有工具的 InputSchema.Properties 均已初始化，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F718 中完成。\n* 构建(deps)：将 Go 从 1.25.0 升级至 1.25.6，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F719 中完成。\n* 构建(deps)：将 go.opentelemetry.io\u002Fotel\u002Fexporters\u002Fotlp\u002Fotlptrace\u002Fotlptracehttp 从 1.39.0 升级至 1.40.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F723 中完成。\n* 构建(deps)：将 go.opentelemetry.io\u002Fotel\u002Fexporters\u002Fotlp\u002Fotlptrace\u002Fotlptracegrpc 从 1.39.0 升级至 1.40.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F724 中完成。\n* 构建(deps)：将 go.opentelemetry.io\u002Fotel\u002Fexporters\u002Fotlp\u002Fotlpmetric\u002Fotlpmetrichttp 从 1.39.0 升级至 1.40.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F727 中完成。\n* 构建(deps)：将 go.opentelemetry.io\u002Fotel\u002Fexporters\u002Fprometheus 从 0.61.0 升级至 0.62.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F730 中完成。\n* 构建(deps)：将 go.opentelemetry.io\u002Fotel\u002Fexporters\u002Fotlp\u002Fotlpmetric\u002Fotlpmetricgrpc 从 1.39.0 升级至 1.40.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F732 中完成。\n* 新增(kubevirt)：为 vm_lifecycle 工具添加故障排除操作，由 @ksimon1 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F653 中完成。\n* 新增(config)：为 MCP 工具搜索添加默认服务器说明，由 @nader-ziada 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkube 中完成。","2026-02-27T14:33:20",{"id":219,"version":220,"summary_zh":221,"released_at":222},352090,"v0.0.57","## 变更内容\n* 杂项(ci): 限制发布工作流仅针对版本标签，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F616 中完成\n* 修复(测试): 调整通知等待时间以改进防抖通知处理，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F618 中完成\n* 构建(依赖): 将 github.com\u002Fmodelcontextprotocol\u002Fgo-sdk 从 1.1.0 升级至 1.2.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F609 中完成\n* 重构(mcp): 根据 go-sdk API 的变化更新服务器初始化，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F619 中完成\n* 重构(测试): 对模拟服务器的发现处理器使用 metav1 类型，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F614 中完成\n* 功能: 添加令牌交换提供者支持，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F604 中完成\n* 修复(tokenexchange): 注册交换器实现，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F622 中完成\n* 杂项(文档): 使 AGENTS.md 与实际 Go 版本保持一致，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F623 中完成\n* 修复: 从发送至 kc 的请求中剥离 HTTP 转发头信息，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F624 中完成\n* 杂项(构建): 更新至较新版本的 golangci-lint，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F627 中完成\n* 杂项(构建): 添加 dockerignore 文件，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F628 中完成\n* 修复(http): 为知名端点添加 CORS 头信息，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F630 中完成\n* 功能(helm): 添加指定 RBAC 的支持，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F636 中完成\n* 重构(auth): 移除未使用的工具范围授权中间件，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F633 中完成\n* 测试(http): 重构知名端点测试以使用 testify 框架，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F634 中完成\n* 清理(helm): 改进 RBAC 配置，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F640 中完成\n* 杂项(ci): 暂时禁用 Kiali 评估任务，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F643 中完成\n* 功能(kubernetes): 添加字段选择器支持，用于过滤 Pod 和资源，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F641 中完成\n* 杂项(ci): 添加 MCP 注册表发布工作流，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F645 中完成\n* 修复(evals): 为受限环境减少 resize-pvc 任务中的 PVC 大小，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F644 中完成\n* 功能(config_toolset): 添加 targets_list 工具，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F635 中完成\n* 修复(mcp): 将 server.json 更新至最新模式版本，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F647 中完成\n* 功能(mcp): 实现","2026-01-27T09:31:38",{"id":224,"version":225,"summary_zh":226,"released_at":227},352091,"v0.0.56","## 变更内容\n* 杂项(ci): 添加 Dependabot 配置用于 GitHub Actions，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F540 中完成\n* 构建(deps): 将 actions\u002Fsetup-go 从 5 升级到 6，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F542 中完成\n* 修复(测试): 改进 Windows 测试中对多个 fsnotify 事件的处理，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F541 中完成\n* 构建(deps): 将 astral-sh\u002Fsetup-uv 从 5 升级到 7，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F543 中完成\n* 重构(API): 提取通用的 interface{} 到 int64 的转换工具函数，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F539 中完成\n* 修复(监视器): 为 kubeconfig 监视器添加防抖功能以提高 Windows 兼容性，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F545 中完成\n* 构建(deps): 将 actions\u002Fcheckout 从 4 升级到 6，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F544 中完成\n* 构建(deps): 将 github.com\u002Fspf13\u002Fcobra 从 1.10.1 升级到 1.10.2，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F546 中完成\n* 测试(事件): 确保事件创建错误得到妥善处理，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F547 中完成\n* 功能(配置): 添加支持动态重载的插件式配置，由 @nader-ziada 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F524 中完成\n* 更新 README，修复插件式配置部分，由 @nader-ziada 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F552 中完成\n* 构建(deps): 将 github.com\u002Fmark3labs\u002Fmcp-go 从 0.43.1 升级到 0.43.2，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F553 中完成\n* 测试: 使用 testify 断言替换自定义的 WaitForCondition 函数，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F550 中完成\n* 测试(核心): 为 resources_scale 工具添加拒绝资源的测试用例，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F551 中完成\n* 测试(配置): 增加针对插件式配置的额外测试，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F557 中完成\n* 杂项(ci): 将 gevals 版本固定为 releases 分支，而非 main 分支，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F558 中完成\n* 构建(deps): 将 golang.org\u002Fx\u002Fsync 从 0.18.0 升级到 0.19.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F560 中完成\n* 构建(deps): 将 golang.org\u002Fx\u002Foauth2 从 0.33.0 升级到 0.34.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F561 中完成\n* 修复(Kiali): 重构工作负载日志工具，由 @josunect 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F538 中完成\n* 功能(Kiali): 允许在下游发行版中重命名 Kiali，由 @aljesusg 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F507 中完成\n* 测试(Kiali): 将测试移至 MCP 层，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F562 中完成\n* 功能(kubevirt): 添加虚拟机生命周期管理工具（启动，","2025-12-23T12:00:55",{"id":229,"version":230,"summary_zh":231,"released_at":232},352092,"v0.0.55","## 变更内容\n* 功能(mcp)：重构为使用 go-sdk，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F385 中实现\n* 功能(kubevirt)：添加基础的虚拟机创建工具集，由 @lyarwood 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F386 中实现\n* 功能(toolsets)：添加 Kiali 支持，由 @aljesusg 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F425 中实现\n* 功能(helm)：为 Kubernetes MCP 服务器部署添加 Helm Chart，由 @sabre1041 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F440 中实现\n* 功能(cmd)！：从 CLI 中移除已弃用的 http\u002Fsse 端口，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F444 中实现\n* 功能(config)！：将自定义配置解析整合到 config.Extended 中，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F475 中实现\n* 功能(kiali)：添加 Kiali 跟踪详情，由 @josunect 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F478 中实现\n* 功能(kubernetes)：公开新的管理器以支持外部提供商，由 @mbillow 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F482 中实现\n* 功能(kubernetes)！：简化工具集对 Kubernetes 客户端的访问，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F483 中实现\n* 功能(kiali)：将 Kiali 工具从 20 个整合为 6 个，由 @aljesusg 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F496 中实现\n* 功能(helm)：自动化发布流程，由 @sabre1041 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F499 中实现\n* 功能(kubernetes)：添加带有重新加载功能的集群状态监控，由 @nader-ziada 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F502 中实现\n* 功能：在 GitHub 工作流中添加 gevals 操作，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F505 中实现\n* 功能(kiali)：为网格图工具添加聚合健康摘要，由 @hhovsepy 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F506 中实现\n* 功能(kiali)：标准化证书颁发机构配置方法，由 @josunect 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F511 中实现\n* 功能(core)：添加 resources_scale 工具，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F512 中实现\n* 功能(manager)：从环境变量中应用 QPS 和突发速率限制用于测试，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F513 中实现\n* 功能(test)：添加用于类似 JSONPath 方式访问非结构化 Kubernetes 对象的实用工具，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F519 中实现\n* 功能(kubernetes)：集群状态和 kubeconfig 监视器，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F520 中实现\n* 功能(kiali)：将默认配置保存在文件中，由 @aljesusg 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F521 中实现\n* 功能(helm)：增强开发版和稳定版的 Chart 版本管理，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F523 中实现\n* 功能(kiali)：标准化证书颁发机构配置方法（评审），由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fp","2025-12-03T10:29:23",{"id":234,"version":235,"summary_zh":236,"released_at":237},352093,"v0.0.54","## 变更内容\n* 构建（依赖）：将 sigs.k8s.io\u002Fcontroller-runtime 从 0.22.2 升级到 0.22.3，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F374 中完成。\n* 测试（Kubernetes）：重构 Derived manager 功能的测试，改用 testify 框架，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F369 中完成。\n* 重构（Kubernetes）：将 Provider 保留为唯一的外部 Kubernetes 接口，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F372 中完成。\n* 测试（Kubernetes）：为 ProviderKubeconfig 功能添加单元测试，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F375 中完成。\n* 测试（Kubernetes）：为 ProviderSingle 功能添加单元测试，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F376 中完成。\n* 重构（配置）：引入特定于提供商的配置注册表，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F377 中完成。\n* 重构（Kubernetes）：简化提供商配置和集群内检测逻辑，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F378 中完成。\n* 重构（Kubernetes）：Provider 实现负责处理 Manager 的实例化，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F379 中完成。\n* 为 OIDC 提供商添加自定义 CA 证书支持，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F382 中完成。\n* 功能（CI）：更新使用 OIDC 进行 npm 发布的发布配置，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F381 中完成。\n* 依赖：升级 golangci-lint 版本以避免 panic，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F383 中完成。\n* 构建（依赖）：将 github.com\u002Fmark3labs\u002Fmcp-go 从 0.41.1 升级到 0.42.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F388 中完成。\n* 添加基于 Kind 和 Keycloak 的本地开发环境，用于 OIDC 测试，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F354 中完成。\n* 修复：在示例运行命令中不使用已被占用的端口，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F394 中完成。\n* 清理：将所有 Keycloak 配置重构为 JSON 文件，由 @Cali0707 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F390 中完成。\n* 添加对节点查询的支持，由 @blublinsky 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F384 中完成。\n* 将 KIND 的主机端口改为 8000，由 @matzew 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F398 中完成。\n* 功能（AI）：添加 CLAUDE.md 使用说明并更新 AGENTS.md，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F397 中完成。\n* 功能（配置）：提供默认配置，并支持下游覆盖合并，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F396 中完成。\n* 测试（MCP）：更新 MCP 处理相关测试，改用 testify 并提升可读性，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F401 中完成。\n* 修复（节点）：重新审查 kubernetes.nodes 的实现，由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server 中完成。","2025-11-12T10:55:44",{"id":239,"version":240,"summary_zh":241,"released_at":242},352095,"v0.0.52","## 变更内容\n* 构建（依赖）：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F332 中将 golang.org\u002Fx\u002Fnet 从 0.42.0 升级至 0.44.0\n* 构建（依赖）：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F316 中将 k8s.io\u002Fkubectl 从 0.33.4 升级至 0.34.1\n* 构建（依赖）：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F321 中将 helm.sh\u002Fhelm\u002Fv3 从 3.18.6 升级至 3.19.0\n* 测试（mcp）：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F333 中重构了 Helm 工具集测试\n* 杂项（文档）：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F334 中修复了光标链接问题\n* 构建（依赖）：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F337 中将 github.com\u002Fmark3labs\u002Fmcp-go 从 0.39.1 升级至 0.40.0\n* 新增非特权镜像用户：由 @sabre1041 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F336 中完成\n* 构建（依赖）：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F338 中将 github.com\u002Fgoogle\u002Fjsonschema-go 从 0.2.3 升级至 0.3.0\n* 功能（pod）：由 @iamsudip 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F335 中为 pod 日志获取添加了可选的 tail 参数\n* 修复（mcp）：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F341 中为无参数工具的 InputSchema 模式添加了空属性\n\n## 新贡献者\n* @sabre1041 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F336 中完成了首次贡献\n* @iamsudip 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F335 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.51...v0.0.52","2025-09-25T09:55:13",{"id":244,"version":245,"summary_zh":246,"released_at":247},352096,"v0.0.51","## 变更内容\n* 测试(mcp)：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F318 中添加的工具集元数据断言\n* 构建(deps)：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F320 中将 github.com\u002Fstretchr\u002Ftestify 从 1.10.0 升级到 1.11.1\n* 重构(mcp)：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F319 中实现的工具集定义与 MCP 实现无关\n* 功能(mcp)：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F322 中实现的工具集定义完全独立于底层 MCP 实现\n* 构建(deps)：由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F324 中将 github.com\u002Fgoogle\u002Fjsonschema-go 从 0.2.2 升级到 0.2.3\n* 功能(工具集)：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F323 中添加对配置中多个工具集的支持\n* 测试(工具集)：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F326 中编写的工具集特定元数据测试\n* 测试(mcp)：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F327 中重构的配置工具集测试\n* 测试(mcp)：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F328 中重构的事件工具集测试\n* 测试(mcp)：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F329 中移除工具集测试中的副作用\n* 测试(mcp)：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F330 中重构的核心工具集测试（命名空间）\n* 修复(cmd)：由 @manusa 在 https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F331 中在 STDIO 模式下禁用 klog","2025-09-17T15:39:40",{"id":249,"version":250,"summary_zh":251,"released_at":252},352097,"v0.0.50","## What's Changed\r\n* feat(auth): support for VSCode auth flow by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F258\r\n* build(deps): bump k8s.io\u002Fapi from 0.33.3 to 0.33.4 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F260\r\n* build(deps): bump k8s.io\u002Fapimachinery from 0.33.3 to 0.33.4 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F266\r\n* build(deps): bump k8s.io\u002Fclient-go from 0.33.3 to 0.33.4 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F267\r\n* build(deps): bump helm.sh\u002Fhelm\u002Fv3 from 3.18.4 to 3.18.5 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F261\r\n* build(deps): bump k8s.io\u002Fkubectl from 0.33.3 to 0.33.4 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F263\r\n* build(deps): bump k8s.io\u002Fapiextensions-apiserver from 0.33.3 to 0.33.4 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F264\r\n* build(deps): bump github.com\u002Fmark3labs\u002Fmcp-go from 0.37.0 to 0.38.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F276\r\n* build(deps): bump helm.sh\u002Fhelm\u002Fv3 from 3.18.5 to 3.18.6 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F274\r\n* fix:test: prevent usage of real cluster in tests by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F282\r\n* test: misc fixes and typos by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F284\r\n* build(deps): bump k8s.io\u002Fcli-runtime from 0.33.4 to 0.34.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F287\r\n* build(deps): bump k8s.io\u002Fmetrics from 0.33.4 to 0.34.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F286\r\n* build(deps): bump sigs.k8s.io\u002Fcontroller-runtime from 0.21.0 to 0.22.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F293\r\n* build(deps): bump github.com\u002Fspf13\u002Fcobra from 1.9.1 to 1.10.1 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F299\r\n* build(deps): bump github.com\u002Fmark3labs\u002Fmcp-go from 0.38.0 to 0.39.1 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F300\r\n* build(deps): bump github.com\u002Fspf13\u002Fpflag from 1.0.7 to 1.0.10 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F301\r\n* build(deps): bump golang.org\u002Fx\u002Fsync from 0.16.0 to 0.17.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F303\r\n* build(deps): bump golang.org\u002Fx\u002Foauth2 from 0.30.0 to 0.31.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F302\r\n* build(deps): bump sigs.k8s.io\u002Fcontroller-runtime from 0.22.0 to 0.22.1 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F306\r\n* build(deps): bump github.com\u002Fspf13\u002Fafero from 1.14.0 to 1.15.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F307\r\n* build(deps): bump k8s.io\u002Fapi from 0.34.0 to 0.34.1 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F311\r\n* build(deps): bump k8s.io\u002Fmetrics from 0.34.0 to 0.34.1 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F312\r\n* build(deps): bump k8s.io\u002Fcli-runtime from 0.34.0 to 0.34.1 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F314\r\n* build(deps): bump k8s.io\u002Fapiextensions-apiserver from 0.34.0 to 0.34.1 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F317\r\n* refactor(toolsets): renamed Profile to Toolset by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F309\r\n* feat(logs): add support for previous container logs by @samuelmasuy in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F256\r\n\r\n## New Contributors\r\n* @samuelmasuy made their first contribution in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F256\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.49...v0.0.50","2025-09-11T07:37:45",{"id":254,"version":255,"summary_zh":256,"released_at":257},352098,"v0.0.49","## What's Changed\n* build(deps): bump github.com\u002Fmark3labs\u002Fmcp-go from 0.36.0 to 0.37.0 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F242\n* refactor(auth): consolidate JWT validation into single method by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F238\n* refactor(http): extract OAuth protected resource handler by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F243\n* feat(auth): implement proxied \u002F.well-known\u002Foauth-authorization-server by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F244\n* Red Hat Konflux purge kubernetes-mcp-server-ols by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F245\n* feat(auth): .well-known endpoints delegated to auth server by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F246\n* test: extract mock-server for reutilization by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F247\n* test(auth): complete test scenarios for raw token and oidc by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F248\n* feat(auth): implemented SecurityTokenService to handle token exchange by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F250\n* feat(auth): configurable audience validation by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F251\n* feat(auth): configurable Kubernetes API token validation by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F252\n* test(auth): complete test cases for token validation by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F253\n* refactor(auth): temporarily disable scope authorization by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F254\n* feat(auth): token exchange auth workflow by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F255\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.48...v0.0.49","2025-08-08T12:48:59",{"id":259,"version":260,"summary_zh":261,"released_at":262},352099,"v0.0.48","## What's Changed\n* build(deps): bump github.com\u002Fgo-jose\u002Fgo-jose\u002Fv4 from 4.1.1 to 4.1.2 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F237\n* chore(deps): update module github.com\u002Ffatih\u002Fcolor to v1.18.0 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F236\n* chore(deps): update module github.com\u002Femicklei\u002Fgo-restful\u002Fv3 to v3.12.2 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F235\n* chore(deps): update module go.yaml.in\u002Fyaml\u002Fv3 to v3.0.4 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F233\n* fix(deps): update module github.com\u002Fgo-jose\u002Fgo-jose\u002Fv4 to v4.1.2 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F234\n* chore(deps): update module github.com\u002Fmattn\u002Fgo-runewidth to v0.0.16 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F232\n* chore(deps): update google.golang.org\u002Fgenproto\u002Fgoogleapis\u002Frpc digest to f173205 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F228\n* chore(deps): update module github.com\u002Fmattn\u002Fgo-colorable to v0.1.14 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F230\n* chore(deps): update sigs.k8s.io\u002Fjson digest to 2d32026 by @red-hat-konflux[bot] in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F229\n* fix: linting issues by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F240\n* fix(npm): child process exits gracefully on SIGxxx by @manusa in https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fpull\u002F241\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fcontainers\u002Fkubernetes-mcp-server\u002Fcompare\u002Fv0.0.47...v0.0.48","2025-08-05T13:45:11"]