MCP服务器管理器

K8s AIOps Copilot 的工具服务,统一管理多个 stdio MCP Server 并将其暴露为 HTTP SSE 端点,供 AIOps Agent 接入,支持 Kubernetes 操作、多集群转发和可观测性查询等场景。

  • by mumong
  • Python
  • 混合部署
  • 2 星标
  • 更新于
在 GitHub 查看 mumong/mcpServer-holmesgpt

使用说明

MCP Server Manager

English | 简体中文

目录

项目概述

K8s AIOps Copilot 的工具服务:把多个 stdio MCP Server 统一拉起,每个暴露成一个 HTTP SSE 端点,供 AIOps Agent 通过 mcp_servers 接入。

  • 一个 Pod、一份配置管理全部 MCP
  • 单集群直接访问本集群;多集群时 kubectl 经 xnet 隧道交给边缘 runner 执行
  • bash / kubectl 等执行类工具受高危命令规则约束,修复动作由 Agent 审批后执行

核心功能

内置工具

✔️ Kubernetes:get / describe / events / logs / top / 对象关系(k8s-core,8093)
✔️ 指标、日志、链路:PromQL 与 Pod 级观测查询(prometheus 8095、aiops-observability-query 8100)
✔️ Helm、受控 bash、连通性检查、Runbook 检索等(端口 8088–8100,见 deploy/configmap.yaml)

多集群

⚡ 每个工具多一个 cluster 参数,list_clusters 返回集群和在线状态
⚡ 指标和日志查中心的 VictoriaMetrics / VictoriaLogs,按 cluster 标签过滤
⚡ kubectl 由 bin/kubectl 替身经 xnet 转发到边缘 runner;helm 只在本集群

快速开始

环境要求

  • Kubernetes 集群,部署机有 make、kubectl
  • 镜像已发布在 xnet.registry.io:8443,无需构建
  • 三个服务(MCP、Agent、前端)一起部署的步骤见 Agent 仓库 README「快速开始」

部署

make deploy        # 单集群:apply + 滚动重启 + 等待就绪,失败自动回滚
make deploy-mc     # 多集群中心(先在 Agent 仓库执行 make mc-init)
make status        # 查看 Pod / Service / ConfigMap
make delete        # 卸载(保留命名空间)

修改配置或升级

vi deploy/configmap.yaml && make deploy                # 改工具地址、开关等配置
echo <新版本号> > VERSION && make build push deploy    # 改了代码

本地运行

python3 -m pip install -r requirements.txt
make run           # 或 make run-local(读取 config/mcp_config.local.yaml)
make check         # 语法检查 + 离线单元测试

架构设计

AIOps Agent ──SSE──> mcp-server-manager:<端口>/sse ──> mcp-proxy ──> stdio MCP Server ──> K8s API / Prometheus / VictoriaMetrics …
                                                                    └─(多集群) bin/kubectl ──xnet 隧道──> 边缘 runner

文档

文档 内容
使用与运维 配置方式、端口同步、namespace 变更、AIOps 接入、验证、Makefile、常见问题
扩展新 MCP 添加第三方或本地工具
Pod 观测查询 查询工具与 Fact Ledger 合同

许可证

Apache License 2.0。第三方代码保留各自的许可证。