Token导航 LogoToken导航

MCP Server · 运维云端

Platform MCP Server (Dudick123)

Platform MCP Server是一个通过Model Context Protocol向AI助手暴露AKS操作数据的工具,为平台工程师提供对多租户AKS集群的监控、诊断和升级跟踪的自然语言访问。

stdio官方级别未说明来源级核验工具 6
PythonClaude性能分析CursorVS Code

快速开始

作者 / 组织
dudick123
提供方
dudick123
运行时
Python

工具数量

6

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Platform MCP Server (Dudick123) 属于运维云端类 MCP Server,公开资料标注 6 个工具,通过stdio 本地进程接入,适配 Claude、Cursor、VS Code,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

运维云端

传输方式

stdio

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

安装命令

python -m platform_mcp_server.server

客户端配置示例

{
  "mcpServers": {
    "platform-mcp-server": {
      "command": "python",
      "args": [
        "-m",
        "platform_mcp_server.server"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 6 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

平台MCP服务器

通过以下方式将AKS操作数据暴露给AI助手 模型上下文协议.

Platform MCP Server为平台工程师提供了跨多租户AKS车队进行监控、诊断和升级跟踪的自然语言访问权限,而无需离开他们的人工智能助手。

特性

  • 节点池压力 --CPU/内存利用率、挂起的Pod和每个池的自动缩放器净空
  • Pod健康诊断 --通过OOMKill检测按故障类别(调度、运行时、注册表、配置)分组的失败和挂起的Pod
  • Kubernetes升级状态 --控制平面和节点池版本、可用升级、弃用版本警告
  • 升级进度跟踪 --每个节点状态(升级/升级/封锁/停滞)、经过的时间、估计剩余时间、异常标志
  • 升级持续时间指标 --Azure活动日志中P90基线的当前和历史计时
  • PDB升级风险 --对可能堵塞节点排水的PodDisruption预算进行飞行前和实时检测
  • 全车队查询 --通行证 cluster="all" 在所有6个集群中并行展开
  • LLM安全输出 --结构化JSON,无堆栈跟踪,敏感数据自动清除

建筑

┌─────────────────────────────────────────────────────────┐
│  AI Assistant (Claude, Cursor, etc.)                    │
│                        ▲                                │
│                        │ stdio (MCP protocol)           │
│                        ▼                                │
│  ┌──────────────────────────────────────────────────┐   │
│  │  Platform MCP Server                             │   │
│  │                                                  │   │
│  │  server.py ─── FastMCP tool registration         │   │
│  │      │                                           │   │
│  │  tools/    ─── One tool per module               │   │
│  │      │         (node_pools, pod_health, ...)     │   │
│  │      │                                           │   │
│  │  clients/  ─── One client per API surface        │   │
│  │      │         (k8s_core, k8s_metrics, azure)    │   │
│  │      │                                           │   │
│  │  models.py ─── Pydantic v2 I/O schemas           │   │
│  │  config.py ─── Cluster map & thresholds          │   │
│  └──────────────────────────────────────────────────┘   │
│                  │                    │                  │
│         Kubernetes APIs         Azure ARM APIs          │
│     (Core, Metrics, Policy,    (AKS, Activity Log)      │
│          Events)                                        │
└─────────────────────────────────────────────────────────┘

关键设计决策:

  • 只读 --无写入操作;可以安全地接触人工智能助手
  • stdio传输 --无网络监听;作为每个工程师的本地子流程运行
  • 每个模块一个工具 --每个工具都是可独立测试和部署的
  • 结构化错误 --Pydantic ToolError 模型用可操作的消息替换堆栈跟踪
  • 优雅降级 --当单个数据源失败时返回部分结果

先决条件

  • Python 3.14+
  • 紫外线 包管理器
  • Azure CLI已通过身份验证(az login)
  • Kubeconfig为您的AKS集群提供上下文(az aks get-credentials)

入门

1.克隆并安装

git clone https://github.com/dudick123/platform-mcp-server.git
cd platform-mcp-server
uv sync

2.配置集群

复制示例集群配置并填写您的真实Azure订阅ID:

cp clusters.example.yaml clusters.yaml
# Edit clusters.yaml and replace  placeholders with real UUIDs

这 clusters.yaml 文件被git忽略,因此凭据永远不会被提交。您可以用以下命令覆盖文件路径 PLATFORM_MCP_CLUSTERS 环境变量。

3.身份验证

az login
az aks get-credentials --resource-group rg-dev-eastus --name aks-dev-eastus
# Repeat for each cluster

4.运行服务器

python -m platform_mcp_server.server

服务器使用MCP协议从stdin读取并写入stdout。日志将转到stderr。

客户端集成

克劳德桌面版

添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "platform-mcp-server": {
      "command": "uv",
      "args": [
        "run", "--directory", "/path/to/platform-mcp-server",
        "python", "-m", "platform_mcp_server.server"
      ]
    }
  }
}

克劳德代码

添加到您的项目 .mcp.json:

{
  "mcpServers": {
    "platform-mcp-server": {
      "command": "uv",
      "args": [
        "run", "--directory", "/path/to/platform-mcp-server",
        "python", "-m", "platform_mcp_server.server"
      ]
    }
  }
}

VS代码/光标

通过编辑器中的MCP服务器设置进行配置,指向相同的 uv run 命令。

工具参考

check_node_pool_pressure

检查群集中节点池的CPU和内存压力。

cluster: "prod-eastus"  # or "all" for fleet-wide

返回每个池的CPU请求比率、内存请求比率、挂起的pod计数、就绪/最大节点计数和压力水平(ok, warning, critical).

get_pod_health

获取失败和挂起的Pod的诊断。

cluster: "prod-eastus"
namespace: "default"        # optional — omit for all namespaces
status_filter: "all"        # "pending", "failed", or "all"

返回按故障类别分组的Pod,其中包含重启计数、事件上下文和OOMKill检测。上限为50个豆荚。

get_kubernetes_upgrade_status

获取Kubernetes版本并升级可用性。

cluster: "all"  # fleet-wide version table

返回控制平面版本、每个池的版本、可用升级、支持状态和正在进行的升级检测。

get_upgrade_progress

在升级过程中跟踪每个节点的进度。

cluster: "prod-eastus"
node_pool: "system"     # optional — omit for all pools

返回每个节点的状态(upgraded, upgrading, cordoned, pdb_blocked, pending, stalled)、经过/估计时间和异常标志。

get_upgrade_duration_metrics

获取当前和历史升级时间。

cluster: "prod-eastus"
node_pool: "system"
history_count: 5        # 1–50, number of historical records

返回当前运行时间、来自事件API的每个节点计时以及来自活动日志的平均/P90/min/max的历史持续时间。

check_pdb_upgrade_risk

检查可能阻止升级的播客中断预算风险。

cluster: "prod-eastus"
node_pool: "system"         # optional — omit for cluster-wide
mode: "preflight"           # "preflight" or "live"
  • 预检 --在开始升级之前,评估所有PDB的排水堵塞风险
  • 生活 --识别当前阻止在封锁节点上驱逐的PDB

使用示例

连接到AI助手后,使用自然语言进行交互:

“检查所有生产集群的节点池压力” 助理打来电话 check_node_pool_pressure(cluster="all") 并返回每个池的CPU/内存利用率摘要,突出显示处于警告或关键级别的任何池。
“staging eastus的默认命名空间中是否有任何失败的Pod?” 助理打来电话 get_pod_health(cluster="staging-eastus", namespace="default") 并按故障类别对结果进行分组——调度问题、图像拉取错误、OOMKill等。
“舰队中运行着哪些Kubernetes版本?” 助理打来电话 get_kubernetes_upgrade_status(cluster="all") 并呈现了一个版本表,显示了每个集群的控制平面版本、节点池版本和可用升级。
“prod-eastus升级似乎停滞不前。发生了什么事?” 助理打来电话 get_upgrade_progress(cluster="prod-eastus") 要显示每个节点的状态,则 check_pdb_upgrade_risk(cluster="prod-eastus", mode="live") 以识别任何堵塞排水管的PDB。
“prod-eastus上的系统池最近5次升级花了多长时间?” 助理打来电话 get_upgrade_duration_metrics(cluster="prod-eastus", node_pool="system", history_count=5) 并返回具有P90基线的定时摘要。

配置

阈值可以通过环境变量进行配置:

变量默认值描述
PRESSURE_CPU_WARNING75触发警告的CPU请求比率(%)
PRESSURE_CPU_CRITICAL90触发临界的CPU请求比率(%)
PRESSURE_MEMORY_WARNING80触发警告的内存请求比率(%)
PRESSURE_MEMORY_CRITICAL95触发临界的内存请求比率(%)
PRESSURE_PENDING_PODS_WARNING1等待吊舱计数以触发警告
PRESSURE_PENDING_PODS_CRITICAL10等待吊舱计数以触发临界值
UPGRADE_ANOMALY_MINUTES60升级被标记为停滞前几分钟
PLATFORM_MCP_CLUSTERSclusters.yaml集群配置YAML文件的路径

项目结构

clusters.example.yaml          # Template cluster configuration (copy to clusters.yaml)
src/platform_mcp_server/
├── server.py              # MCP entry point and tool registration
├── config.py              # Cluster YAML loader and thresholds
├── models.py              # Pydantic v2 I/O schemas
├── validation.py          # Input validation (namespace, node pool, mode)
├── utils.py               # Shared utilities (timestamp parsing)
├── tools/
│   ├── node_pools.py      # check_node_pool_pressure
│   ├── pod_health.py      # get_pod_health
│   ├── k8s_upgrades.py    # get_kubernetes_upgrade_status
│   ├── upgrade_progress.py# get_upgrade_progress
│   ├── upgrade_metrics.py # get_upgrade_duration_metrics
│   ├── pdb_check.py       # check_pdb_upgrade_risk
│   └── pod_classification.py  # Shared failure categorization
└── clients/
    ├── k8s_core.py        # Nodes, pods, namespaces (Core v1)
    ├── k8s_metrics.py     # CPU/memory usage (metrics.k8s.io)
    ├── k8s_events.py      # Upgrade and pod events (Core v1)
    ├── k8s_policy.py      # PodDisruptionBudgets (policy/v1)
    └── azure_aks.py       # Cluster info, versions, activity log

发展

设置

uv sync
uv run pre-commit install

运行检查

uv run ruff check .                         # Lint
uv run ruff format --check .                # Format check
uv run mypy src/                            # Type check (strict mode)
uv run bandit -c pyproject.toml -r src/     # Security scan
uv run pytest --cov --cov-report=term       # Tests with coverage (90% minimum)

CI管道

GitHub操作工作流(.github/workflows/ci.yml)每次推都会跑 main 以及拉取请求。它运行两个并行作业:

  • 棉绒 --ruff检查,ruff格式,mypy严格,土匪安全扫描
  • 测试 --具有覆盖强制的pytest(≥90%)

Dev容器

VS Code包含一个开发容器配置。打开仓库并选择 “在容器中重新打开” 用于使用Python、uv、Azure CLI和kubectl的预配置环境。你的 ~/.azure 和 ~/.kube 目录是以只读方式挂载的。

\[!注意\] 服务器使用 仅限stdio传输 --它作为每个工程师的本地子进程运行,不公开网络侦听器。所有操作都是只读的。

工具与能力

工具数量

6

资源数量

0

提示词数量

0

能力标签

Kubernetes监控Python本地部署AKS诊断AI助手集成升级跟踪性能分析

支持客户端

ClaudeCursorVS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 6 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、Cursor、VS Code,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Platform MCP Server (Dudick123)

MCP World · 本页

6stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Platform MCP Server (Dudick123) 怎么安装?

公开资料给出的安装命令是 python -m platform_mcp_server.server,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Platform MCP Server (Dudick123) 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Platform MCP Server (Dudick123) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Platform MCP Server (Dudick123) 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Platform MCP Server (Dudick123) 支持哪些客户端?

公开资料标注支持 Claude、Cursor、VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP