mcpField
K
kubernetes-mcp

kubernetes-mcp

本地服务
github.com/HSn0918云与基础设施3037 周前更新

关于 kubernetes-mcp

kubernetes-mcp 是一个用 Go 编写的 MCP 服务,将 Kubernetes 操作暴露为 MCP 工具,支持 stdio、sse 和 streamable 三种传输方式。它可以使用本地 kubeconfig,也可以使用集群内的服务账户配置。

主要功能

  1. 01通用资源 CRUD 工具,按 API 组前缀注册
  2. 02支持 stdio、sse、streamable 传输
  3. 03兼容本地 kubeconfig 与集群内配置
  4. 04提供 Pod 日志分析、事件查询等实用工具
  5. 05内置排障与清单处理提示词及指标工具

适用场景

  1. 01通过 MCP 客户端查询和管理集群资源
  2. 02分析 Pod 日志并排查节点或网络问题
  3. 03在 Kubernetes 中部署为远程 MCP 服务

MCP 相关

该项目是 MCP 服务端,向 MCP 客户端暴露 Kubernetes 资源操作、工具、提示词和指标。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"kubernetes": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"mcp/github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<GITHUB_PERSONAL_ACCESS_TOKEN>"
}
}
}
}
启动命令docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN mcp/github
需要配置的环境变量
GITHUB_PERSONAL_ACCESS_TOKEN密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocimcp/github

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Kubernetes MCP

Kubernetes MCP 标志

English | 中文

一个使用 Go 构建、专注于 Kubernetes 的 Model Context Protocol(MCP)服务。 它将 Kubernetes 操作作为 MCP 工具提供,并支持 stdio、sse 和 streamable 传输方式。

为什么选择本项目

  • 为 Kubernetes 操作提供统一的 MCP 接口
  • 同时支持本地 kubeconfig 和集群内配置
  • 提供多种传输方式,以适应不同的集成模式
  • 通用资源 CRUD + 实用工具 + 提示词 + 指标
  • 基于 slog 的日志记录,支持配置级别和格式

要求

  • Go 1.24+
  • 可访问 Kubernetes 集群
    • 通过 --kubeconfig,或
    • 通过集群内服务账号

快速开始

构建
git clone https://github.com/HSn0918/kubernetes-mcp.git
cd kubernetes-mcp
go build -o kubernetes-mcp ./cmd/kubernetes-mcp
运行(stdio)
./kubernetes-mcp server transport stdio --kubeconfig ~/.kube/config
运行(SSE)
./kubernetes-mcp server transport sse \
  --port 8080 \
  --health-port 8081 \
  --allow-origins "*" \
  --base-url "http://localhost:8080" \
  --kubeconfig ~/.kube/config
运行(StreamableHTTP)
./kubernetes-mcp server transport streamable \
  --port 8080 \
  --health-port 8081 \
  --allow-origins "*" \
  --kubeconfig ~/.kube/config

CLI 结构

kubernetes-mcp
├── server
│   └── transport
│       ├── stdio
│       ├── sse
│       └── streamable
└── version

配置标志

全局标志:

  • --log-level(debug|info|warn|error,默认值为 info)
  • --log-format(console|json,默认值为 console)
  • --kubeconfig(可选)

网络传输标志(sse、streamable):

  • --port(默认值为 8080)
  • --health-port(默认值为 8081)
  • --allow-origins(默认值为 *)

仅 SSE 支持的标志:

  • --base-url(默认值为 http://localhost:<port>)

传输端点

  • StreamableHTTP MCP 端点:POST /mcp
  • 健康检查端点(仅 SSE/Streamable):
    • GET /healthz
    • GET /readyz

工具概览

1. 通用资源操作

对于每个 API 组前缀,服务都会提供:

  • LIST_<PREFIX>_RESOURCES
  • GET_<PREFIX>_RESOURCE
  • DESCRIBE_<PREFIX>_RESOURCE
  • CREATE_<PREFIX>_RESOURCE
  • UPDATE_<PREFIX>_RESOURCE
  • DELETE_<PREFIX>_RESOURCE

已注册的前缀:

  • K8S
2. 核心/集群实用工具
  • LIST_NAMESPACES
  • LIST_NODES
  • GET_POD_LOGS
  • ANALYZE_POD_LOGS
3. 实用工具
  • GET_CURRENT_TIME
  • GET_CLUSTER_INFO
  • GET_API_RESOURCES
  • SEARCH_RESOURCES
  • EXPLAIN_RESOURCE
  • APPLY_MANIFEST
  • VALIDATE_MANIFEST
  • DIFF_MANIFEST
  • GET_EVENTS
4. 提示词工具
  • KUBERNETES_YAML_PROMPT
  • KUBERNETES_QUERY_PROMPT
  • TROUBLESHOOT_PODS_PROMPT
  • TROUBLESHOOT_NODES_PROMPT
  • TROUBLESHOOT_NETWORK_PROMPT
5. 指标工具
  • GET_NODE_METRICS
  • GET_POD_METRICS
  • GET_RESOURCE_METRICS
  • GET_TOP_CONSUMERS

架构(k8s 风格的组/版本)

cmd/kubernetes-mcp/
  main.go
  app/
pkg/
  client/kubernetes/
  config/
  handlers/
    apis/
      core/v1/
      apps/v1/
    base/
    tool/
    prompt/
    metrics/
  server/
  health/
  logger/

Docker

构建:

docker build -t kubernetes-mcp:latest .

使用明确指定的传输命令运行:

docker run --rm -it \
  -v ~/.kube:/root/.kube \
  kubernetes-mcp:latest \
  server transport stdio --kubeconfig /root/.kube/config

Kubernetes 部署

部署清单位于 /deploy/kubernetes。

make k8s-deploy
# or
make k8s-deploy-kustomize

开发

make build
make test

Justfile + 一键安装 Skill

此仓库包含一个项目用法 Skill,位于 skills/kubernetes-mcp-usage。

# list just tasks
just

# common dev tasks
just build
just test

# install the project skill into Codex
just skill-install

# overwrite existing install
just skill-install-force

Skill 安装目标位置: $CODEX_HOME/skills/kubernetes-mcp-usage(若未设置 CODEX_HOME,则为 ~/.codex/skills/kubernetes-mcp-usage)。

安装后,重启 Codex 以加载该 Skill。

注意事项

  • 资源操作取决于集群 API 的可用性和 RBAC 权限。
  • 对于位于 ingress/反向代理之后的网络传输方式,请为 SSE 正确设置 --base-url。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。