KubeView MCP–Kubernetes模型上下文协议服务器
](https://www.npmjs.com/package/kubeview-mcp)  ](https://nodejs.org/) 
KubeView 是只读的 模型上下文协议 (MCP)服务器,允许AI代理(Cursor、Claude Code、Codex CLI、Gemini CLI等)安全地检查、诊断和调试Kubernetes集群。它涵盖了Kubernetes核心、Helm、Argo工作流和Argo CD。
阅读更多: 从Kubernetes集群中删除MCP工具调用
______________________________________________________________________
✨ 特性
- 🧠 代码模式 -沙盒TypeScript运行时,用于复杂的推理和多步骤工作流。
- 🛡️ 只读和安全 –零写访问;生产集群的敏感数据屏蔽。
- ☸️ Kubernetes 列出/获取资源,获取指标,流式日志和事件,执行到容器中,诊断网络问题。
- 📦 头盔(API-first) –通过带有CLI回退的Kubernetes API检查发布、值、清单和历史记录。
- 🐙 Argo生态系统 –通过Kubernetes API或CLI管理Argo工作流和Argo CD。
______________________________________________________________________
🚀 快速开始
先决条件
- Node.js≥18
- 访问Kubernetes集群
- 可选CLIs
$PATH:helm(仅回退),argo,argocd
安装
# Run the server directly
npx -y kubeview-mcp
# Add to Claude Code
claude mcp add kubernetes -- npx kubeview-mcpMCP客户端配置
添加到您的 mcpServers config(光标、克劳德桌面等):
{
"mcpServers": {
"kubeview": {
"command": "npx",
"args": ["-y", "kubeview-mcp"]
}
}
}环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
KUBECONFIG | kubeconfig文件的路径 | ~/.kube/config |
MCP_TRANSPORT | 运输: stdio (默认)或 http | stdio |
MCP_MODE | 服务器模式: all, code,或 tools | all |
MCP_LOG_LEVEL | 日志级别: error, warn, info, debug | info |
MCP_HIDE_SENSITIVE | 在全球范围内屏蔽敏感数据 | false |
MCP_HTTP_HOST | HTTP绑定主机 MCP_TRANSPORT=http | 127.0.0.1 |
MCP_HTTP_PORT | HTTP端口 MCP_TRANSPORT=http | 3000 |
MCP_HTTP_PATH | 可流式传输的HTTP端点路径 | /mcp |
MCP_HTTP_STATELESS | 在HTTP模式下禁用会话ID | false |
MCP_HTTP_JSON_RESPONSE | 更喜欢JSON响应而不是SSE | false |
MCP_ALLOWED_HOSTS | HTTP模式的逗号分隔主机分配列表 | 本地默认值 |
MCP_ALLOWED_ORIGINS | HTTP模式的逗号分隔的Origin分配列表 | 未设置 |
流式HTTP模式
KubeView也可以独立运行 可流式传输的HTTP 用于托管或手动管理部署的服务器。
MCP_TRANSPORT=http \
MCP_HTTP_HOST=127.0.0.1 \
MCP_HTTP_PORT=3000 \
npx -y kubeview-mcp这将在以下位置启动可流式传输的HTTP端点 http://127.0.0.1:3000/mcp.
笔记:
stdio仍然是默认设置,并且仍然是MCP客户端配置(如Claude Desktop、Cursor和Codex CLI)的正确选择。MCP_HTTP_STATELESS=true禁用会话ID。这对于简单的请求/响应模式很有用,但对于有状态的功能(如plan_step历史在这种模式下没有意义。- 如果将HTTP模式绑定到
0.0.0.0或::,您必须设置MCP_ALLOWED_HOSTS. - HTTP模式用于手动部署。已发布的MCP注册表元数据仍以
stdio.
______________________________________________________________________
🛠️ 工具
Kubernetes
| 工具 | 说明 |
|---|---|
kube_list | 列出资源或获取群集诊断 |
kube_get | 描述特定资源(支持所有K8s类型) |
kube_metrics | 获取节点和Pod的CPU/内存指标 |
kube_logs | 获取或流式传输容器日志 |
kube_exec | 在容器内执行命令 |
kube_port | 端口转发到Pod或服务 |
kube_net | 在群集中运行网络诊断 |
舵
| 工具 | 说明 |
|---|---|
helm_list | 列出Helm版本(首先是Kubernetes API,CLI回退) |
helm_get | 获取发布值、清单、注释、钩子、状态、历史记录 |
Helm执行策略: 默认情况下,工具直接从Kubernetes存储(Secrets/ConfigMaps)读取Helm元数据——否 helm 标准只读使用所需的二进制文件。CLI回退用于非JSON格式或非Kubernetes存储后端(例如SQL)。
逃离德黑兰
| 工具 | 说明 |
|---|---|
argo_list | 列出Argo工作流程 |
argo_get | 检查特定的Argo工作流程 |
argocd_app | 检查Argo CD应用程序 |
公用事业
| 工具 | 说明 |
|---|---|
run_code | 为复杂任务执行沙盒TypeScript |
plan_step | 在长期调查中坚持循序渐进的计划状态 |
为什么 plan_step? 它通过在外部存储进度来保持聊天上下文的干净,为代理提供结构化的状态机(plan→ 执行→ 验证→ 分支),并鼓励在复杂的工作流程中产生更好结果的先思考后行动的节奏。
______________________________________________________________________
🧠 代码模式
受到启发 使用MCP执行代码,KubeView提供了一个沙盒代码运行时,供代理探索API并运行复杂的工作流。
- MCP电桥 –所有注册的MCP工具都可以从内部调用
run_code. - 动态TypeScript定义 –工具模式会自动转换为类型化
global.d.ts,防止出现幻觉参数。 - 工具发现 –
tools.search()和tools.list()让代理在运行时查找功能,而无需加载完整的模式。 - 沙盒执行 锁定Node.js
vm只能访问的环境console和那个tools全球的。
启用仅代码模式:
"env": { "MCP_MODE": "code" }内建 code-mode 提示
服务器包括 code-mode 将完整的TypeScript API文档和示例注入代理上下文的MCP提示。在光标中,键入 /kubeview/code-mode 在提示栏中激活它。
______________________________________________________________________
💻 本地开发
# Clone and install
git clone https://github.com/mikhae1/kubeview-mcp.git
cd kubeview-mcp
npm install
# Build and run
npm run build
npm start
# Test
npm test
# Run a tool directly via CLI
npm run command -- kube_list --namespace=default______________________________________________________________________
📄 许可证
MIT© 米哈伊1
