Skip to main content
Glama

MCP 服务器 Kubernetes

CI 语言 包子 Kubernetes Docker 星星 问题 欢迎 PR 最后提交 铁匠徽章

MCP 服务器可以连接到 Kubernetes 集群并对其进行管理。

https://github.com/user-attachments/assets/f25f8f4e-4d04-479b-9ae0-5dac452dd2ed

与 Claude Desktop 一起使用

{ "mcpServers": { "kubernetes": { "command": "npx", "args": ["mcp-server-kubernetes"] } } }

服务器将自动连接到您当前的 kubectl 上下文。请确保您已:

  1. kubectl 已安装并位于您的 PATH 中

  2. 已配置上下文的有效 kubeconfig 文件

  3. 访问为 kubectl 配置的 Kubernetes 集群(例如 minikube、Rancher Desktop、GKE 等)

  4. 已安装 Helm v3 并将其添加到您的 PATH 中(无需 Tiller)。如果您不打算使用 Helm,则此步骤可选。

您可以通过要求 Claude 列出您的 pod 或创建测试部署来验证您的连接。

如果出现错误,请打开标准终端并运行kubectl get pods以查看是否可以连接到集群而没有凭据问题。

Related MCP server: k8m

与 mcp-chat 一起使用

mcp-chat是 MCP 服务器的 CLI 聊天客户端。您可以使用它与 Kubernetes 服务器进行交互。

npx mcp-chat --server "npx mcp-server-kubernetes"

或者,将您现有的 Claude Desktop 配置文件从上面传递给它(Linux 应该将正确的路径传递给配置):

苹果:

npx mcp-chat --config "~/Library/Application Support/Claude/claude_desktop_config.json"

视窗:

npx mcp-chat --config "%APPDATA%\Claude\claude_desktop_config.json"

特征

  • [x] 连接到 Kubernetes 集群

  • [x] 列出所有 pod、服务、部署

  • [x] 列出、描述节点

  • [x] 创建、描述、删除 Pod

  • [x] 列出所有命名空间,创建命名空间

  • [x] 创建自定义 pod 和部署配置,更新部署副本

  • [x] 创建、描述、删除、更新服务

  • [x] 创建、获取、更新、删除 ConfigMap

  • [x] 从 pod 获取日志以进行调试(支持 pod、部署、作业和标签选择器)

  • [x] 支持 Helm v3 安装图表

    • 安装具有自定义值的图表

    • 卸载版本

    • 升级现有版本

    • 支持命名空间

    • 支持版本规范

    • 支持自定义存储库

  • [x] kubectl explain 和 kubectl api-resources 支持

  • [x] 从集群获取 Kubernetes 事件

  • [x] 端口转发到 Pod 或服务

  • [x] 创建、列出和描述 cronjobs

  • [x] 用于读取和仅创建/更新集群访问的非破坏性模式

本地开发

确保已安装 bun 。克隆 repo 并安装依赖项:

git clone https://github.com/Flux159/mcp-server-kubernetes.git cd mcp-server-kubernetes bun install

开发工作流程

  1. 以开发模式启动服务器(监视文件更改):

bun run dev
  1. 运行单元测试:

bun run test
  1. 构建项目:

bun run build
  1. 使用Inspector进行本地测试

npx @modelcontextprotocol/inspector node dist/index.js # Follow further instructions on terminal for Inspector link
  1. 使用 Claude Desktop 进行本地测试

{ "mcpServers": { "mcp-server-kubernetes": { "command": "node", "args": ["/path/to/your/mcp-server-kubernetes/dist/index.js"] } } }
  1. 使用mcp-chat进行本地测试

bun run chat

贡献

有关详细信息,请参阅CONTRIBUTING.md文件。

先进的

其他高级功能

有关更多高级信息,例如使用 SSE 传输、带有ALLOW_ONLY_NON_DESTRUCTIVE_TOOLS的非破坏性模式,请参阅ADVANCED_README.md

建筑学

请参阅此DeepWiki 链接,了解 Devin 创建的更深入的架构概述。

本节介绍 MCP Kubernetes 服务器的高层架构。

请求流程

下面的序列图说明了请求如何流经系统:

sequenceDiagram participant Client participant Transport as StdioTransport participant Server as MCP Server participant Handler as Request Handler participant K8sManager as KubernetesManager participant K8s as Kubernetes API Client->>Transport: Send Request via STDIO Transport->>Server: Forward Request alt Tools Request Server->>Handler: Route to tools handler Handler->>K8sManager: Execute tool operation K8sManager->>K8s: Make API call K8s-->>K8sManager: Return result K8sManager-->>Handler: Process response Handler-->>Server: Return tool result else Resource Request Server->>Handler: Route to resource handler Handler->>K8sManager: Get resource data K8sManager->>K8s: Query API K8s-->>K8sManager: Return data K8sManager-->>Handler: Format response Handler-->>Server: Return resource data end Server-->>Transport: Send Response Transport-->>Client: Return Final Response

发布新版本

前往发布页面,点击“草稿新版本”,点击“选择标签”,并使用“v{major}.{minor}.{patch}”语义版本格式输入新版本号,创建一个新标签。然后,输入发布标题“Release v{major}.{minor}.{patch}”,并根据需要添加描述/更新日志,然后点击“发布版本”。

这将创建一个新标签,并通过 cd.yml 工作流触发新的版本构建。成功后,新版本将发布到npm 。请注意,无需手动更新 package.json 版本,因为工作流会自动更新 package.json 文件中的版本号并将提交推送到主分支。

未计划

身份验证/向 kubectx 添加集群。

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Flux159/mcp-server-kubernetes'

If you have feedback or need assistance with the MCP directory API, please join our Discord server