{
"mcpServers": {
"browser-mcp-server": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
MIT. View license →
Is it maintained?
Last commit 32 days ago.
Will it work with my client?
Transport: stdio. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Persistent memory using a knowledge graph
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Pre-build reality check. Scans GitHub, HN, npm, PyPI, Product Hunt — returns 0-100 signal.
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
MCP Security Weekly
Get CVE alerts and security updates for Browser Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Browser automation and web scraping MCP server powered by headless Chromium.
Standalone binary that exposes 27 browser automation and web scraping tools over MCP (Model Context Protocol) via stdio or HTTP transport using JSON-RPC 2.0.
--transport flagSingle crate, seven source modules:
| Module | Responsibility |
|---|---|
| src/main.rs | CLI parsing (clap), entry point, transport selection, tool definitions, tool dispatch |
| src/mcp.rs | JSON-RPC 2.0 types, MCP tool result helpers, async stdio loop, async dispatch |
| src/http.rs | HTTP transport: axum server, Bearer auth, MCP HTTP session management |
| src/browser.rs | Chromium lifecycle, stealth patches, 20 browser tool handlers, session cleanup |
| src/search.rs | url_read, url_read_raw, url_search (Brave/DDG) |
| src/content.rs | read_markdown (Readability), probe, submit_form |
| src/fetch.rs | fetch (HTTP-first, browser fallback) |
browser-mcp-server [OPTIONS]
Options:
--transport <MODE> Transport mode: stdio or http [default: stdio]
--host <HOST> Host to bind HTTP server [default: 127.0.0.1]
--port <PORT> Port for HTTP server [default: 8080]
--auth <TOKEN> Bearer token for HTTP authentication (optional)
--chrome-path <PATH> Path to Chrome/Chromium binary (auto-detected if not set)
--headless Run in headless mode [default: true]
--max-sessions <N> Max concurrent browser sessions [default: 5]
--session-timeout-secs <N> Session auto-close after inactivity [default: 300]
--page-load-timeout-ms <N> Per-navigation timeout [default: 60000]
--content-timeout-ms <N> Page content extraction timeout [default: 60000]
--max-content-bytes <N> Max HTML size before truncation [default: 1000000]
--no-sandbox Disable Chrome sandbox (required in Docker)
--data-dir <PATH> Data directory for screenshots & Chrome profile
--version Print version and exit
cargo build --release
nix develop # dev shell with all dependencies
nix build # build the package
--chrome-path| Crate | Purpose |
|---|---|
| chromiumoxide | Headless Chrome/Chromium via CDP |
| htmd | HTML to Markdown conversion |
| readability | Mozilla Readability content extraction |
| reqwest | HTTP client for lightweight tools |
| futures | Stream handling for Chrome events |
| url | URL parsing |
| dirs | Default data directory |
| clap | CLI argument parsing |
| serde, serde_json | JSON serialization for MCP protocol |
| tracing, tracing-subscriber | Structured logging to stderr |
| axum | HTTP server framework for MCP HTTP transport |
| tokio | Async runtime |
| uuid | Session ID generation (UUID v4) |
The server supports two transport modes: