AWS Serverless MCP Server

AWS Serverless MCP Server

AWS Serverless MCP 伺服器是一個專用的 MCP 伺服器,它使 AI 應用程式和助手能與 AWS 無伺服器服務互動。它提供完整的無伺服器應用程式生命周期工具,例如:透過自然語言或程式介面使用 AWS SAM CLI 建立、部署和管理無伺服器應用程式。

Author: awslabs


查看協議

什麼是 AWS Serverless MCP 伺服器?

AWS Serverless MCP 伺服器是一個專用的模型上下文協議伺服器,讓用戶能夠在 AWS 上進行無伺服器開發。它允許 AI 代理或開發工具在 AWS Lambda、Amazon API Gateway、Step Functions 等無伺服器服務上協調工作流程和操作。透過標準化的 MCP 端點,它讓以 LLM 為基礎的應用程式能夠以程式方式建立、部署、測試和監控無伺服器應用程式,並在其背後使用最佳實踐和 SAM CLI。

如何配置 AWS Serverless MCP 伺服器

  • 先決條件:
    • 安裝 Python 3.10 或更高版本
    • uv 套件管理器(來自 Astral)
    • 配置有權限管理相關 AWS 無伺服器資源的 AWS 憑證
  • 安裝步驟:
    1. 安裝 uv
      pip install uv
      
    2. 如尚未安裝,則安裝 Python:
      uv python install 3.10
      
    3. 配置 AWS 憑證(使用 AWS CLI 或環境變數)。
    4. 更新您的 MCP 客戶端配置(例如:~/.aws/amazonq/mcp.json 或其他支援的配置檔),包括:
      {
        "mcpServers": {
          "awslabs.aws-serverless-mcp-server": {
            "command": "uvx",
            "args": ["awslabs.aws-serverless-mcp-server@latest"],
            "env": {
              "AWS_PROFILE": "your-aws-profile",
              "AWS_REGION": "us-east-1",
              "FASTMCP_LOG_LEVEL": "ERROR"
            }
          }
        }
      }
      
    5. 對於容器化的使用,構建並運行 Docker 映像(詳情請見伺服器的 README)。
    • 每個 MCP 客戶端(Amazon Q CLI、Cursor、Kiro 等)可能需要配置檔在不同的路徑。請參閱其文檔以獲取具體資訊。

如何使用 AWS Serverless MCP 伺服器

  1. 启动您的 MCP 客户端(例如 Amazon Q CLI、Cursor 或您选择的应用),并在配置中启用 AWS Serverless MCP 伺服器。
  2. 在您的聊天或编程界面中,要求您的 LLM 助手使用 Serverless MCP 伺服器进行无服务器任务。
    • 示例:“使用 AWS Serverless MCP 伺服器,创建并部署一个响应 S3 事件的 Lambda 函数。”
  3. 助手将利用可用的工具和端点,根据您的设置可能建议计划或自动执行命令。
  4. 您可能会被提示批准某些操作(例如:部署、更新资源或调用函数)。
  5. 在您的开发工作流程中查看日志、输出和建议的更改。
  6. 使用明确的指令来针对无服务器操作,或允许代理自动选择符合您需求的 MCP 工具。

主要功能

  • 生命周期管理: 支持使用 AWS SAM CLI 建立、打包、部署和更新無伺服器應用程式。
  • 多服務協調: 整合 Lambda、API Gateway、Step Functions、S3 觸發器等。
  • 安全性和驗證: 強制執行 AWS 安全實踐,並在部署前驗證模板。
  • 最新最佳實踐: 確保代碼生成和部署模式與最新的 AWS 無伺服器建議保持一致。
  • 工作流程自動化: 允許 LLM 自動執行函數創建、部署和監控等任務。
  • 自然語言操作: 使對話代理無需直接撰寫 CLI 或 CloudFormation 命令即可管理無伺服器基礎設施。
  • 與開發者工具的整合: 無縫配合 Amazon Q CLI、Cursor、Cline、VSCode、Kiro、Windsurf 等其他支持 MCP 的環境。

使用案例

  • 基於用戶或業務需求,自動生成並部署 Lambda 函數,這些需求以自然語言描述。
  • 建立、構建和部署端到端的無伺服器應用程式,包括 API Gateway 端點、Lambda 觸發器和 DynamoDB 整合。
  • 使用最佳實踐檢查來驗證和測試 SAM 或 CloudFormation 無伺服器模板。
  • 在最小人工干預下更新現有的無伺服器應用程式,利用最新功能和模式。
  • 通過查詢日誌或調用診斷函數來監控和排除已部署的無伺服器資源的故障。
  • 以互動方式教育開發者有關無伺服器架構和示例實現的知識,直接在其IDE或聊天助手中進行。

常見問題

Q1:我需要單獨安裝 AWS SAM CLI 來使用 AWS Serverless MCP 伺服器嗎?
不需要。AWS Serverless MCP 伺服器內部包裝了 AWS SAM CLI 的功能;除非您想在 MCP 工作流程之外直接使用它,否則不需要單獨安裝 SAM CLI。

Q2:我能使用 AWS Serverless MCP 伺服器進行生產部署嗎?還是主要用於開發?
雖然它已針對開發者生產力和快速原型設計進行了優化,但它使用與生產相同的工具和最佳實踐。不過,在推送到生產之前,您還是需要查看輸出結果並遵循組織的部署政策。

Q3:AWS Serverless MCP 伺服器如何確保安全性?
它遵循您的 AWS 憑證和權限,執行 AWS IAM 政策,並可以進行安全最佳實踐的驗證和角色範圍設定,以降低風險。請始終在批准之前查看部署計劃。

Q4:如果我需要訪問私有資源或運行自定義工作流程怎麼辦?
您可以使用您的 AWS 配置文件或憑證來配置環境,並指定資源角色或函數前綴/標籤,以精細控制可存取的 Lambda 函數或其他資源。

Q5:AWS Serverless MCP 伺服器支持哪些環境?
它支持所有支持 MCP 的客戶端,包括 Amazon Q CLI、Cursor、Cline、Kiro、Windsurf 和 Visual Studio Code(通過兼容的擴展)。