This repository demonstrates how to build intelligent web automation agents using Amazon Nova Act integrated with MCP (Model Context Protocol). MCP provides a standardized way to connect AI models to different data sources and tools - think of it like a "USB-C port for AI applications."
This project showcases the integration between:
- Amazon Nova Act: A powerful web automation tool for creating agents that interact with web pages
- MCP (Model Context Protocol): An open protocol that standardizes how applications provide context to LLMs
- Amazon Bedrock: Managed service that provides foundation models through a unified API
The project follows MCP's client-server architecture:
- MCP Host: Claude Desktop or other AI tools that want to access Nova Act capabilities
- MCP Client: Protocol clients maintaining 1:1 connections with the Nova Act server
- MCP Server: A Nova Act server exposing web automation capabilities through the standardized protocol
- Remote Services: Web services that Nova Act interacts with through browser automation
- Standardized LLM integration through MCP
- Automated web navigation and interaction via Nova Act
- Parallel execution of multiple browser tasks
- Data extraction and processing
- Screenshot capture and visual verification
- Session management and browser control
- Seamless integration with Claude Desktop
- Access to foundation models via Amazon Bedrock
- Operating System: MacOS or Ubuntu (Nova Act requirements)
- Python 3.10 or higher
- A valid Nova Act API key (obtain from https://nova.amazon.com/act)
- Node.js (for Claude Desktop integration)
- Amazon Bedrock access:
- Amazon Bedrock enabled in your AWS account
- Claude 3.5 Sonnet V2 model enabled (this is default for this example)
- AWS credentials and region properly configured - AWS CLI Quickstart Guide
The repository contains two main example directories:
video_game_research_st.py
: A comprehensive tool that:- Finds top games for any selected gaming system
- Searches Amazon in parallel for pricing and details
- Creates interactive result tables
- Saves research data for future reference
nova_act_mcp_server.py
: MCP-compliant server implementation exposing Nova Act capabilitiesnova_act_mcp_client.py
: Example MCP client implementation- Demonstrates integration with Claude Desktop and other MCP hosts
get_coffee_maker.py
: Simple example demonstrating how to:- Initialize Nova Act with a starting web page
- Perform basic web search and selection actions
- Extract information from product pages
multi_monitor.py
: Advanced example showing:- Parallel execution of web tasks using ThreadPoolExecutor
- Searching and comparing multiple products simultaneously
- Structured data extraction and comparison
- Error handling for robust web automation
-
Clone this repository
-
Install dependencies:
pip install -r requirements.txt
-
Set your Nova Act API key:
export NOVA_ACT_API_KEY="your_api_key"
-
Make sure your environment has AWS configured correctly - https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html
cd streamlit_examples
streamlit run video_game_research_st.py
cd mcp_examples
python nova_act_mcp_client.py nova_act_mcp_server.py
The command above will:
- Start the MCP server that exposes Nova Act capabilities
- Launch the MCP client that connects to the server
- Enable communication between Claude and the Nova Act browser automation
For setting up and using this server with Claude Desktop, please follow the official Claude Desktop MCP Setup Guide. The guide covers:
- Installing and configuring Claude Desktop
- Setting up MCP servers in Claude Desktop
- Troubleshooting common issues
- Example usage and best practices
- Follow MCP's standardized approach for exposing capabilities
- Always close browser sessions when done
- Use headless mode for automated tasks not requiring visual feedback
- Break down complex actions into smaller, specific instructions
- Use schemas when expecting structured data responses
- Save important results to files for persistence
- Handle errors appropriately in your code
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.