MCP Browser Agent
This MCP Browser Agent server enables automated browser interactions through Claude using the Model Context Protocol. It provides browser automation capabilities for navigation and complex workflows, dynamic state management with planning context that includes evaluation of previous goals and memory of past actions, and action execution tools to implement sequences of planned browser actions. The server offers interactive element detection and manipulation on web pages, session recording in the ./tmp/recordings directory, and AI integration for intelligent browser control and decision-making. It supports configurable browser contexts with customizable settings and includes comprehensive logging and debugging features for development.
Provides automated browser interaction within Google Chrome, allowing for element detection, navigation, and state management in web applications
Supports browser automation on macOS systems with specific compatibility for darwin 24.2.0
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Browser Agent search for flights from New York to London next week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Browser Agent
Built at AGI House MCP Hackathon
Overview
This project is a browser automation agent that uses the Model Context Protocol (MCP) to enable browser interactions. It provides a seamless integration between Claude and browser automation capabilities through our MCP server.
Thank you to Browser-Use for their browser agent capabilities that help power our MCP server!
Related MCP server: selenium-mcp
System Requirements
macOS (darwin 24.2.0)
Python 3.12 or higher
uvpackage managerGoogle Chrome browser (Ensure your browser is closed before running task(s).)
Installation
Installing via Smithery
To install Browser Automation Agent for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ashley-ha/mcp-manus --client claudeManual Installation
Clone the repository:
git clone <repository-url>
cd mcpSet up the Python environment using
uv:
uv venv
source .venv/bin/activate
uv syncConfiguration
Claude Desktop Configuration
Create or modify your Claude Desktop configuration file:
{
"mcpServers": {
"browser-use": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/mcp",
"run",
"browser-use.py"
]
}
}
}Replace /ABSOLUTE/PATH/TO/browser-use with the absolute path to your project directory.
Browser Configuration
The agent is configured to use Google Chrome with the following default settings:
Non-headless mode for development
Window size: 1280x1100
Disabled security features for testing
Recording path: ./tmp/recordings
Features
Browser automation through MCP tools
State management and planning capabilities
Interactive element detection and manipulation
Configurable browser contexts
Logging and debugging support
Usage
The agent provides two main tools:
get_planner_state: Retrieves the current browser state and planning contextexecute_actions: Executes planned actions in the browser
Development
Logging
The project uses Python's built-in logging with the following configuration:
All logs are directed to stderr
Custom formatting:
%(levelname)-8s [%(name)s] %(message)sRoot logger level: INFO
Third-party loggers level: WARNING
Project Structure
browser-use.py: Main entry point and server implementationtmp/recordings: Directory for browser session recordingsDependencies managed through
uv
Contributing
This project was built during the AGI House MCP Hackathon. Contributions are welcome!
License
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2025 Jaeyun Ha, Ashley Ha
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Available Tools
2 toolsexecute_actionsB
Execute actions from the planner state.
Args:
actions: A dictionary containing the planner state and actions in format:
{
"current_state": {
"evaluation_previous_goal": str,
"memory": str,
"next_goal": str
},
"action": [
{"action_name": {"param1": "value1"}},
...
]
}
Note: If the page state changes (new elements appear) during action execution,
the sequence will be interrupted and you'll need to get a new planner state.
Inputs: actions (required).
get_planner_stateA
Get the current browser state and planning context. This tool must be executed before execute_actions tool.
Must return a JSON string in the format:
{
"current_state": {
"evaluation_previous_goal": "Success|Failed|Unknown - Analysis of previous actions",
"memory": "Description of what has been done and what to remember",
"next_goal": "What needs to be done with the next immediate action"
},
"action": [
{"action_name": {"param1": "value1", ...}},
...
]
}
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: get_planner_state retrieves browser state and planning context, while execute_actions performs actions based on that state. There is no overlap or ambiguity between these functions.
Both tools follow a consistent verb_noun pattern with clear action-oriented names (get_planner_state, execute_actions). The naming convention is uniform and predictable throughout the set.
With only 2 tools for a browser automation server, the surface feels severely limited. While the tools cover a basic planning-execution loop, typical browser automation requires more granular operations like navigation, element interaction, or content extraction.
The toolset provides only a high-level planning/execution abstraction without direct browser manipulation capabilities. There are significant gaps for common browser tasks like navigating to URLs, clicking elements, extracting text, or handling dialogs, which agents would need for robust automation.
Maintenance
Related MCP Connectors
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Cloud browsers for AI agents: saved logins, residential IPs, live human takeover, 57 browser tools.
Hosted browser for agents: open pages, search the web, extract data, read PDFs and take screenshots.
Cloud browser, web extraction, screenshots, and remote CDP tools for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceA Model Context Protocol (MCP) integration that provides Claude Desktop with autonomous browser automation capabilities. This agent enables Claude to interact with web content, manipulate DOM elements, execute JavaScript, and perform API requests.1324 npm43TypeScriptMozilla Public 2.0
- AlicenseAqualityBmaintenanceEnables browser automation through the Model Context Protocol, allowing AI agents to control Chrome, Firefox, or Edge for tasks like navigation, clicking, typing, and screenshots.4192 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables browser automation through the Claude Chrome Extension, allowing agents to navigate websites, fill forms, take screenshots, and debug web apps via standard MCP protocols.1MIT

Browseagent MCPofficial
AlicenseAqualityDmaintenanceEnables AI agents to control web browsers through the Model Context Protocol, supporting navigation, clicking, typing, and screenshots.125 npm1MIT