Amazon EKS MCP Server

Amazon EKS MCP Server

Amazon EKS MCP 伺服器是一個專門的 MCP 伺服器,啟用生成式 AI 模型在 AWS 上透過標準化、安全和可擴展的 MCP 工具創建、管理和互動 Kubernetes 集群。

Author: awslabs


查看協議

什麼是 Amazon EKS MCP 伺服器?

Amazon EKS MCP 伺服器提供一個標準化的 API 介面,讓驅動大型語言模型 (LLM) 的代理和自動化工具無縫地管理 AWS 彈性 Kubernetes 服務 (EKS) 集群和 Kubernetes 資源,透過模型上下文協議 (MCP)。它將 AWS 特定的複雜性和 Kubernetes 操作抽象化,後面配有易於發現的工具,讓雲原生管理對代碼助手和互動應用程式都能輕鬆運用。

如何配置

  1. 前提條件

    • 確保安裝了 Python 3.10 或更高版本(建議透過 uv 安裝)。
    • 設定 AWS 憑證(透過配置檔或環境變數),並獲得足夠的權限來管理 EKS、VPC、IAM、CloudFormation 和相關服務。
  2. 安裝伺服器

    • 在你的 MCP 客戶端設置中添加以下配置(例如 mcp.jsoncline_mcp_settings.json):
      {
        "awslabs.eks-mcp-server": {
          "command": "uvx",
          "args": ["awslabs.eks-mcp-server@latest"],
          "env": {
            "AWS_PROFILE": "your-aws-profile",
            "AWS_REGION": "us-east-1",
            "FASTMCP_LOG_LEVEL": "ERROR"
          }
        }
      }
      
    • 根據你的 AWS 環境調整 AWS_PROFILEAWS_REGION
  3. 權限和安全性

    • IAM 憑證必須允許完整或範圍內的 EKS 行政管理、VPC、CloudFormation 和 Kubernetes API 存取。
    • 如有需要,可以透過環境變數或工具參數配置只讀模式和敏感數據控制(詳見伺服器文檔以獲取高級設置)。
  4. 啟動伺服器

    • MCP 客戶端或協調者(例如 Cline、Cursor、Windsurf)將按照你的配置啟動 EKS MCP 伺服器。

如何使用

  1. 發現工具

    • 使用你的 MCP 啟用客戶端列出可用的 EKS MCP 工具(通常透過 tools/list 或客戶端命令面板)。
    • 工具是類似函數的命令,如 create_eks_clusterapply_k8s_manifest 等。
  2. 調用工具

    • 使用所需參數調用所需的工具(可以在對話中互動、透過代碼助手或自動流程)。
    • 範例:「在 us-east-1 地區建立一個名為 'test-cluster' 的新 EKS 集群,使用 EKS MCP 伺服器。」
    • 客戶端將提示你輸入工具參數,驗證權限/批准,並執行請求的操作。
  3. 監控與反饋

    • 使用工具如 get_pod_logsget_cloudwatch_metrics 來分析工作負載、故障排除應用程式以及監控集群——直接在你的 AI 助手或應用中接收結果。
  4. 安全控制

    • 如你的工作流程要求更高控制,則可透過啟用只讀模式或限制敏感操作來限制操作。
  5. 與其他 MCP 伺服器結合使用

    • 通過利用 EKS MCP 與 VPC、IAM、CI/CD、數據庫或成本分析工具協同操作,來組織端到端的雲工作流程。

主要特點

  • EKS 集群管理:創建、配置、更新和刪除 Amazon EKS 集群,包括完整的 VPC 和網絡設置、CloudFormation 協調,及滾動升級。
  • Kubernetes 資源生命周期:使用清楚定義的工具端點應用、更新、列出或刪除 Kubernetes 清單和資源。
  • 應用部署:生成並部署容器化工作負載的清單,並內建參數化和最佳實踐。
  • 運營支持:訪問實時和歷史日誌、事件和集群健康指標,包括直接的 CloudWatch 集成。
  • 安全與權限:支持 IAM 基於的身份驗證/授權、敏感數據訪問控制及可選的只讀操作。
  • 可自定義模式:透過配置或環境變數微調伺服器設置(例如日誌、訪問級別、自動批准),以滿足你的工作流程和合規要求。

使用案例

  • 自動化 EKS 集群配置:讓 AI 編碼助手作為 DevOps 工作流或 CI/CD 管道的一部分來啟動或拆除整個 EKS 集群。
  • 聲明式基礎設施更新:使用提示驅動的界面生成並應用 Kubernetes 資源清單,快速迭代應用。
  • 多階段應用部署:最小的手動介入完成微服務或網頁應用的部署、擴展和回滾。
  • 透明故障排除:以自然語言或互動筆記本環境檢索 Pod 日誌、事件流和集群/狀態指標。
  • 訓練、示範和沙盒:為測試、示範和教育用途提供短暫集群或命名空間——簡單拆除以控制成本。
  • 安全意識操作:採用只讀或受限模式來處理 QA、審核或檢查場景—確保對敏感生產資源的保護。

常見問題

Q1: 我可以使用 EKS MCP 伺服器管理跨多個 AWS 帳戶或區域的集群嗎?

可以,你可以配置伺服器使用不同的 AWS 配置檔和區域。每個伺服器實例皆使用指定憑證/環境變數的權限和上下文運作。

Q2: 伺服器如何處理敏感操作,如刪除集群或修改 IAM 權限?

默認情況下,操作需要明確調用及用戶批准(除非啟用了自動批准)。敏感操作可以受到限制,或需要額外參數。為安全起見,也提供只讀模式。

Q3: 如果我的 AWS 憑證過期或權限不足會怎麼樣?

伺服器將向你的客戶端回報權限錯誤。為確保操作不間斷,請確認憑證有效,且你的 IAM 角色或用戶擁有所有必要的 EKS、Kubernetes 及相關 AWS API 權限。

Q4: 我可以為不同的環境運行多個 EKS MCP 伺服器實例嗎?

當然可以。每個伺服器都可以為不同的 AWS 環境(開發、測試、生產)進行獨立配置,並擁有不同的配置檔/區域。

Q5: 伺服器支持自定義 Kubernetes 資源定義 (CRD) 嗎?

是的,只要提供有效的清單,伺服器就可以使用相關工具端點應用、更新或刪除自定義 K8s 資源。