Enables automated Google search queries with extraction of search results including titles, URLs, and descriptions
playread
Google search automation via Playwright MCP. Can be used as a CLI tool or as an MCP server.
Installation
Or use directly with npx:
Usage
As an MCP Server
Start playread as an MCP server to expose all flows as tools:
Or configure in your MCP client settings (e.g., Claude Desktop):
Available MCP tools:
fetch- Fetch and extract main content from a web page URLgoogle-search- Perform a Google search and extract results
As a CLI Tool
Google Search
Output format:
Fetch URL Content
Extract important text content from any URL:
Output format:
Perfect for:
Extracting documentation from websites
Fetching article content
Parsing blog posts
Getting README content from GitHub
Any text-heavy webpage
Creating Custom Flows
Flows are JavaScript modules that export a single async function. The function receives a connected PlaywrightMCPClient instance.
Create a new flow in the flows/ directory:
Available Client Methods
Connection
connect()- Connect to Playwright MCP serverdisconnect()- Disconnect and cleanup
Tools Discovery
listTools()- List all available toolscallTool(name, args)- Call any tool directly
Browser Control
navigate(url)- Navigate to URLnavigateBack()- Go backclose()- Close browserresize(width, height)- Resize windowinstall()- Install browser
Page Interaction
snapshot()- Get accessibility snapshotclick(element, ref)- Click elementtype(element, ref, text, submit, slowly)- Type textpressKey(key)- Press keyboard keyhover(element, ref)- Hover over elementdrag(startElement, startRef, endElement, endRef)- Drag and drop
Forms
fillForm(fields)- Fill multiple form fieldsselectOption(element, ref, values)- Select dropdown optionfileUpload(paths)- Upload files
Page State
evaluate(func)- Execute JavaScriptscreenshot(filename, type, fullPage, element, ref)- Take screenshotconsoleMessages(onlyErrors)- Get console logsnetworkRequests()- Get network activity
Dialogs
handleDialog(accept, promptText)- Handle alerts/confirms
Tabs
tabs(action, index)- Manage browser tabs
Wait
waitFor(text, textGone, time)- Wait for conditions
Flow Details
google-search
Navigates to Google
Searches for "Playwright automation testing"
Waits 30 seconds for results to load
Extracts all result titles, URLs, and descriptions
Returns comprehensive JSON output with full result metadata
fetch
Accepts a URL as an argument
Navigates to the URL
Intelligently extracts main content using heuristics:
Prioritizes
<main>,<article>, and semantic content areasExtracts structured text including headings, paragraphs, lists, and code blocks
Removes duplicate content and navigation elements
Formats output as clean markdown
Returns JSON with URL, title, content length, and extracted content
Limits output to 50,000 characters for conciseness
Works universally across documentation sites, blogs, articles, and more
Requirements
Node.js 14+
Playwright MCP server (installed automatically via npx)
Notes
Always close the browser before flows complete
Supports
file://URLs for local testingUse
browser_evaluatefor debugging window globalsNo hardcoded values - all flows use ground truth from snapshots
Screenshots are automatically saved to
/tmp/playwright-mcp-output/<timestamp>/