Token导航 LogoToken导航TokenDH.com
K8s Multicluster MCP logo
搜索检索stdio官方级别未说明来源级核验

K8s Multicluster MCP

MCP Server

@smithery/cli

An MCP (Model Context Protocol) server application for Kubernetes operations, providing a standardized API to interact with multiple Kubernetes clusters simultaneously using multiple kubeconfig files.

工具数

35

提示词数

0

GitHub Stars

14

资源数

0
Kubernetes管理PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

razvanmacovei

提供方

razvanmacovei

最后核验

2026/5/18 04:55

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx -y @smithery/cli install @razvanmacovei/k8s-multicluster-mcp --client claude

详细介绍

多集群Kubernetes MCP服务器

](https://smithery.ai/server/@razvanmacovei/k8s-multicluster-mcp) ![Python 3.11+](https://www.python.org/downloads/) ![License: Apache 2.0](LICENSE)

用于同时管理多个Kubernetes集群的MCP(模型上下文协议)服务器。提供 60+工具 涵盖集群操作、资源管理、监控、RBAC、存储、网络等,所有这些都可以通过Claude Desktop等人工智能助手访问。

快速开始

通过Smithery安装

npx -y @smithery/cli install @razvanmacovei/k8s-multicluster-mcp --client claude

手动安装

git clone https://github.com/razvanmacovei/k8s-multicluster-mcp.git
cd k8s-multicluster-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python3 app.py

码头工人

docker build -t k8s-mcp .
docker run -v ~/.kube:/root/.kube k8s-mcp

配置

克劳德桌面/MCP客户端

添加到MCP客户端配置中:

{
  "mcpServers": {
    "kubernetes": {
      "command": "python3",
      "args": ["/path/to/k8s-multicluster-mcp/app.py"],
      "env": {
        "KUBECONFIG_DIR": "/path/to/your/kubeconfigs"
      }
    }
  }
}

环境变量

变量默认值描述
KUBECONFIG_DIR~/.kube包含kubeconfig文件的目录。每个文件可以包含一个或多个上下文。

将kubeconfig文件放在配置的目录中。服务器会自动发现所有文件中的所有上下文。

先决条件

  • Python 3.11或更高版本
  • 一个或多个具有有效集群凭据的kubeconfig文件
  • metrics-server 已安装在集群中 k8s_top_*k8s_cluster_info 工具

多集群管理

此服务器是专门为管理多个Kubernetes集群而构建的:

  • 自动发现:扫描中的所有kubeconfig文件 KUBECONFIG_DIR 并聚合上下文
  • 部分名称匹配:使用 prod 而不是 arn:aws:eks:us-east-1:123456:cluster/prod-cluster
  • 跨集群操作:跨集群比较资源、运行状况和配置
  • 上下文缓存:高效的30秒TTL缓存避免了每次调用时重新读取kubeconfig文件
  • 集中管理:从单个界面管理开发、暂存和生产

工具参考(60+工具)

集群和上下文管理(6个工具)

工具说明
k8s_get_contexts列出所有kubeconfig文件中的所有可用上下文
k8s_get_namespaces列出群集中的所有命名空间
k8s_create_ns使用可选标签/注释创建新的命名空间
k8s_delete_ns删除命名空间(保护系统命名空间)
k8s_get_nodes列出所有节点的状态、角色、容量和版本
k8s_cluster_info全面的集群运行状况摘要(节点、Pod、部署、警告)

资源发现和检查(7个工具)

工具说明
k8s_get_resources列出任何类型的资源(Pod、部署、服务、入口等)
k8s_get_resource获取单个资源的完整定义
k8s_get_pod_logs通过持续时间过滤和容器选择获取pod日志
k8s_get_events列出命名空间中的集群事件,按最新事件排序
k8s_describe详细的资源描述类似于 kubectl describe
k8s_apis列出群集中所有可用的API组和资源
k8s_crds列出所有自定义资源定义及其版本和范围

度量与监控(3个工具)

工具说明
k8s_top_nodes显示节点CPU/内存使用情况以及容量
k8s_top_pods显示吊舱/容器CPU/内存使用情况
k8s_diagnose_application全面的应用程序诊断,包括问题检测和建议

推出管理(6个工具)

工具说明
k8s_rollout_status获取部署/状态集/守护进程启动的推出状态
k8s_rollout_history获取修订历史记录
k8s_rollout_undo回滚到以前的版本
k8s_rollout_restart触发滚动重启
k8s_rollout_pause暂停正在进行的卷展
k8s_rollout_resume恢复暂停的卷展

缩放(3个工具)

工具说明
k8s_scale_resource将部署/状态集/复制集扩展到N个副本
k8s_autoscale_resource配置水平吊舱自动缩放器(HPA)
k8s_update_resources更新容器的CPU/内存请求和限制

资源CRUD(6个工具)

工具说明
k8s_create_resource从YAML/JSON内容创建资源
k8s_apply_resource应用配置(创建或更新,如 kubectl apply)
k8s_delete_resource删除任何具有可选强制/宽限期的资源类型
k8s_patch_resource使用战略合并补丁更新特定字段
k8s_label_resource添加或更新资源上的标签
k8s_annotate_resource添加或更新资源上的注释

工作量管理(3个工具)

工具说明
k8s_expose_resource将部署/吊舱作为新服务公开
k8s_run_pod创建并运行具有指定映像的pod
k8s_set_resources_for_container为容器设置资源限制/请求

节点管理(5个工具)

工具说明
k8s_cordon_node将节点标记为不可调度
k8s_uncordon_node将节点标记为可调度
k8s_drain_node通过驱逐Pod来排空节点(用于维护)
k8s_taint_node向节点添加污点
k8s_untaint_node从节点中删除污点

吊舱操作(1个工具)

工具说明
k8s_pod_exec在容器中执行命令(支持引用参数)

机密和配置映射(6个工具)

工具说明
k8s_list_secret列出带有元数据的机密(为安全起见隐藏值)
k8s_get_secret_detail获取一个秘密;可选解码值
k8s_create_secret_resource创建新密钥(自动base64编码值)
k8s_list_configmap列出带有密钥名称的ConfigMap
k8s_get_configmap_detail获取包含完整数据内容的ConfigMap
k8s_create_configmap_resource创建新的ConfigMap

RBAC(5个工具)

工具说明
k8s_get_roles列出具有权限规则的RBAC角色
k8s_get_clusterroles列出RBAC集群角色
k8s_get_rolebindings列出角色清单(谁扮演什么角色)
k8s_get_clusterrolebindings列出集群角色组合
k8s_get_service_accounts列出服务帐户

存储(3个工具)

工具说明
k8s_get_pvcs列出持久卷索赔,包括状态、容量和存储类别
k8s_get_pvs列出具有容量和约束声明的持久卷
k8s_get_storage_classes列出带有配置符和默认状态的StorageClasses

网络(1个工具)

工具说明
k8s_get_network_policies列出带有pod选择器和规则计数的网络策略

作业管理(2个工具)

工具说明
k8s_get_jobs列出作业及其完成状态和时间
k8s_get_cronjobs列出CronJobs及其计划、挂起状态和上次运行时间

使用示例

群集运行状况检查

Give me a health overview of my production cluster.

多集群比较

Compare the number of pods running in the 'backend' namespace between my 'prod' and 'staging' contexts.

诊断应用程序问题

My deployment 'my-app' in the 'production' namespace is having issues. Can you diagnose what's wrong?

规模资源

Scale the 'backend' deployment in the 'default' namespace to 5 replicas.

资源管理

Delete the failed job 'data-migration-v1' in the 'batch' namespace.
Create a new namespace called 'staging' with the label environment=staging.

秘密管理

List all secrets in the 'production' namespace and show me the keys in the 'api-credentials' secret.

RBAC检查

Show me all role bindings in the 'default' namespace -- who has access to what?

存储概述

List all PVCs in the cluster and show which ones are Pending.

节点维护

Cordon node 'worker-3', drain it ignoring DaemonSets, then uncordon when maintenance is complete.

回滚部署

Roll back the 'api-gateway' deployment in the 'services' namespace to the previous version.

在Pod中执行

Run 'ls -la /app/config' inside the 'app' container of pod 'web-app-xyz' in the 'default' namespace.

创建资源

Create a new deployment with this YAML:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.27
        ports:
        - containerPort: 80

建筑

k8s-multicluster-mcp/
├── app.py                          # MCP server entry point & tool registration
├── src/
│   ├── utils/
│   │   ├── k8s_client.py           # Multi-cluster client with context caching
│   │   └── pluralize.py            # Kubernetes resource kind pluralization
│   └── tools/
│       ├── contexts.py             # Context listing
│       ├── namespaces.py           # Namespace listing
│       ├── namespace_management.py # Namespace create/delete
│       ├── nodes.py                # Node listing
│       ├── pods.py                 # Resource listing & pod logs
│       ├── resources.py            # Single resource retrieval
│       ├── events.py               # Event listing
│       ├── describe.py             # kubectl describe equivalent
│       ├── api_discovery.py        # API & CRD discovery
│       ├── metrics.py              # Node/pod metrics (top)
│       ├── diagnosis.py            # Application diagnostics
│       ├── cluster_health.py       # Cluster health summary
│       ├── rollouts.py             # Rollout management
│       ├── scaling.py              # Scale & autoscale & resource updates
│       ├── resource_management.py  # Create, apply, patch, label, annotate
│       ├── delete_resource.py      # Resource deletion
│       ├── workload_management.py  # Expose, run pod, set resources
│       ├── node_management.py      # Cordon, drain, taint
│       ├── pod_operations.py       # Exec into pods
│       ├── secret_configmap.py     # Secret & ConfigMap management
│       ├── rbac.py                 # Roles, bindings, service accounts
│       ├── storage_network.py      # PVC, PV, StorageClass, NetworkPolicy
│       └── job_management.py       # Jobs & CronJobs
├── requirements.txt
├── pyproject.toml
├── Dockerfile
└── smithery.yaml

v2.0.0的新增功能

  • 20+新工具:资源删除、命名空间管理、机密和配置、RBAC检查、存储和网络可见性、作业管理、集群健康摘要、pod创建
  • 错误修复:固定资源多元化(例如。, Ingress -> ingressesingresss),修复了pod exec命令拆分以处理引用参数,修复了超时参数处理
  • 演出:上下文发现现在使用具有直接上下文到文件映射的30秒TTL缓存,消除了冗余的文件扫描
  • 改进了工具描述:所有60+工具都有详细的描述,以更好地集成人工智能助手
  • 依赖关系清理:删除未使用的 fastapiuvicorn 依赖项
  • 安全:命名空间删除保护系统命名空间;默认情况下隐藏的秘密值

贡献

欢迎投稿!请随时提交拉取请求。

目录标签

目录标签

Kubernetes管理PythonClauderesearch-and-data本地部署多集群管理容器编排DevOps工具集群监控

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@smithery/cli

工具数量(toolCount,工具数)

35

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP