AKS-MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • AKS-MCP 是一个完整的 MCP 服务器实现,旨在为 AI 助手(如 Copilot、Claude 等)提供对 AKS 集群的上下文信息、数据资源和外部工具的访问能力。它通过 JSON-RPC/HTTP 风格的通信与客户端协作,支持通过不同传输协议与客户端建立会话、执行操作、渲染和提供 Prompt 模板。
    • 服务器核心职责包括:
      • 托管并管理 Resources(如 AKS 集群、VNet、子网、NSG、LB、VMSS 等 Azure 资源),提供数据访问能力。
      • 注册和执行 Tools,允许 LLM 调用外部功能(如 Azure/Kubernetes 操作、监控、Fleet、诊断等)。
      • 定义与渲染 Prompt 模板,支持可定制的 LLM 交互模式。
      • 与客户端通过 JSON-RPC 进行资源读取、工具调用、Prompts 获取等请求交互,具备会话管理和能力声明能力。
      • 多传输协议支持:stdio、SSE、streamable-http,便于在本地、远端和嵌入式场景使用。
  • 主要功能点

    • MCP 核心协议实现:接收 MCP 请求、路由到资源、工具或模板渲染逻辑,返回 MCP 风格的 JSON-RPC 响应。
    • 资源与数据访问:对 AKS/Azure 资源进行读写操作的封装与暴露。
    • 工具注册与执行:统一工具、专业工具与 Kubernetes 组件的适配器,支持同一框架下的执行与 telemetry 记录。
    • Prompt 定义与渲染:提供可定制的对话提示模板,支持多种交互模式。
    • 会话与能力声明:在启动时声明服务器能力,提供会话管理与状态查询。
    • 安全与认证:支持 Azure CLI 登录、Workload Identity、托管身份以及 OAuth(在非 stdio 模式下开启)等多种认证路径。
    • 部署与扩展性:提供在集群内部署(Helm 图、Remote MCP、In-cluster 部署)以及在本地/容器环境下的开发和测试方案。
    • 客户端适配:通过 MCP 客户端配置,连接到服务器启动和会话。
  • 安装步骤(简明可操作)

    1. 依赖准备
      • 需要 Go 1.24.x 及以上、Docker、可选的 Kubernetes/AKS 客户端工具等。项目提供了 Makefile 以简化构建、测试和打包流程。
    2. 编译与运行
      • 在仓库根目录执行编译(推荐使用 Makefile 提供的快捷命令):
        • 运行本地开发服务器:./aks-mcp --transport stdio
      • 也可以以容器方式运行,通过 Docker 或 Helm Chart 部署到 AKS 集群(详见 README 的“Deploy the MCP server in-cluster”章节)。
    3. 连接 MCP 客户端
      • MCP 客户端需要配置一个 MCP 服务器连接,常见方式是在客户端侧提供一个配置,指向服务器可用的启动命令和参数(见下方的“服务器配置”示例)。通常客户端只需要知道服务器的地址/端口,以及传输方式即可启动连接。
    4. 集群部署(可选)
      • 通过 Helm Chart 将 AKS-MCP 部署到 AKS 集群,结合 Azure OAuth、Fleet、AKS 操作等组件进一步扩展能力。
  • 服务器配置(MCP 客户端连接用,示例以 JSON 形式给出,实际使用请按 MCP 客户端的要求整理)

    • 服务器名称:aks-mcp
    • 启动命令(command):路径指向已编译的 aks-mcp 二进制
    • 参数(args):缺省传输为 stdio 的示例为 ["--transport","stdio"]
    • 注释:该配置用于 MCP 客户端连接服务器并建立会话,MCP 客户端一般不需要硬编码实现细节,仅需知道服务器的启动命令和参数即可连接,实际参数可根据部署环境调整,例如在容器/远端部署时可改为启动参数
    • JSON 配置示例(文本描述,不作为代码块展示): { "servers": { "aks-mcp-server": { "type": "stdio", "command": "<aks-mcp 二进制路径>", "args": [ "--transport", "stdio" ] } // 如需端对端测试,可替换为 sse/streamable-http 的启动参数组合 } }
  • 基本使用方法

    • 启动后,你可以通过 MCP 客户端发送读取资源、调用工具、获取 Prompts 等操作,服务器将按 MCP 标准返回 JSON-RPC 风格的响应。
    • 主要传输模式说明:
      • stdio:直接在同一进程/终端下通讯,适合本地开发与调试。
      • SSE:通过服务端事件流进行持续通信,适合远程连接和流式响应。
      • streamable-http:基于 HTTP 的流式传输,结合 HTTP/2 的流特性实现低延迟交互。
    • 安全与认证在配置中可开启 OAuth、Azure CLI 登录、Managed Identity 等,具体路径请参考 README 的授权部分。
  • 关键词 AKS, Azure, Kubernetes, 资源管理, 工具执行

  • 分类ID 1

服务器信息