项目简介

本项目是一个使用 AWS Cloud Development Kit (CDK) 构建的基础设施项目,旨在帮助用户在 AWS 云平台上快速部署和运行 Mastra Agent 以及 Playwright MCP 服务器。通过结合 Mastra Agent 的 LLM 能力和 Playwright MCP 服务器的浏览器自动化能力,可以构建强大的基于云端的自动化应用和 LLM 上下文服务。

核心组件:

  • Mastra Agent: 作为一个智能体,利用 LLM 与 Playwright MCP 服务器进行交互,执行浏览器自动化任务。
  • Playwright MCP Server: 作为 MCP 协议的服务端实现,提供浏览器操作和上下文信息管理能力,供 Mastra Agent 调用。
  • AWS ECS & Fargate: 用于容器化部署 Mastra Agent 和 Playwright MCP 服务器,提供可扩展和高可用的运行环境。
  • AWS Bedrock: 提供 LLM 模型服务,Mastra Agent 可以利用 Bedrock 的模型进行智能决策和文本生成。

主要功能点:

  • 云端部署: 通过 AWS CDK 自动化部署 Mastra Agent 和 Playwright MCP 服务器到 AWS 云平台。
  • 浏览器自动化: 利用 Playwright MCP 服务器提供的丰富 API,实现网页浏览、信息抓取、表单填写、网页交互等自动化操作。
  • LLM 上下文服务: Mastra Agent 可以作为 LLM 的上下文提供者,利用 Playwright MCP 服务器获取网页内容和状态,为 LLM 应用提供实时的网页上下文信息。
  • 可扩展性: 基于 AWS ECS 和 Fargate 部署,易于扩展和管理,满足不同规模的应用需求。
  • 开箱即用: 提供完整的 CDK 代码和配置,用户可以快速部署和体验云端 MCP 服务。

安装步骤

  1. 环境准备:

    • 安装 Node.js (v20 或更高版本) 和 npm。
    • 安装 AWS CDK CLI (v2 或更高版本)。
    • 安装 Docker (v20 或更高版本)。
    • 配置 AWS 访问密钥和 Secret 密钥,确保 CDK CLI 可以访问您的 AWS 账户。
  2. 克隆仓库:

    git clone https://github.com/tsukuboshi/mastra-playwright-mcp-with-aws.git
    cd mastra-playwright-mcp-with-aws
  3. 安装依赖:

    npm ci
  4. 配置环境变量: 复制 'app/.env.development.example' 文件并重命名为 'app/.env.development',根据需要修改以下环境变量:

    REGION=您的 AWS 区域 (例如: us-east-1)
    BEDROCK_MODEL=您要使用的 Amazon Bedrock 模型 ID (例如: amazon.nova-pro-v1:0)
    ACCESS_KEY_ID=您的 AWS 访问密钥 (本地开发可选)
    SECRET_ACCESS_KEY=您的 AWS Secret 密钥 (本地开发可选)
    SESSION_TOKEN=您的 AWS Session Token (本地开发可选)

    注意: 在生产环境中,建议使用 IAM 角色来管理 AWS 凭证,而不是硬编码访问密钥。

  5. 部署到 AWS:

    npm run cdk:deploy

    首次部署可能需要先执行 'npm run cdk:bootstrap' 命令进行环境引导。部署过程可能需要一些时间,请耐心等待。

  6. 访问服务: 部署成功后,CDK 会输出 Application Load Balancer (ALB) 的 DNS 名称。您可以通过 ALB 的 DNS 名称访问 Mastra Agent 和 Playwright MCP 服务器。具体访问方式请参考 Mastra Agent 和 Playwright MCP 服务器的文档。

服务器配置 (MCP Client 配置)

对于需要连接 Playwright MCP 服务器的 MCP 客户端,您需要配置服务器的启动命令和参数。本项目中 Playwright MCP 服务器的配置信息如下:

{
  "servers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest",
        "--headless"
      ]
    }
  }
}

配置参数说明:

  • servers: 定义可用的 MCP 服务器列表。
  • playwright: 服务器名称,可以自定义。
  • command: 启动服务器的命令,这里使用 'npx' 来运行 npm 包。
  • args: 传递给服务器命令的参数列表。
    • '@playwright/mcp@latest': 指定要运行的 Playwright MCP 服务器 npm 包,'@latest' 表示使用最新版本。
    • '--headless': 以 headless 模式运行 Playwright 浏览器,不显示图形界面。

基本使用方法:

  1. 启动 MCP 客户端: 根据您使用的 MCP 客户端的文档,配置上述服务器信息,并启动客户端。
  2. 连接 Playwright MCP 服务器: MCP 客户端会根据配置信息连接到部署在 AWS 云平台上的 Playwright MCP 服务器。
  3. 使用 Mastra Agent: 通过 Mastra Agent 与 Playwright MCP 服务器进行交互,执行浏览器自动化任务。具体的 API 调用和使用方法请参考 Mastra Agent 和 Playwright MCP 服务器的文档。

信息

分类

开发者工具