Click on "Install 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 Playwright BrowserScrape Indeed for remote Python developer jobs and save the results"
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 Playwright Browser Server
A powerful Model Context Protocol (MCP) server that exposes Playwright-powered browser automation tools to AI assistants. Enable your AI to navigate web pages, extract structured data, scrape job listings, and interact with web content programmatically.
Features
Browser Automation: Full browser control via Playwright (Chromium)
MCP Integration: Expose 20+ tools via Model Context Protocol
Anti-Detection: Stealth mode to bypass bot detection
Job Scraping: Specialized extractors for Indeed job postings
Search Extraction: Google search results extraction
CDP Support: Connect to existing Chrome instances via Chrome DevTools Protocol
Flexible Modes: Headless or headful browser operation
File Management: Save extracted data to structured text files
Installation
Install Playwright Chromium browser:
Quick Start
Running the MCP Server
Running Standalone Tests
Test Indeed job extraction:
Test Google search extraction:
MCP Configuration
Configure your MCP client to use this server. For Gemini CLI, add to your settings.json:
Or use the CLI:
Available Tools
Browser Control
browser.launch- Launch Chromium with optional stealth modebrowser.connect_cdp- Connect to existing Chrome instancebrowser.goto- Navigate to URLbrowser.back/browser.forward- Navigate historybrowser.new_page- Open new tabbrowser.close- Close browser session
Element Interaction
browser.list- List interactive elementsbrowser.click- Click elements by ID, selector, or textbrowser.type- Type into input fieldsbrowser.press- Press keyboard keys
Data Extraction
browser.snapshot- Get page summary with text and linksbrowser.extract_text- Extract text from selectorsbrowser.extract_html- Extract HTML from selectorsbrowser.screenshot- Capture screenshots
Job Scraping
jobs.extract_indeed- Extract Indeed job listingsjobs.indeed_next_page- Navigate to next Indeed results page
Search
search.google- Search Google and extract resultssearch.extract_google- Extract results from current Google page
File Operations
files.write_text- Save arbitrary text to files
Usage Examples
Example 1: Scrape Indeed Jobs
Example 2: Google Search
Example 3: Stealth Mode with User Profile
Example 4: Connect to Existing Chrome
Start Chrome with remote debugging:
Then connect:
Handling Captchas and Blocks
Indeed and Google may show captchas or block automation. Solutions:
Use headful mode:
browser.launch({ headless: false })allows you to solve captchas manuallyUse persistent profiles: Launch with
userDataDirto reuse cookies and sessionsEnable stealth mode:
browser.launch({ stealth: true })Use existing Chrome: Connect via CDP to a logged-in Chrome instance
Change network/IP: Some blocks are IP-based
Output Structure
Extracted data is saved as text files:
Each file contains structured data:
Architecture
src/mcp-browser-server.js- Main MCP server with tool definitionssrc/extractors.js- Extraction logic for Indeed and Googlesrc/tests/- Standalone test scripts
Dependencies
@modelcontextprotocol/sdk- MCP server implementationplaywright- Browser automation frameworkzod- Schema validation for MCP tools
License
ISC
Contributing
Contributions welcome! Please feel free to submit issues and pull requests.