Back to MCP directory
publicPublicdnsLocal runtime

mcp-kubernetes-server

一个轻量级的Kubernetes MCP服务器,提供自然语言处理和API访问功能,结合kubectl命令和Python客户端操作集群资源。

article

README

🚀 Kubernetes MCP 服务器

这是一个轻量级的 MCP 服务器,它结合了自然语言处理和 API 来访问 Kubernetes 集群,巧妙地将 kubectl 命令与 Kubernetes Python 客户端进行了结合。

Kubernetes MCP Server

🚀 快速开始

本项目需满足以下前提条件:

  • Python 3.11+
  • 可访问的 Kubernetes 集群
  • 本地配置好的 kubectl
  • 已安装 UV

按如下步骤进行安装:

# 克隆仓库
git clone https://github.com/ductnn/mcp-kubernetes-server.git 
cd mcp-kubernetes-server

# 创建虚拟环境
uv venv .venv

# 激活(Unix)
source .venv/bin/activate

# 安装依赖
uv pip install -r requirements.txt

✨ 主要特性

  • 自然语言接口:能够把 plain English 查询转换为 kubectl 命令。
    • 可列出所有命名空间中的 pod 和部署。
    • 若遇到不支持的查询,会回退到通用资源列表。
  • 完整的 CRUD 操作
    • 🆕 可通过 API 端点创建/删除命名空间、pod 和部署。
    • 🔍 能检查集群资源。
    • ✏️ 可修改标签、注释和部署配置。
    • 🗑️ 支持带有空闲期的优雅删除。
    • 📊 可调整部署规模。
  • 双执行模式
    • 集成 kubectl 命令。
    • 支持 Kubernetes 官方 Python 客户端(SDK)。
  • 高级功能
    • 命名空间验证(DNS - 1123 兼容)。
    • 标签过滤。
    • 空闲期控制。
    • 自动命令回退。
    • 资源管理(CPU,内存)。
    • 环境变量配置。

📦 安装指南

前提条件

  • Python 3.11+
  • 可用的 Kubernetes 集群访问
  • 当地配置好的 kubectl
  • 已安装 UV

安装步骤

# 克隆仓库
git clone https://github.com/ductnn/mcp-kubernetes-server.git 
cd mcp-kubernetes-server

# 创建虚拟环境
uv venv .venv

# 激活(Unix)
source .venv/bin/activate

# 安装依赖
uv pip install -r requirements.txt

💻 使用示例

基础用法

自然语言处理

服务器支持基本的自然语言查询以列出资源:

# 列出所有 pod
result = nl_processor.process("Show me all pods")

# 列出所有部署
result = nl_processor.process("Show me all deployments")

# 带有命名空间的查询
result = nl_processor.process("Show me all resources", "kube-system")

API 端点操作

对于更复杂的操作,请使用专用 API 端点:

# 创建一个 pod
pod_service.create_pod(
    name="my-pod",
    namespace="default",
    image="nginx:latest",
    labels={"app": "my-app"}
)

# 创建一个部署
deployment_service.create_deployment(
    name="my-deployment",
    namespace="default",
    image="nginx:latest",
    replicas=3
)

# 删除命名空间
namespace_service.delete("my-namespace", force=True)

高级用法

服务器提供所有操作的 RESTful 端点:

  • /api/pods:列出所有 pod
  • /api/deployments:列出所有部署
  • /api/services:列出所有服务
  • /api/namespaces:列出所有命名空间
  • /api/resources:列出所有资源

📚 详细文档

与 AI 助手集成

配置如下:

# 配置路径
export PATH="/path/to/uv:$PATH"

测试

基本测试

# 安装依赖
pip install -r requirements.txt

# 运行测试
pytest tests/

详细说明

  • 自然语言处理:将用户查询转换为 Kubernetes 操作。
  • API 端点:提供 RESTful API 来管理 Kubernetes 资源。

📄 许可证

本项目遵循 MIT 许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client