@nxavis/agent-browser-mcp
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., "@@nxavis/agent-browser-mcp navigate to example.com and get the page title"
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.
@nxavis/agent-browser-mcp
A Model Context Protocol (MCP) server that provides browser automation capabilities through Vercel's agent-browser. This enables LLMs to interact with web pages using a fast Rust CLI with Node.js fallback.
Quick Start
# 1. Install agent-browser CLI
npm install -g agent-browser && agent-browser install
# 2. Add to Claude Desktop (or your MCP client)
npx @nxavis/agent-browser-mcpThen use tools like browser_navigate, browser_click, browser_snapshot to control the browser from your AI agent.
Related MCP server: Puppeteer MCP Server
Features
AI-Optimized Browser Control - Semantic element locators using accessibility properties, text matching, and data attributes
Session Isolation - Multiple isolated browser sessions with separate cookies, storage, and navigation history
Comprehensive Automation - Navigation, form filling, clicking, scrolling, keyboard input, and more
Data Extraction - Get text, HTML, attributes, accessibility snapshots, screenshots, and PDFs
Cookie Management - Full control over browser cookies and storage
JavaScript Execution - Run arbitrary scripts in the browser context
Network Inspection - Monitor console messages and network requests
Installation
npm install @nxavis/agent-browser-mcpOr run directly with npx:
npx @nxavis/agent-browser-mcpPrerequisites
Node.js 18 or newer
agent-browser CLI installed:
# Install agent-browser globally
npm install -g agent-browser
# Download Chromium browser
agent-browser install
# On Linux, install system dependencies if needed:
# agent-browser install --with-deps⚠️ Windows Note: agent-browser currently has known issues on Windows with native shells (PowerShell/CMD). For Windows users, we recommend using WSL (Windows Subsystem for Linux) until the upstream issue is resolved.
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"agent-browser": {
"command": "npx",
"args": ["@nxavis/agent-browser-mcp"]
}
}
}VS Code
Add to your VS Code settings (JSON):
{
"mcp": {
"servers": {
"agent-browser": {
"command": "npx",
"args": ["@nxavis/agent-browser-mcp"]
}
}
}
}Antigravity
Add to your .mcp.json file in your project root or home directory:
{
"mcpServers": {
"agent-browser": {
"command": "npx",
"args": ["@nxavis/agent-browser-mcp"]
}
}
}Or use the global configuration at ~/.mcp.json:
{
"mcpServers": {
"agent-browser": {
"command": "npx",
"args": ["@nxavis/agent-browser-mcp"],
"env": {
"AGENT_BROWSER_PATH": "/usr/local/bin/agent-browser"
}
}
}
}Custom agent-browser Path
If agent-browser is not in your PATH, specify its location:
{
"mcpServers": {
"agent-browser": {
"command": "npx",
"args": ["@nxavis/agent-browser-mcp"],
"env": {
"AGENT_BROWSER_PATH": "/path/to/agent-browser"
}
}
}
}Available Tools
Navigation
browser_navigate- Navigate to a URLbrowser_go_back- Navigate back in browser historybrowser_go_forward- Navigate forward in browser historybrowser_reload- Reload the current page
Interaction
browser_click- Click on an elementbrowser_fill- Fill a text input fieldbrowser_type- Type text character by characterbrowser_hover- Hover over an elementbrowser_scroll- Scroll the page or a specific elementbrowser_select- Select an option from a dropdownbrowser_check- Check a checkbox or radio buttonbrowser_uncheck- Uncheck a checkboxbrowser_press- Press a keyboard key
Data Extraction
browser_get_text- Get text content from an element or pagebrowser_get_html- Get HTML contentbrowser_get_attribute- Get an attribute valuebrowser_get_url- Get the current page URLbrowser_get_title- Get the current page titlebrowser_snapshot- Get accessibility tree snapshot
Session Management
browser_new_session- Create a new isolated browser sessionbrowser_close_session- Close a browser session
Screenshots & PDF
browser_screenshot- Take a screenshotbrowser_pdf- Generate a PDF of the current page
For a complete list of tools and their parameters, see the original documentation.
Development
# Clone the repository
git clone https://github.com/nxavis/agent-browser-mcp.git
cd agent-browser-mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Watch mode
npm run devLicense
MIT
Credits
This package is based on agent-browser-mcp by minhlucvan, adapted for the @nxavis ecosystem.
Available Tools
34 toolsbrowser_checkA
Check a checkbox or radio button
Inputs: selector (required), sessionId.
browser_clear_cookiesB
Clear all cookies
Inputs: sessionId.
browser_clickB
Click on an element identified by selector or accessibility properties
Inputs: selector (required), sessionId.
browser_close_sessionC
Close a browser session
Inputs: sessionId (required).
browser_evaluateB
Execute JavaScript code in the browser context
Inputs: script (required), sessionId.
browser_fillB
Fill a text input field with the specified value
Inputs: value (required), selector (required), sessionId.
browser_get_attributeB
Get an attribute value from an element
Inputs: selector (required), attribute (required), sessionId.
browser_get_consoleC
Get console messages from the browser
Inputs: sessionId.
browser_get_cookiesC
Get cookies from the browser
Inputs: urls, sessionId.
browser_get_htmlA
Get HTML content from an element or the entire page
Inputs: outer, selector, sessionId.
browser_get_networkB
Get network requests made by the browser
Inputs: sessionId.
browser_get_textA
Get text content from an element or the entire page
Inputs: selector, sessionId.
browser_get_titleB
Get the current page title
Inputs: sessionId.
browser_get_urlB
Get the current page URL
Inputs: sessionId.
browser_go_backA
Navigate back in browser history
Inputs: sessionId.
browser_go_forwardB
Navigate forward in browser history
Inputs: sessionId.
browser_hoverC
Hover over an element
Inputs: selector (required), sessionId.
browser_is_checkedB
Check if a checkbox/radio is checked
Inputs: selector (required), sessionId.
browser_is_enabledC
Check if an element is enabled
Inputs: selector (required), sessionId.
browser_is_visibleC
Check if an element is visible
Inputs: selector (required), sessionId.
browser_new_sessionB
Create a new isolated browser session
Inputs: viewport.
browser_pdfB
Generate a PDF of the current page
Inputs: path (required), sessionId.
browser_pressC
Press a keyboard key
Inputs: key (required), sessionId.
browser_reloadB
Reload the current page
Inputs: sessionId.
browser_screenshotC
Take a screenshot of the page or an element
Inputs: path, fullPage, selector, sessionId.
browser_scrollB
Scroll the page or an element
Inputs: direction (required), amount, selector, sessionId.
browser_selectC
Select an option from a dropdown
Inputs: value (required), selector (required), sessionId.
browser_set_cookiesB
Set cookies in the browser
Inputs: cookies (required), sessionId.
browser_snapshotA
Get an accessibility tree snapshot of the page for AI-friendly element references
Inputs: sessionId.
browser_typeA
Type text character by character (useful for triggering key events)
Inputs: text (required), selector (required), sessionId.
browser_uncheckB
Uncheck a checkbox
Inputs: selector (required), sessionId.
browser_wait_for_selectorC
Wait for an element to appear in the page
Inputs: selector (required), state, timeout, sessionId.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 34 tools
Each tool targets a distinct browser action or query, with clear separation between navigation, interaction, extraction, session, and diagnostic tools. Slight overlaps like fill vs type are clearly differentiated by behavior, and get_text vs get_html vs snapshot have distinct outputs.
All tools uniformly use the browser_ prefix and snake_case with action-oriented verbs. The mix of get_* and direct verbs is consistent with the domain, and patterns like wait_for_* and is_* follow predictable conventions.
At 34 tools, the set exceeds the 25+ threshold for 'too many'. While each tool serves a purpose, several could be consolidated (e.g., is_visible/enabled/checked into a single state query, or get_text/html/attribute into a content extractor), making the surface heavier than necessary.
The tools cover the full browser automation lifecycle: navigation, interaction, content extraction, waiting, session management, cookies, JavaScript execution, and diagnostics (console/network). Minor gaps like file upload/download are non-core and do not create dead ends.
Maintenance
Related MCP Connectors
Official Browserless MCP server: browser automation, scraping, screenshots and PDFs for AI agents.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Web scraping, browser automation, screenshots and AI data extraction for AI agents via MCP.
Hosted Web Crawler MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.19Apache 2.0
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides browser automation capabilities using Puppeteer, enabling LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.729,827 npm1MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables LLMs to interact with web pages, take screenshots, generate test code, scrape web pages, and execute JavaScript in a real browser environment.2917 npm22MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, generate test code, scrape web content, and execute JavaScript in real browser environments.3114,136 npmMIT