SuperAPI AI 工具集

mcp-openshift

mcp-openshift 是一个面向 OpenShift / Kubernetes 的 Model Context Protocol(MCP)服务器,默认采用安全优先的设计。它让 AI 代理能够探索和操作集群资源,包括项目(projects)、Pod、日志、Deployment 与 DeploymentConfig、Route、Service、Build、ImageStream,以及按 kind 访问的任意资源;在较高权限模式下还可扩缩容工作负载、重启 Deployment、应用清单和删除资源。认证支持从 Web 控制台复制的令牌(token),或使用用户名/密码对接集群内置的本地身份提供者(如 HTPasswd、LDAP 等)。该服务器提供多层安全机制:默认只读模式(read-only),通过 OPENSHIFT_MODE 可升级到 read-write 或 admin;支持命名空间允许列表与受保护命名空间;apply 和 delete 需要额外开关并经过人工确认;支持 dry-run;提供审计日志并对 Secret 值进行脱敏。它是 dockndevai MCP 服务器套件的一部分,套件共用统一的治理模型。

访问官网

工具介绍

用途

mcp-openshift 是一个 Model Context Protocol(MCP)服务器,用于让 AI 代理安全地探索和操作 OpenShift / Kubernetes 集群。它默认以只读模式启动,更高能力的工具只有在提高模式后才会被注册。

主要能力

代理可访问的资源包括:项目(projects)、Pod 与日志、Deployment 和 DeploymentConfig、Route、Service、Build、ImageStream,以及按 kind 访问的任意资源。在较高模式下,还能扩缩容工作负载、重启 Deployment、应用清单(apply manifests)和删除资源。

认证方式

需要集群的 API URL 和凭据。认证模式可自动选择,也可用 OPENSHIFT_AUTH 覆盖:

  • token:使用 OPENSHIFT_TOKEN(bearer)。可从 Web 控制台获取:点击右上角用户名 → Copy login command → Display Token,复制 --token= 后的值(sha256~…)以及 --server= 后的 URL;也可用 oc whoami -t 获取。控制台令牌有效期较短,过期后需重新获取。
  • password:使用 OPENSHIFT_USERNAME + OPENSHIFT_PASSWORD,对接集群内置的 OAuth 服务器(HTPasswd / LDAP / 任何支持 challenge 的本地 IdP)。服务器执行与 oc login -u … -p … 相同的请求令牌流程,将令牌缓存到 ~/.mcp-openshift/token.json(权限 0600),并在过期时自动重新登录。密码只发送到集群的 OAuth 端点,不会被记录或写入磁盘。 TLS:集群通常使用私有 CA,可设置 OPENSHIFT_CA_CERT 指向 CA 证书包,或在仅开发环境使用 OPENSHIFT_INSECURE_TLS=true 跳过验证。

安全机制(默认安全)

由 src/security.ts 实施,在账户的集群 RBAC 之上提供纵深防御:

  • OPENSHIFT_MODE:read-only(默认)→ read-write → admin。高于当前模式的工具不会被注册。
  • OPENSHIFT_NAMESPACE_ALLOWLIST / OPENSHIFT_PROTECTED_NAMESPACES:将写入限制在指定命名空间;系统命名空间(kube-、openshift、openshift-、default)可读但永不可变更。
  • OPENSHIFT_ALLOW_APPLY:创建/更新资源除 read-write 模式外还需此标志,并需人工确认。
  • OPENSHIFT_ALLOW_DELETE:删除除 admin 模式外还需此标志,并需人工确认。
  • OPENSHIFT_DRY_RUN:写入操作以 Kubernetes dryRun=All 发送,经过校验和准入检查,但不持久化。
  • 人工介入:apply、delete 和缩容到零会暂停,并通过 MCP elicitation 请求人工批准。
  • OPENSHIFT_AUDIT_LOG:每个受保护操作在 stderr 输出一行 JSON 审计记录;所有输出中的 Secret 值都会被脱敏。

可选 AI 风险防护

设置 OPENSHIFT_GUARD_MODE=monitor|enforce 后,apply_resource / delete_resource 会咨询本地 laya-guard 守护进程(安装:pipx install laya-guard && laya-guard),在执行前将操作分类为 allow/confirm/block。该步骤在 apply/delete 门禁之后运行,只会收紧、不会放宽权限,且失败即关闭(fails closed)。

适用场景

适合需要让 AI 代理对 OpenShift / Kubernetes 集群进行日常排查与操作的场景,例如查看项目和 Pod、读取日志、检查 Deployment 与 Route、服务与构建状态,以及在受控条件下执行扩缩容、重启、应用清单和删除等运维动作。

使用方式

需要提供集群 API URL 与凭据,并按需设置上述环境变量。仓库提供 docs/CLIENTS.md(面向 Claude Code / Cursor / Codex / VS Code / Windsurf)以及 .env.example 列出所有变量。仓库内置技能 openshift-safe-operations,用于教导代理如何认证(包括从浏览器控制台获取凭据)、安全规则以及标准排查与运维工作流。另可参阅 SECURITY.md。

限制

具体限制与完整配置细节暂未提供,需参考仓库内文档(docs/CLIENTS.md、SECURITY.md、.env.example)与源码。