Skip to main content
Glama

kubernetes-mcp-server

Kubernetes MCP 服务器

✨ 功能| 🚀 入门| 🎥 演示| ⚙️ 配置| 🛠️ 工具| 🧑‍💻 开发

https://github.com/user-attachments/assets/be2b67b3-fc1c-4d11-ae46-93deba8ed98e

✨ 特点

强大而灵活的 Kubernetes模型上下文协议 (MCP)服务器实现,支持KubernetesOpenShift

  • ✅配置
    • 自动检测 Kubernetes 配置的变化并更新 MCP 服务器。
    • 查看和管理当前Kubernetes .kube/config或集群内配置。
  • ✅ 通用 Kubernetes 资源:对任何Kubernetes 或 OpenShift 资源执行操作。
    • 任何 CRUD 操作(创建或更新、获取、列出、删除)。
  • ✅ Pods :执行特定于 Pod 的操作。
    • 列出所有命名空间或特定命名空间中的 pod。
    • 从指定的命名空间按名称获取pod。
    • 从指定的命名空间中按名称删除pod。
    • 按名称显示指定命名空间中 pod 的日志
    • 执行到 pod 中并运行命令。
    • 在 pod 中运行容器镜像并可选择将其公开。
  • ✅ 命名空间:列出 Kubernetes 命名空间。
  • ✅ 事件:查看所有命名空间或特定命名空间中的 Kubernetes 事件。
  • ✅ 项目:列出 OpenShift 项目。
  • ☸️头盔
    • 在当前或提供的命名空间中安装Helm 图表。
    • 列出所有命名空间或特定命名空间中的 Helm 版本。
    • 在当前或提供的命名空间中卸载Helm 版本。

与其他 Kubernetes MCP 服务器实现不同,这不仅仅是kubectlhelm命令行工具的包装。它是一个基于 Go 的原生实现,可直接与 Kubernetes API 服务器交互。

无需在系统上安装任何外部依赖项或工具。如果您使用原生二进制文件,则无需在系统上安装 Node 或 Python。

  • ✅ 轻量级:该服务器作为 Linux、macOS 和 Windows 的单个本机二进制文件分发。
  • ✅ 高性能/低延迟:直接与 Kubernetes API 服务器交互,无需调用和等待外部命令的开销。
  • ✅ 跨平台:可作为 Linux、macOS 和 Windows 的本机二进制文件,以及 npm 包、Python 包和容器/Docker 映像使用。
  • ✅ 可配置:支持命令行参数来配置服务器行为。
  • ✅ 经过充分测试:该服务器具有广泛的测试套件,以确保其在不同的 Kubernetes 环境中的可靠性和正确性。

🚀 入门

要求

  • 访问 Kubernetes 集群。

克劳德桌面

使用 npx

如果您已安装 npm,这是在 Claude Desktop 上开始使用kubernetes-mcp-server最快方法。

打开claude_desktop_config.json并将 mcp 服务器添加到mcpServers列表中:

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

VS Code / VS Code 内部人士

通过点击以下链接在 VS Code Insiders 中安装 Kubernetes MCP 服务器扩展:

或者,您可以通过运行以下命令手动安装扩展:

# For VS Code code --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}' # For VS Code Insiders code-insiders --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'

Goose 命令行界面

Goose CLI是使用人工智能 (AI) 代理最简单(也是最便宜)的方法。

使用 npm

如果您已经安装了 npm,这是开始使用kubernetes-mcp-server最快方法。

打开你的 goose config.yaml并将 mcp 服务器添加到mcpServers列表中:

extensions: kubernetes: command: npx args: - -y - kubernetes-mcp-server@latest

🎥 演示

诊断并自动修复 OpenShift 部署

演示展示了 Claude Desktop 如何利用 Kubernetes MCP 服务器自动诊断和修复 OpenShift 中的部署,无需任何用户协助。

https://github.com/user-attachments/assets/a576176d-a142-4c19-b9aa-a83dc4b8d941

Vibe 编写一个简单的游戏并将其部署到 OpenShift

在此演示中,我将引导您完成使用 VS Code 对简单游戏进行Vibe Coding的过程,以及如何利用Podman MCP 服务器和 Kubernetes MCP 服务器将其部署到 OpenShift。

使用 VS Code 中的 Kubernetes MCP 服务器增强 GitHub Copilot - 一键设置!

在这个演示中,我将向您展示如何通过单击链接在 VS 代码中设置 Kubernetes MCP 服务器。

⚙️ 配置

可以使用命令行 (CLI) 参数配置 Kubernetes MCP 服务器。

您可以使用npxuvx或下载最新版本的二进制文件来运行 CLI 可执行文件。

# Run the Kubernetes MCP server using npx (in case you have npm and node installed) npx kubernetes-mcp-server@latest --help
# Run the Kubernetes MCP server using uvx (in case you have uv and python installed) uvx kubernetes-mcp-server@latest --help
# Run the Kubernetes MCP server using the latest release binary ./kubernetes-mcp-server --help

配置选项

选项描述
--sse-port以服务器发送事件 (SSE) 模式启动 MCP 服务器并监听指定端口。
--log-level设置日志级别(值从 0 到 9 )。类似于kubectl logging levels
--kubeconfigKubernetes 配置文件的路径。如果未提供,它将尝试解析配置(集群内、默认位置等)。
--read-only如果设置了此选项,MCP 服务器将以只读模式运行,这意味着它不允许在 Kubernetes 集群上执行任何写入操作(创建、更新、删除)。这对于在不进行任何更改的情况下调试或检查集群非常有用。
--disable-destructive如果设置,MCP 服务器将禁用 Kubernetes 集群上的所有破坏性操作(删除、更新等)。这对于调试或检查集群非常有用,避免意外更改。使用--read-only选项时,此选项无效。

🛠️ 工具

configuration_view

获取当前 Kubernetes 配置内容作为 kubeconfig YAML

参数:

  • minifiedboolean ,可选,默认值: true
    • 返回配置的最小化版本
    • 如果为true ,则仅保留当前上下文和相关配置部分
    • 如果为false ,则返回所有上下文、集群、授权信息和用户

events_list

列出当前集群中所有命名空间的所有 Kubernetes 事件

参数:

  • namespacestring ,可选)
    • 用于检索事件的命名空间。如果未提供,则列出所有命名空间中的事件

helm_install

使用提供的名称和图表在当前或提供的命名空间中安装 Helm 图表

参数:

  • chartstring ,必需)
    • 要安装的 Helm 图表的名称
    • 可以是本地路径或远程 URL
    • 例如: ./my-chart.tgzhttps://example.com/my-chart.tgz
  • valuesobject ,可选)
    • 传递给 Helm 图表的值
    • 例如: {"key": "value"}
  • namestring ,可选)
    • Helm 版本的名称
    • 如果未提供,则随机名称
  • namespacestring ,可选)
    • 安装 Helm 图表的命名空间
    • 如果未提供,将使用配置的命名空间

helm_list

列出当前或提供的命名空间(或指定的所有命名空间)中的所有 Helm 版本

参数:

  • namespacestring ,可选)
    • 列出 Helm 版本的命名空间
    • 如果未提供,将使用配置的命名空间
  • all_namespacesboolean ,可选)
    • 如果为true ,将列出所有命名空间中的 Helm 版本
    • 如果为false ,将列出来自指定命名空间的 Helm 版本

helm_uninstall

使用提供的名称卸载当前或提供的命名空间中的 Helm 版本

参数:

  • namestring ,必需)
    • 要卸载的 Helm 版本的名称
  • namespacestring ,可选)
    • 用于卸载 Helm 版本的命名空间
    • 如果未提供,将使用配置的命名空间

namespaces_list

列出当前集群中的所有 Kubernetes 命名空间

**参数:**

pods_delete

删除当前命名空间或指定命名空间中具有指定名称的 Kubernetes Pod

参数:

  • namestring ,必需)
    • 要删除的 Pod 的名称
  • namespacestring ,必需)
    • 要从中删除 Pod 的命名空间

pods_exec

使用提供的名称和命令在当前或提供的命名空间中的 Kubernetes Pod 中执行命令

参数:

  • commandstring[] ,必需)
    • 在 Pod 容器中执行的命令
    • 第一项是命令,其余的是参数
    • 例如: ["ls", "-l", "/tmp"]
  • name (字符串,必需)
    • Pod 的名称
  • namespace (字符串,必需)
    • Pod 的命名空间
  • containerstring ,可选)
    • 获取日志的 Pod 容器的名称

pods_get

获取当前命名空间或指定命名空间中具有指定名称的 Kubernetes Pod

参数:

  • namestring ,必需)
    • Pod 的名称
  • namespacestring ,必需)
    • 获取 Pod 的命名空间

pods_list

列出当前集群中所有命名空间的所有 Kubernetes Pod

参数:

  • labelSelectorstring ,可选)
    • Kubernetes 标签选择器(例如,“app=myapp,env=prod”或“app in (myapp,yourapp)”)。使用此选项可按标签筛选 Pod。

pods_list_in_namespace

列出当前集群中指定命名空间内的所有 Kubernetes pod

参数:

  • namespacestring ,必需)
    • 列出 Pod 的命名空间
  • labelSelectorstring ,可选)
    • Kubernetes 标签选择器(例如,“app=myapp,env=prod”或“app in (myapp,yourapp)”)。使用此选项可按标签筛选 Pod。

pods_log

获取当前命名空间或指定名称的 Kubernetes Pod 的日志

参数:

  • namestring ,必需)
    • 获取日志的 Pod 名称
  • namespacestring ,必需)
    • 获取 Pod 日志的命名空间
  • containerstring ,可选)
    • 获取日志的 Pod 容器的名称

pods_run

使用提供的容器镜像和可选名称在当前或提供的命名空间中运行 Kubernetes Pod

参数:

  • imagestring ,必需)
    • 要在 Pod 中运行的容器镜像
  • namespacestring ,必需)
    • 运行 Pod 的命名空间
  • namestring ,可选)
    • Pod 的名称(如果未提供则为随机名称)
  • portnumber ,可选)
    • 从 Pod 容器公开的 TCP/IP 端口
    • 如果未提供,则不公开端口

projects_list

列出当前集群中的所有 OpenShift 项目

resources_create_or_update

通过提供资源的 YAML 或 JSON 表示形式来创建或更新当前集群中的 Kubernetes 资源

参数:

  • resourcestring ,必需)
    • 包含 Kubernetes 资源表示的 JSON 或 YAML
    • 应包含顶级字段,例如 apiVersion、kind、metadata 和 spec

常见的apiVersion和kind包括:

  • v1 Pod
  • v1 服务
  • v1 节点
  • apps/v1 部署
  • networking.k8s.io/v1 入口

resources_delete

删除当前集群中的 Kubernetes 资源

参数:

  • apiVersionstring ,必需)
    • 资源的 apiVersion(例如, v1apps/v1networking.k8s.io/v1
  • kindstring ,必需)
    • 资源类型(例如PodServiceDeploymentIngress
  • namestring ,必需)
    • 资源名称
  • namespacestring ,可选)
    • 要从中删除命名空间资源的命名空间
    • 忽略集群范围的资源
    • 如果未提供,则使用已配置的命名空间

resources_get

获取当前集群中的 Kubernetes 资源

参数:

  • apiVersionstring ,必需)
    • 资源的 apiVersion(例如, v1apps/v1networking.k8s.io/v1
  • kindstring ,必需)
    • 资源类型(例如PodServiceDeploymentIngress
  • namestring ,必需)
    • 资源名称
  • namespacestring ,可选)
    • 用于检索命名空间资源的命名空间
    • 忽略集群范围的资源
    • 如果未提供,则使用已配置的命名空间

resources_list

列出当前集群中的 Kubernetes 资源和对象

参数:

  • apiVersionstring ,必需)
    • 资源的 apiVersion(例如, v1apps/v1networking.k8s.io/v1
  • kindstring ,必需)
    • 资源种类(例如PodServiceDeploymentIngress
  • namespacestring ,可选)
    • 用于检索命名空间资源的命名空间
    • 忽略集群范围的资源
    • 如果未提供,则列出所有命名空间的资源
  • labelSelectorstring ,可选)
    • Kubernetes 标签选择器(例如,“app=myapp,env=prod”或“app in (myapp,yourapp)”)。使用此选项可按标签筛选 Pod。

🧑‍💻开发

使用 mcp-inspector 运行

编译项目并使用mcp-inspector运行 Kubernetes MCP 服务器来检查 MCP 服务器。

# Compile the project make build # Run the Kubernetes MCP server with mcp-inspector npx @modelcontextprotocol/inspector@latest $(pwd)/kubernetes-mcp-server

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    This project is intended as a both MCP server connecting to Kubernetes and a library to build more servers for any custom resources in Kubernetes.
    Last updated -
    279
    Go
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Provides MCP multi-cluster Kubernetes management and operations, featuring a management interface, logging, and nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
    Last updated -
    487
    Go
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Provides MCP multi-cluster Kubernetes management and operations. It can be integrated as an SDK into your own project and includes nearly 50 built-in tools covering common DevOps and development scenarios. Supports both standard and CRD resources.
    Last updated -
    115
    Go
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Open source MCP server specializing in easy, fast, and secure tools for Databases.
    Last updated -
    1,430
    Go
    Apache 2.0
    • Linux

View all related MCP servers

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/manusa/kubernetes-mcp-server'

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