browser-research-mcp
Browser-based research MCP server that drives a real Chromium browser via patched Playwright to access JavaScript-rendered content, dynamic tables, and login-walled dashboards. It provides tools for visiting URLs to extract DOM text and screenshots, and for performing structured data extraction using Anthropic Claude Sonnet.
README
browser-research-mcp
Browser-based research as an MCP server. Drives a real Chromium via
patched Playwright (patchright) so the agent can read JavaScript-rendered
tables, dynamic charts, login-walled dashboards, and AJAX dropdowns that
the cheaper rungs of the fetch ladder can't reach.
This is the last rung of the ladder:
web_search → web_fetch → pdf_fetch → http_post_form → browser-research
Tools
| Tool | Purpose |
|---|---|
visit(url, …) |
Open a URL with Chromium, return DOM text + screenshot. Cheap, no LLM call. |
extract(url, focus, …) |
visit + Sonnet structured extraction. Same response shape as pdf_fetch_structured. Sends the screenshot to Sonnet so chart values drawn via canvas/SVG get picked up. |
Why patchright
patchright is a drop-in
Apache-2.0 patched Playwright that disables the AutomationControlled blink
feature, removes Runtime.enable leaks, and a few other detection vectors.
Indian government dashboards (PPAC, RBI, MoSPI, SEBI) work fine with this
without paying for residential proxies or a hosted browser SaaS.
Run locally
uv tool install browser-research-mcp --python 3.12
# Install Chromium for patchright (one-off):
uv tool run patchright install chromium
# stdio (Claude Desktop / Cursor / desktop clients):
ANTHROPIC_API_KEY=… uvx browser-research
# HTTP (the platform backend):
ANTHROPIC_API_KEY=… uvx browser-research --transport streamable-http --port 7862
Environment
| Var | Required | Default |
|---|---|---|
ANTHROPIC_API_KEY |
for extract (not visit) |
— |
ANTHROPIC_MODEL |
no | claude-sonnet-4-6 |
HEADLESS |
no | true (false to debug locally) |
MCP_TRANSPORT |
no | stdio |
MCP_HOST / PORT |
no | 0.0.0.0 / 7862 |
Stack
| Layer | Library |
|---|---|
| Browser engine | patchright (patched Playwright) |
| Structured extraction | Anthropic Claude Sonnet 4.6, with vision input |
| MCP transport | mcp[server] FastMCP — stdio / SSE / streamable-http |
| Session isolation | One Playwright context per MCP client_id |
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.