browsermcp
by conradkoh
README.md
# Browser MCP
This is a fork of [@browsermcp/mcp](https://www.npmjs.com/package/@browsermcp/mcp) that fixes some reliability issues.
## Installation
Add this to the mcp.json file
```json
{
"mcpServers": {
"browsermcp": {
"command": "npx",
"args": ["@conradkoh/browsermcp@latest"]
}
}
}
```
## Finding Logs
The Browser MCP server logs its activity to a temporary file. When the server exits or crashes, the full path to this log file will be printed to `stderr`.
To find and view the logs:
1. Look for a message on `stderr` (your terminal output) like:
`Exiting. Full logs available at: /var/folders/.../browsermcp-YYYY-MM-DDTHH-MM-SS-PID.log`
or
`FATAL ERROR: ... Full logs available at: /var/folders/.../browsermcp-YYYY-MM-DDTHH-MM-SS-PID.log`
2. To view the most recent logs in real-time, you can use the following command (this might take a few seconds):
```bash
tail -f $(find /var/folders /tmp -name "browsermcp-*.log" 2>/dev/null -print0 | xargs -0 ls -t | head -n 1)
```
(The `2>/dev/null` directly on the `find` command will suppress "Permission denied" and other errors from `find` itself.)
3. To view the entire content of the most recent log file:
```bash
cat $(find /var/folders /tmp -name "browsermcp-*.log" 2>/dev/null -print0 | xargs -0 ls -t | head -n 1)
```
## Improvements
1. **Improved logging:** Logs are now more reliably written to a temporary directory.
2. **Enhanced exit code handling:** Implemented a finite state machine for better management of exit codes.
3. **(WIP) Browser Gateway for multi-instance stability:** A browser gateway has been added to resolve conflicts when multiple MCP servers connect to the browser, preventing crashes that previously required server restarts.
TDQS
A3.6/5.0
Scored across 12 tools
Disambiguation5/5
Each tool has a distinct action (click, hover, type, navigate, etc.) with no overlap. Even similar actions like go_back and go_forward are clearly differentiated by direction.
Naming Consistency5/5
All tools follow a consistent `browser_<verb>` pattern in snake_case. The verbs are intuitive and match the action (e.g., browser_navigate, browser_type).
Tool Count5/5
12 tools is appropriate for browser automation, covering navigation, interaction, screenshots, and debugging without being overwhelming or sparse.
Completeness4/5
The set covers core browsing interactions and debugging. Missing a refresh or scroll action, but most essential workflows are possible.
Maintenance
ActivityInactive
ResponsivenessNo issues