Browser MCP Server
Enables AI agents to understand web page structure and content through structured data extraction and element discovery using Playwright, eliminating the need for screenshots.
README
Browser MCP Server
A Model Context Protocol (MCP) server that enables AI agents to understand web page structure and content without screenshots. Built with Playwright for reliable browser automation.
šÆ Purpose
Solves the problem where AI agents give "wrong and random suggestions" about web pages by providing them with structured page data instead of requiring visual screenshots.
⨠Features
- š Page Structure Analysis - Understand layout, forms, and interactive elements
- š Smart Content Extraction - Extract text using CSS selectors
- šÆ Element Discovery - Find and analyze specific page elements with accessibility info
- š Fast & Local - Uses Playwright's accessibility tree (no screenshots needed)
- š¤ AI-Optimized - Designed specifically for AI agent integration
š¦ Installation
npm install @your-org/browser-mcp-server
š Usage
Claude Desktop Integration
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"browser": {
"command": "npx",
"args": ["@your-org/browser-mcp-server"]
}
}
}
VS Code + Copilot Chat
Configure in your VS Code MCP settings to use with Copilot Chat.
Windsurf Integration
Add to your Windsurf MCP configuration.
Local Development
# Link for local development
npm link @your-org/browser-mcp-server
# Use in your project
const browserMCP = require('@your-org/browser-mcp-server');
š ļø Available Tools
browser_navigate
Navigate to a URL and get page information.
{
"url": "https://example.com"
}
browser_analyze_page
Get comprehensive page structure analysis.
{
"includeContent": true,
"includeForms": true,
"includeLinks": true,
"maxDepth": 2
}
browser_extract_text
Extract text content from page or specific elements.
{
"selector": "h1, h2, p",
"includeHidden": false
}
browser_get_elements
Find elements with detailed attributes and accessibility info.
{
"selector": "button, input, a[href]",
"includeAttributes": true,
"maxResults": 20
}
š Example AI Conversations
Understanding Page Flow
Human: Go to https://github.com/login and help me understand the login process
AI: I'll navigate to the GitHub login page and analyze its structure.
[Uses browser_navigate and browser_analyze_page]
The login page has:
- 2 input fields: username/email and password (both required)
- 1 "Sign in" submit button
- Links for "Forgot password" and "Create account"
- Form submits to /session with POST method
- Additional 2FA field may appear after initial submission
The typical flow is: enter credentials ā click Sign in ā (optional 2FA) ā redirect to dashboard.
Content Extraction
Human: Extract all the main article titles from https://news.ycombinator.com
AI: [Uses browser_navigate and browser_extract_text with CSS selectors]
Found 30 article titles including:
1. "Show HN: My new startup idea"
2. "Why distributed systems are hard"
3. "The future of web development"
[etc...]
š§ Development
# Clone and setup
git clone <your-repo>
cd browser-mcp-server
npm install
# Install browser
npx playwright install chromium
# Build
npm run build
# Test locally
npm start
šÆ Perfect For
- AI Agents that need to understand web page workflows
- Automated Analysis of website structure
- Content Extraction without visual parsing
- Form Discovery for automation planning
- Accessibility Analysis of web pages
šļø Architecture
āāā src/
ā āāā index.ts # MCP server entry point
ā āāā server.ts # MCP server implementation
ā āāā browser/ # Browser management
ā ā āāā manager.ts # Playwright browser lifecycle
ā āāā tools/ # MCP tools
ā ā āāā navigate.ts # Page navigation
ā ā āāā analyze.ts # Page structure analysis
ā ā āāā extract.ts # Content extraction
ā ā āāā elements.ts # Element discovery
ā āāā types.ts # TypeScript definitions
š Requirements
- Node.js 18+
- Chromium (auto-installed via Playwright)
- MCP-compatible AI agent (Claude Desktop, VS Code, Windsurf, etc.)
š License
MIT
Built for AI agents to understand the web, not just see it. š¤š
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.