mcpField
M
Mcp Kubernetes Server

Mcp Kubernetes Server

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

关于 Mcp Kubernetes Server

Mcp Kubernetes Server 为 Kubernetes 运维人员和 AI 助手提供自然语言查询及集群资源管理。它结合 kubectl 与 Kubernetes Python 客户端,支持列出、检查、创建、修改、扩缩和删除资源。

主要功能

  1. 01将自然语言查询转换为 kubectl 命令
  2. 02跨命名空间列出 Pod 和 Deployment
  3. 03创建、检查、修改和删除资源
  4. 04扩缩 Deployment 并管理资源设置
  5. 05使用 kubectl 或 Kubernetes Python 客户端

适用场景

  1. 01通过查询列出集群中的 Pod 或 Deployment
  2. 02管理命名空间、Pod 和 Deployment
  3. 03修改标签、注解或 Deployment 设置
  4. 04扩缩 Deployment 并按标签筛选资源

MCP 相关

它向 MCP 客户端提供 Kubernetes 集群操作,包括自然语言查询和资源管理。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

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

详细介绍

Kubernetes MCP 服务

Python Version License

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

https://github.com/user-attachments/assets/48e061cd-3e85-40ff-ab04-a1a2b9bbd152

✨ 功能

  • 自然语言界面:将普通英语查询转换为 kubectl 命令
    • 列出所有命名空间中的 Pod 和 Deployment
    • 对不受支持的查询,回退到通用资源列表
  • 完整的 CRUD 操作:
    • 🆕 通过 API 端点创建/删除命名空间、Pod 和 Deployment
    • 🔍 检查集群资源
    • ✏️ 修改标签、注释和 Deployment 配置
    • 🗑️ 平滑删除
    • 📊 扩缩 Deployment
  • 双重执行模式:
    • kubectl 命令集成
    • Kubernetes Python 客户端(官方 SDK)
  • 高级功能:
    • 命名空间验证(符合 DNS-1123 规范)
    • 标签筛选
    • 宽限期控制
    • 自动命令回退
    • 资源管理(CPU、内存)
    • 环境变量配置

📦 安装

前提条件
  • Python 3.11+
  • Kubernetes 集群访问权限
  • 已在本地配置 kubectl
  • 已安装 UV
# Clone repository
git clone https://github.com/ductnn/mcp-kubernetes-server.git 
cd mcp-kubernetes-server

# Create virtual environment
uv venv .venv

# Activate (Unix)
source .venv/bin/activate

# Install dependencies
uv pip install -r requirements.txt

🚀 使用方法

自然语言处理

该服务支持用于列出资源的基本自然语言查询:

# List all pods
result = nl_processor.process("Show me all pods")

# List all deployments
result = nl_processor.process("Show me all deployments")

# Query with namespace
result = nl_processor.process("Show me all resources", "kube-system")

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

# Create a pod
pod_service.create_pod(
    name="my-pod",
    namespace="default",
    image="nginx:latest",
    labels={"app": "my-app"}
)

# Create a deployment
deployment_service.create_deployment(
    name="my-deployment",
    namespace="default",
    image="nginx:latest",
    replicas=3
)

# Delete a namespace
namespace_service.delete("my-namespace", force=True)
API 端点

该服务为所有操作提供 RESTful 端点:

  • /api/pods - Pod 操作
  • /api/deployments - Deployment 操作
  • /api/namespaces - 命名空间操作
  • /api/cluster - 集群操作
  • /api/nlp - 自然语言处理

🤖 与 AI 助手搭配使用

Claude Desktop
  • 打开 Claude Desktop,选择 Settings -> 选择模式 Developer -> Edit config,打开文件 claude_desktop_config.json 并进行编辑:
{
    "mcpServers": {
        "kubernetes": {
            "command": "/path-to-your-uv/uv",
            "args": [
                "--directory",
                "/path-you-project/", // Example for me /Users/ductn/mcp-kubernetes-server
                "run",
                "main.py"
            ]
        }
    }
}
  • 然后,重启 Claude Desktop,尽情体验吧 :)

🧪 测试

运行测试套件:

# Run all tests
pytest

# Run specific test file
pytest tests/unit/test_pod_service.py

# Run with coverage
pytest --cov=.

📝 许可证

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

评论

支持 Markdown

第一次接触 MCP?

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

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