SRE代理服务

专注于Kubernetes的SRE代理服务,提供指标、日志和调查工作流管理。

  • by KhanhLe04
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 KhanhLe04/mcp-sre-agent

使用说明

mcp-sre代理

SRE专注于Kubernetes、指标、日志和调查工作流程的MCP服务器。

现有基础

  • uv-托管Python包
  • src/ 布局
  • 应用程序、适配器、域、服务器、存储和工作流的基本包模块
  • 本地 skills/ 为特定项目的Codex技能保留的文件夹

计划实施顺序

  1. 共享配置和域架构
  2. Kubernetes集群服务器
  3. Prometheus度量服务器
  4. 调查工作流程
  5. 日志和部署相关性

当前使用情况

配置优先级:

  1. 显式过程环境变量
  2. 本地 .env 文件
  3. 默认值 src/mcp_sre_agent/app/config.py

通过stdio运行集群MCP服务器:

uv run mcp-sre-agent cluster

通过Streamable HTTP运行集群MCP服务器:

uv run mcp-sre-agent cluster --transport streamable-http

需要时重写kube上下文:

MCP_KUBE_CONTEXT=my-context uv run mcp-sre-agent cluster

需要时指向特定的kubeconfig文件:

MCP_KUBECONFIG=/path/to/config uv run mcp-sre-agent cluster

服务器还接受标准回退环境名称 KUBECONFIG 和 KUBE_CONTEXT. MCP_* 仍然优先,应该继续作为项目标准。

在启动时,集群服务器会记录一个经过净化的Kubernetes自检,报告是否 MCP_KUBECONFIG, MCP_KUBE_CONTEXT, KUBECONFIG,以及 KUBE_CONTEXT 为正在运行的服务器进程定义。

覆盖本地、Docker或Kubernetes部署的HTTP绑定设置:

MCP_HOST=0.0.0.0 MCP_PORT=8080 MCP_STREAMABLE_HTTP_PATH=/mcp uv run mcp-sre-agent cluster --transport streamable-http

可用的服务器环境设置:

  • MCP_HOST
  • MCP_PORT
  • MCP_STREAMABLE_HTTP_PATH
  • MCP_SSE_PATH
  • MCP_MESSAGE_PATH
  • MCP_DEFAULT_TRANSPORT
  • MCP_DEFAULT_SERVER
  • MCP_LOG_LEVEL
  • MCP_KUBECONFIG
  • MCP_KUBE_CONTEXT

兼容性回退:

  • KUBECONFIG
  • KUBE_CONTEXT

群集服务器工具

集群服务器为Kubernetes操作提供了以下工具:

工具 目的
list_nodes 列出所有节点及其准备状态和运行时详细信息
get_node 按名称获取一个节点
list_namespace_pods 在一个命名空间中列出Pod
find_workloads 发现服务/部署/状态集/守护进程
get_pod_status 获取pod运行状况摘要
get_deployment_status 获取部署推出状态
get_statefulset_status 获取状态集推出状态
get_daemonset_status 获取守护进程启动卷展状态
list_workload_pods 列出工作负载/服务后面的Pod
get_workload_health 获取汇总的工作负载运行状况
create_pod 创建一个具有详细规格的pod
create_deployment 创建具有副本管理的部署

看 docs/kubernetes-cluster-mcp.md 了解工具详细信息。