AWS Serverless MCP Server

AWS Serverless MCP Server

AWS Serverless MCP Server 是一个专门的 MCP 服务器,使 AI 应用和助手能够与 AWS 无服务器服务进行交互。它提供了支持无服务器应用整个生命周期的工具,比如使用 AWS SAM CLI 通过自然语言或程序化接口构建、部署和管理无服务器应用。

Author: awslabs


查看协议

什么是 AWS Serverless MCP Server?

AWS Serverless MCP Server 是一个专用的模型上下文协议服务器,提供 AWS 上无服务器开发的能力。它允许 AI 代理或开发工具在 AWS Lambda、Amazon API Gateway、Step Functions 及其他无服务器服务上进行工作流和操作的协调。通过标准化的 MCP 端点,它使基于大型语言模型的应用可以程序化地构建、部署、测试和监控无服务器应用,背后使用最佳实践和 SAM CLI。

如何配置 AWS Serverless MCP Server

  • 前提条件:
    • 安装 Python 3.10 或更高版本
    • 安装 uv 包管理器(来自 Astral)
    • 配置具有管理相关 AWS 无服务器资源权限的 AWS 凭证
  • 安装步骤:
    1. 安装 uv
      pip install uv
      
    2. 如果没有安装 Python,安装 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 Server

  1. 启动您的 MCP 客户端(例如,Amazon Q CLI、Cursor 或您选择的应用),并在配置中启用 AWS Serverless MCP Server。
  2. 在聊天或编码界面中,提示您的 LLM 助手使用 Serverless MCP Server 进行无服务器任务。
    • 例子:"使用 AWS Serverless MCP Server,创建并部署一个响应 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 无服务器模板。
  • 在最小人工干预下,更新现有无服务器应用,利用最新功能和模式。
  • 通过查询日志或调用诊断函数监控和排查已部署的无服务器资源。
  • 直接在开发环境或聊天助手中,以互动方式教育开发人员有关无服务器架构和示例实现。

常见问题解答

问1:我需要单独安装 AWS SAM CLI 才能使用 AWS Serverless MCP Server 吗?
不需要。AWS Serverless MCP Server 在内部封装了 AWS SAM CLI 的功能;除非您想在 MCP 工作流外直接使用它,否则无需单独安装 SAM CLI。

问2:我可以将 AWS Serverless MCP Server 用于生产部署,还是主要用于开发?
虽然它优化了开发人员的生产力和快速原型化,但它使用的工具和最佳实践与生产推荐的一样。然而,在推送到生产之前,您应查看输出并遵循组织的部署政策。

问3:AWS Serverless MCP Server 如何确保安全性?
它尊重您的 AWS 凭证和权限,遵循 AWS IAM 政策,并可以包括安全最佳实践验证和角色范围,以降低风险。在批准之前,始终查看部署计划。

问4:如果我需要访问私有资源或运行自定义工作流怎么办?
您可以配置环境以使用您的 AWS 个人资料或凭证,并指定资源角色或函数前缀/标签,以对可访问的 Lambda 函数或其他资源进行细粒度控制。

问5:AWS Serverless MCP Server 兼容哪些环境?
它支持所有支持 MCP 的客户端,包括 Amazon Q CLI、Cursor、Cline、Kiro、Windsurf 和 Visual Studio Code(通过兼容的扩展)。