mcpField
K
K8s Mcp Server

K8s Mcp Server

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

关于 K8s Mcp Server

K8s Mcp Server 是面向 Kubernetes 集群管理者的 MCP 服务,提供部署、Pod、服务等资源的操作工具,可用 Python 直接运行或通过 Docker 部署。

主要功能

  1. 01管理部署、Pod 和服务
  2. 02通过 Python 直接运行
  3. 03支持 Docker 部署

适用场景

  1. 01通过 MCP 客户端操作 Kubernetes 资源
  2. 02在 Docker 容器中运行服务

MCP 相关

向 MCP 客户端提供 Kubernetes 操作工具,文档列出 GitHub Copilot 和 Claude Desktop 的接入方式。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"k8s-mcp-server-chinnareddy578": {
"command": "npx",
"args": [
"-y",
"mcp-remote"
]
}
}
}
启动命令npx -y mcp-remote

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

安装包
npmmcp-remote

工具

还没有获取到工具列表

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

详细介绍

K8s MCP 服务

本项目是一个用于 Kubernetes 操作的模型控制协议(MCP)服务。它提供了用于管理部署、Pod、服务等的工具。

先决条件

  • Python 3.12 或更高版本
  • uv 包管理器
  • Minikube(用于本地 Kubernetes 开发)
  • Docker(可选,用于容器化部署)

运行 MCP 服务

首选方法:直接运行
  1. 创建虚拟环境:

    uv venv .venv
    
  2. 激活虚拟环境:

    • 在 macOS/Linux 上:
      source .venv/bin/activate
      
    • 在 Windows 上:
      .venv\Scripts\activate
      
  3. 安装依赖项:

    uv pip install -e .
    
  4. 运行服务:

    python src/main.py
    
备用方法:使用 Docker(可选)
  1. 拉取 Docker 镜像:

    docker pull chinnareddy578/k8s-mcp-server
    
  2. 运行 Docker 容器:

    docker run -it \
      -v ${HOME}/.kube:/root/.kube:ro \
      -v ${HOME}/.minikube:/root/.minikube:ro \
      chinnareddy578/k8s-mcp-server
    

在 MCP 客户端中使用 MCP 服务

GitHub Copilot
  1. 配置 GitHub Copilot:

    • 打开 GitHub Copilot 设置。
    • 添加以下配置:
    {
        "servers": {
            "k8s-mcp-server": {
                "command": "python",
                "args": [
                    "src/main.py"
                ]
            }
        }
    }
    

    或者,如果你更愿意使用 Docker:

    {
        "servers": {
            "k8s-mcp-server": {
                "command": "docker",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "--init",
                    "-e", "PYTHONUNBUFFERED=1",
                    "-v", "${HOME}/.kube:/root/.kube:ro",
                    "-v", "${HOME}/.minikube:/root/.minikube:ro",
                    "chinnareddy578/k8s-mcp-server"
                ]
            }
        }
    }
    
  2. 使用 GitHub Copilot:

    • GitHub Copilot 现在将使用 MCP 服务提供代码建议和补全。
Claude Desktop
  1. 配置 Claude Desktop:

    • 打开 Claude Desktop 设置。
    • 添加以下配置:
    {
        "mcpServers": {
            "k8s-mcp-server": {
                "command": "python",
                "args": [
                    "src/main.py"
                ]
            }
        }
    }
    

    或者,如果你更愿意使用 Docker:

    {
        "mcpServers": {
            "k8s-mcp-server": {
                "command": "docker",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "--init",
                    "-e", "PYTHONUNBUFFERED=1",
                    "-v", "${HOME}/.kube:/root/.kube:ro",
                    "-v", "${HOME}/.minikube:/root/.minikube:ro",
                    "chinnareddy578/k8s-mcp-server"
                ]
            }
        }
    }
    
  2. 使用 Claude Desktop:

    • Claude Desktop 现在将使用 MCP 服务提供代码建议和补全。

故障排除

  • Kubernetes 配置: 确保 Minikube 正在运行,并且 kubeconfig 已正确配置:

    minikube status
    minikube kubectl -- get pods
    
  • 连接问题: 如果使用 Docker,请确保容器正在运行,并且可以访问你的 Kubernetes 配置:

    docker ps
    
  • 找不到工具: 请确认该工具已在 MCP 服务中注册,并且名称完全匹配。

许可证

本项目基于 MIT 许可证授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

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

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