DEPRICATED Browser Mcp
Pricing
from $0.01 / 1,000 results
DEPRICATED Browser Mcp
The Browser MCP Actor combines Browser with the Model Context Protocol (MCP) to let AI agents control web browsers via a standardized interface. It enables navigation, data extraction, form filling, testing, and complex web automation.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
Nahom D
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 months ago
Last modified
Categories
Share
MCP Browser Actor
A powerful Model Context Protocol (MCP) server that provides advanced web scraping and browser automation capabilities using Scrapling on the Apify platform.
๐ Features
- Multiple Fetcher Types: Choose between Simple HTTP, Dynamic (browser-based), and Stealthy (anti-detection) fetchers
- Cloudflare Challenge Solver: Automatically bypass Cloudflare protection
- Advanced Stealth Options: Block WebRTC, hide canvas fingerprinting, use real Chrome, and more
- Comprehensive Browser Automation: Full suite of browser interaction tools
- Element Finding & Extraction: CSS, XPath, text, regex, and tag-based selectors
- Session Management: Maintain browser context across multiple requests
- Pay-Per-Event Billing: Usage-based pricing for all tool calls
- Standby Mode: Ready instantly for incoming requests
๐ง Available Tools
Basic Fetching & Extraction
fetch_url
Fetch a webpage using different fetcher types.
Parameters:
url(string): The URL to fetchfetcher_type(string): Type of fetcher -"simple","dynamic", or"stealthy"(default:"stealthy")session_id(string): Session ID for maintaining browser contextsolve_cloudflare(boolean): Automatically solve Cloudflare challenges (default:false, stealthy fetcher only)block_webrtc(boolean): Block WebRTC to prevent IP leaks (default:false, stealthy fetcher only)real_chrome(boolean): Use real Chrome instead of Chromium (default:false, stealthy fetcher only)hide_canvas(boolean): Hide canvas fingerprinting (default:false, stealthy fetcher only)google_search(boolean): Simulate coming from Google search (default:false, stealthy fetcher only)proxy(string): Proxy URL (format:http://host:portorhttps://user:pass@host:port)
Example (Basic):
{"url": "https://example.com","fetcher_type": "stealthy","session_id": "my-session-1"}
Example (With Cloudflare solving):
{"url": "https://protected-site.com","fetcher_type": "stealthy","solve_cloudflare": true,"session_id": "my-session-1"}
Example (Full stealth mode):
{"url": "https://protected-site.com","fetcher_type": "stealthy","solve_cloudflare": true,"block_webrtc": true,"real_chrome": true,"hide_canvas": true,"google_search": true,"session_id": "my-session-1"}
find_elements
Find elements on the current page using various selector types.
Parameters:
selector(string): The selector stringselector_type(string):"css","xpath","text","regex", or"tag"(default:"css")session_id(string): Session ID to get the current page contextfirst_match(boolean): Return only the first match (default:false)
Example:
{"selector": "h1.title","selector_type": "css","session_id": "my-session-1","first_match": false}
extract_element_content
Extract specific content from an element.
Parameters:
selector(string): The selector to find the elementselector_type(string): Type of selector (default:"css")extract_type(string):"text","html","attribute", or"json"(default:"text")session_id(string): Session IDattribute_name(string, optional): Required forextract_type="attribute"
Example:
{"selector": "a.link","extract_type": "attribute","attribute_name": "href","session_id": "my-session-1"}
Browser Navigation
browser_navigate
Navigate to a URL in the browser.
Parameters:
url(string): The URL to navigate tosession_id(string): Session IDwait_until(string):"load","domcontentloaded", or"networkidle"(default:"load")solve_cloudflare(boolean): Automatically solve Cloudflare challenges (default:false)block_webrtc(boolean): Block WebRTC to prevent IP leaks (default:false)real_chrome(boolean): Use real Chrome instead of Chromium (default:false)hide_canvas(boolean): Hide canvas fingerprinting (default:false)google_search(boolean): Simulate coming from Google search (default:false)
Example (With Cloudflare solving):
{"url": "https://protected-site.com","solve_cloudflare": true,"session_id": "my-session-1"}
browser_go_back
Navigate back in browser history.
Parameters:
session_id(string): Session ID
browser_go_forward
Navigate forward in browser history.
Parameters:
session_id(string): Session ID
browser_reload
Reload the current page.
Parameters:
session_id(string): Session IDwait_until(string): When to consider reload succeeded (default:"load")
Browser Interactions
browser_click
Click an element in the browser.
Parameters:
selector(string): CSS selector of the element to clicksession_id(string): Session IDbutton(string):"left","right", or"middle"(default:"left")click_count(integer): Number of clicks - 1 for single, 2 for double (default:1)
Example:
{"selector": "button#submit","session_id": "my-session-1","button": "left","click_count": 1}
browser_type
Type text into an input element.
Parameters:
selector(string): CSS selector of the input elementtext(string): Text to typesession_id(string): Session IDdelay(integer): Delay between key presses in milliseconds (default:0)
Example:
{"selector": "input[name='username']","text": "john.doe","session_id": "my-session-1","delay": 50}
browser_select_option
Select an option from a dropdown.
Parameters:
selector(string): CSS selector of the select elementvalue(string, optional): Option value to selectlabel(string, optional): Option label to selectsession_id(string): Session ID
Note: Either value or label must be provided.
browser_file_upload
Upload a file to a file input element.
Parameters:
selector(string): CSS selector of the file input elementfile_path(string): Path to the file to uploadsession_id(string): Session ID
Browser Utilities
browser_wait_for
Wait for an element to reach a specific state or for a timeout.
Parameters:
selector(string, optional): CSS selector to wait for (empty for just timeout)timeout(integer): Maximum time to wait in milliseconds (default:30000)state(string):"visible","hidden","attached", or"detached"(default:"visible")session_id(string): Session ID
Example:
{"selector": ".loading","state": "hidden","timeout": 10000,"session_id": "my-session-1"}
browser_handle_dialog
Handle browser dialogs (alert, confirm, prompt).
Parameters:
action(string):"accept"or"dismiss"(default:"accept")prompt_text(string, optional): Text to enter in prompt dialogssession_id(string): Session ID
browser_run_code
Execute JavaScript code in the browser context.
Parameters:
code(string): JavaScript code to executesession_id(string): Session ID
Example:
{"code": "return document.title;","session_id": "my-session-1"}
Browser Inspection
browser_snapshot
Get a snapshot of the current page DOM.
Parameters:
session_id(string): Session ID
Returns: HTML content of the current page.
browser_take_screenshot
Take a screenshot of the current page.
Parameters:
full_page(boolean): Whether to take a screenshot of the full scrollable page (default:false)session_id(string): Session IDpath(string, optional): Path to save the screenshot
Returns: Base64-encoded screenshot image.
browser_resize
Resize the browser viewport.
Parameters:
width(integer): Viewport width in pixels (default:1920)height(integer): Viewport height in pixels (default:1080)session_id(string): Session ID
Session Management
close_session
Close a browser session and free resources.
Parameters:
session_id(string): Session ID to close
๐ Usage Example
1. Connecting to the MCP Server
Deploy the Actor to Apify and connect to the endpoint:
https://<your-actor-id>.apify.actor/mcp
Use the Streamable HTTP transport and pass your Apify API token in the Authorization header:
Authorization: Bearer <YOUR_APIFY_API_TOKEN>
2. Example Workflow
Step 1: Navigate to a webpage
{"tool": "browser_navigate","arguments": {"url": "https://example.com","session_id": "session-123"}}
Step 2: Wait for content to load
{"tool": "browser_wait_for","arguments": {"selector": ".main-content","state": "visible","session_id": "session-123"}}
Step 3: Extract data
{"tool": "find_elements","arguments": {"selector": "h2.product-title","selector_type": "css","session_id": "session-123"}}
Step 4: Take a screenshot
{"tool": "browser_take_screenshot","arguments": {"full_page": true,"session_id": "session-123"}}
Step 5: Close the session
{"tool": "close_session","arguments": {"session_id": "session-123"}}
๐ท๏ธ Session Management
Sessions are automatically managed. Provide a session_id to maintain browser context across multiple tool calls. This allows you to:
- Navigate to a page once and perform multiple operations
- Maintain cookies, localStorage, and authentication state
- Build complex automation workflows
Session Timeout: Sessions automatically close after 300 seconds (5 minutes) of inactivity by default. This can be configured via the SESSION_TIMEOUT_SECS environment variable.
๏ฟฝ๏ธ Cloudflare & Bot Protection
This Actor includes powerful features to bypass Cloudflare and other anti-bot protections:
Automatic Cloudflare Solver
The solve_cloudflare parameter automatically detects and solves Cloudflare challenges:
{"tool": "fetch_url","arguments": {"url": "https://protected-site.com","solve_cloudflare": true,"session_id": "my-session"}}
Advanced Stealth Options
Combine multiple stealth techniques for maximum protection bypass:
solve_cloudflare: Automatically solve Cloudflare challengesblock_webrtc: Block WebRTC to prevent IP leak detectionreal_chrome: Use real Chrome browser instead of Chromium (harder to detect)hide_canvas: Hide canvas fingerprinting to avoid detectiongoogle_search: Simulate traffic coming from Google search (more trustworthy)
Full Protection Example:
{"tool": "fetch_url","arguments": {"url": "https://highly-protected-site.com","fetcher_type": "stealthy","solve_cloudflare": true,"block_webrtc": true,"real_chrome": true,"hide_canvas": true,"google_search": true,"session_id": "my-session"}}
These options work with both fetch_url and browser_navigate tools when using the stealthy fetcher.
๏ฟฝ๐ฐ Pricing
This Actor uses the Pay Per Event monetization model. Each tool call is charged according to the pricing defined in the Actor's configuration.
Event charged: tool-call
๐ ๏ธ Fetcher Types Explained
Simple Fetcher
- Basic HTTP requests
- Fastest performance
- No JavaScript execution
- Best for: Static HTML pages, APIs
Dynamic Fetcher
- Browser-based (Playwright)
- JavaScript execution
- Moderate anti-detection
- Best for: JavaScript-heavy sites
Stealthy Fetcher (Recommended)
- Advanced anti-detection browser
- Stealth plugins enabled
- Human-like behavior
- Best for: Protected sites, anti-bot systems
๐ Running Locally
# Install dependenciespip install -r requirements.txt# Set environment variables$env:APIFY_META_ORIGIN = "STANDBY"# Run the serverpython -m src
The server will start at http://localhost:3000/mcp
๐ฆ Deployment
# Login to Apifyapify login# Push to Apify platformapify push
๐ Resources
๐ License
This Actor is available under the Apache License 2.0.
๐ค Support
For issues, questions, or contributions, please visit the Apify Console.
Built with โค๏ธ using Scrapling, FastMCP, and Apify


