该项目旨在作为一个连接到Kubernetes的MCP服务器,同时也作为一个库,用于为Kubernetes中的任何自定义资源构建更多服务器。
429 查看 · 2026-07-07 更新
简介
该项目旨在作为一个连接到Kubernetes的MCP服务器,同时也作为一个库,用于为Kubernetes中的任何自定义资源构建更多服务器。
简介
该项目旨在作为一个连接到Kubernetes的MCP服务器,同时也作为一个库,用于为Kubernetes中的任何自定义资源构建更多服务器。
基于 Golang 的 MCP 服务器连接到 Kubernetes
MCP K8S Go
功能 ⚙ 使用 Inspector 浏览 ⚙ 与 Claude 一起使用 ⚙ 贡献 ↗
功能
MCP 💬 提示 🗂️ 资源 🤖 工具
- 🗂️🤖 列出 Kubernetes 上下文
- 💬🤖 列出 Kubernetes 命名空间
- 🤖 列出并获取任何 Kubernetes 资源
- 包括对 pod、服务、部署等资源的自定义映射,但任何资源都可以列出和检索
- 🤖 列出 Kubernetes 节点
- 💬 列出 Kubernetes pod
- 🤖 获取 Kubernetes 事件
- 🤖 获取 Kubernetes pod 日志
- 🤖 在 Kubernetes pod 中运行命令
使用 Inspector 浏览
要使用最新发布的版本与 Inspector,请运行以下命令:
npx @modelcontextprotocol/inspector npx @strowk/mcp-k8s
, 或者如果你想使用从源码构建的版本,则在本项目的根目录下执行:
tools/inspector/run.sh
与 Claude 一起使用
演示用法
以下与 Claude Desktop 的聊天展示了选择特定上下文作为资源后,然后要求检查 kube-system 命名空间中的 pod 日志时的样子:

要将此 MCP 服务器与 Claude Desktop(或任何其他客户端)一起使用,你可能需要选择安装方式。
你有多种选项:
| Smithery | mcp-get | Pre-built NPM | Pre-built in Github | From sources | Using Docker | |
|---|---|---|---|---|---|---|
| Claude 设置 | 自动 | 自动 | 手动 | 手动 | 手动 | 手动 |
| 先决条件 | Node.js | Node.js | Node.js | 无 | Golang | Docker |
使用 Smithery
要通过 Smithery 自动安装 Claude Desktop 的 MCP K8S Go:
npx -y @smithery/cli install @strowk/mcp-k8s --client claude
使用 mcp-get
要通过 mcp-get 自动安装 Claude Desktop 的 MCP K8S Go:
npx @michaellatman/mcp-get@latest install @strowk/mcp-k8s
使用预构建的二进制文件手动安装
从 npm 获取预构建版本
如果你已经安装了 npm 并希望使用预构建的二进制文件,请执行以下命令:
npm install -g @strowk/mcp-k8s
然后通过运行 mcp-k8s --version 检查版本,如果显示已安装版本,则可以继续在 claude_desktop_config.json 文件中添加配置:
{ "mcpServers": { "mcp_k8s": { "command": "mcp-k8s", "args": [] } } }
或者使用 npx 和任意客户端:
npx @strowk/mcp-k8s
例如,对于 Claude:
{ "mcpServers": { "mcp_k8s": { "command": "npx", "args": [ "@strowk/mcp-k8s" ] } } }
从 GitHub 发布版获取
前往 GitHub 发布版 并下载适用于你的平台的最新发布版。
解压存档,其中包含名为 mcp-k8s-go 的二进制文件,将该二进制文件放在你的 PATH 中的某个位置,然后在 claude_desktop_config.json 文件中添加以下配置:
{ "mcpServers": { "mcp_k8s": { "command": "mcp-k8s-go", "args": [] } } }
从源码构建
你需要安装 Golang 来构建此项目:
go get github.com/strowk/mcp-k8s-go go install github.com/strowk/mcp-k8s-go
然后在 claude_desktop_config.json 文件中添加以下配置:
{ "mcpServers": { "mcp_k8s_go": { "command": "mcp-k8s-go", "args": [] } } }
使用 Docker
自 0.3.1-beta.2 版本起,此服务器已构建并发布到 Docker Hub,并且提供针对 linux/amd64 和 linux/arm64 架构的多架构镜像。
你可以使用最新的标签,例如:
docker run -i -v ~/.kube/config:/home/nonroot/.kube/config --rm mcpk8s/server:latest
Windows 用户可能需要在 Git Bash 中将 ~/.kube/config 替换为 //c/Users/<username>/.kube/config。
对于 Claude:
{ "mcpServers": { "mcp_k8s_go": { "command": "docker", "args": [ "run", "-i", "-v", "~/.kube/config:/home/nonroot/.kube/config", "--rm", "mcpk8s/server:latest" ] } } }
环境变量和命令行选项
MCP 服务器使用以下环境变量:
KUBECONFIG: 你的 Kubernetes 配置文件路径(可选,默认为 ~/.kube/config)
支持以下命令行选项:
--allowed-contexts=<ctx1,ctx2,...>: 允许用户访问的 Kubernetes 上下文列表,以逗号分隔。如果不指定,则允许所有上下文。--help: 显示帮助信息--version: 显示版本信息
服务配置
[{'mcpServers': {'mcp_k8s': {'args': [], 'command': 'mcp-k8s'}}}, {'mcpServers': {'mcp_k8s': {'args': ['@strowk/mcp-k8s'], 'command': 'npx'}}}, {'mcpServers': {'mcp_k8s': {'args': [], 'command': 'mcp-k8s-go'}}}, {'mcpServers': {'mcp_k8s_go': {'args': [], 'command': 'mcp-k8s-go'}}}, {'mcpServers': {'mcp_k8s_go': {'args': ['run', '-i', '-v', '~/.kube/config:/home/nonroot/.kube/config', '--rm', 'mcpk8s/server:latest'], 'command': 'docker'}}}, {'mcpServers': {'mcp_k8s': {'args': ['--allowed-contexts=dev,prod', '--readonly'], 'command': 'mcp-k8s'}}}]
来源
- 来源:github
- 链接:https://github.com/strowk/mcp-k8s-go