使用说明
项目简介
本项目展示了如何使用 Model Context Protocol (MCP) 将 Amazon Nova Act 的 Web 自动化能力以标准化的方式暴露给大型语言模型 (LLM)。通过部署此 MCP 服务器,LLM 客户端(如 Claude Desktop)可以调用 Nova Act 提供的浏览器自动化工具,实现网页浏览、数据抓取、表单填写等功能,从而扩展 LLM 在 Web 环境中的应用能力。
主要功能点
- 标准化 LLM 集成: 通过 MCP 协议,实现与各类 LLM 客户端的标准化对接,即插即用。
- Web 自动化能力: 集成 Amazon Nova Act,提供强大的网页自动化操作,包括页面导航、元素点击、文本输入、数据提取等。
- 并行任务执行: 支持并行执行多个浏览器任务,提高效率,可同时处理多个网页自动化流程。
- 数据提取与处理: 能够从网页中提取结构化和非结构化数据,并进行初步处理。
- 会话管理: 服务器端管理浏览器会话,支持会话的启动、保持和关闭。
- 工具注册与发现: 通过 MCP 协议声明和注册 Nova Act 提供的工具,方便 LLM 客户端发现和调用。
- 示例客户端: 提供 Python 示例客户端,演示如何与 MCP 服务器进行交互。
- Claude Desktop 集成: 提供与 Claude Desktop 等 MCP 客户端的集成指南。
安装步骤
-
克隆仓库:
git clone https://github.com/aws-samples/sample-agents-with-nova-act-and-mcp cd sample-agents-with-nova-act-and-mcp -
安装依赖:
pip install -r requirements.txt -
配置 Nova Act API 密钥: 获取 Nova Act API 密钥 (https://nova.amazon.com/act) 并设置为环境变量 'NOVA_ACT_API_KEY'。
export NOVA_ACT_API_KEY="your_api_key" -
配置 AWS 凭证: 确保已配置 AWS 凭证,以便访问 Amazon Bedrock 服务。参考 AWS CLI Quickstart Guide。
服务器配置
MCP 客户端(例如 'mcp_examples/nova_act_mcp_client.py' 或 Claude Desktop)需要以下配置信息来连接到 Nova Act MCP 服务器。将以下 JSON 配置添加到 MCP 客户端的服务器列表中:
{ "serverName": "nova-act-server", // 服务器名称,可自定义 "command": "python", // 启动服务器的命令,这里使用 python 解释器 "args": [ // 启动参数 "mcp_examples/nova_act_mcp_server.py" // MCP 服务器脚本的路径 ], "env": { // 环境变量 (可选) "NOVA_ACT_API_KEY": "<your_api_key>" // (可选) 如果不在系统环境变量中设置,可以在这里配置API密钥,需要替换为你的实际API密钥 } }
注意:
- 请将 '<your_api_key>' 替换为您实际的 Nova Act API 密钥。
- 如果已经在系统环境变量中设置了 'NOVA_ACT_API_KEY',则 'env' 部分可以省略。
- 'serverName' 可以自定义,用于在 MCP 客户端中标识该服务器连接。
- 'command' 和 'args' 确保指向正确的 Python 解释器和 'nova_act_mcp_server.py' 脚本路径。
基本使用方法
-
启动 MCP 服务器: 无需手动启动服务器,MCP 客户端在连接时会自动启动 'mcp_examples/nova_act_mcp_server.py'。
-
运行 MCP 客户端: 使用仓库提供的示例客户端 'mcp_examples/nova_act_mcp_client.py' 连接到服务器。
cd mcp_examples python nova_act_mcp_client.py nova_act_mcp_server.py或者,您可以配置 Claude Desktop 连接到该 MCP 服务器,具体步骤参考 Claude Desktop MCP Setup Guide。
-
通过 LLM 客户端调用工具: 连接成功后,您可以在 LLM 客户端中(例如 Claude Desktop 或示例客户端的交互式界面)向 LLM 发送指令,LLM 将根据指令和工具描述,自动调用 Nova Act MCP 服务器提供的工具,例如 'browser_session', 'browser_action', 'execute_parallel_browser_tasks' 等,实现网页自动化操作。
例如,在示例客户端的交互式界面中,您可以输入自然语言查询,客户端会调用 Bedrock Claude 模型理解您的意图,并利用可用的 Nova Act 工具执行相应的 Web 自动化任务。
-
查看结果: 工具执行结果将返回给 LLM 客户端,您可以在客户端界面查看结果,或通过 'list_results', 'get_result', 'save_results' 等工具管理和查看历史结果。
示例查询:
在 'mcp_examples/nova_act_mcp_client.py' 客户端中,您可以尝试以下查询:
- "Search for the price of iPhone 15 on Amazon and tell me the price."
- "Go to google.com and search for 'weather in Seattle'."
- "Take a screenshot of the current webpage."
Claude Desktop 集成:
按照 Claude Desktop MCP Setup Guide 配置 Claude Desktop 连接到该 MCP 服务器后,您可以在 Claude Desktop 中直接使用自然语言指令,让 Claude 调用 Nova Act 的 Web 自动化能力。
信息
分类
网页与API