A side-by-side look at the Firefox DevTools MCP and Firefox Devtools MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Firefox DevTools MCP for browser automation work as a local process; choose Firefox Devtools MCP for browser automation as a local process. You can also run both side by side in one mcpServers block.
slim, developer, mozilla.list_pages, new_page, navigate_page.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Browser Automation | Browser Automation |
| Quality signal | 63/100 · Good | 71/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | No auth required |
| Pricing | Not declared | Free |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 500 | 497 |
| Directory activity | 0 views 0 installs 0 upvotes | 3 views 0 installs 0 upvotes |
| Tools | 4 | 34 |
| Full listing | View Firefox DevTools MCP | View Firefox Devtools MCP |
slimthe minimum to browse and interact with pagesdeveloperadds tools for web developersmozillaadds tools for Firefox developersallevery modulelist_pagesList open tabs (index, title, URL). Selected tab is marked.new_pageOpen new tab at URL. Returns tab index.navigate_pageNavigate selected tab to URL.select_pageSelect active tab by index, URL, or title. Index takes precedence.close_pageClose tab by index.get_page_textGet the visible text of the page (document.body.innerText). Caps at maxLength (default 20000 chars); saveTo saves the full text to a file.take_snapshotCapture DOM snapshot with stable UIDs. A UID stays valid across snapshots until its element is removed or the page navigates. Output caps at maxLines (default 100); scope with selector or dump the full tree with saveTo.resolve_uid_to_selectorResolve UID to CSS selector. Fails if the element is gone.clear_snapshotClear snapshot UIDs. Usually not needed.click_by_uidClick element by UID. Set dblClick for double-click.hover_by_uidHover over element by UID.fill_by_uidFill text input/textarea by UID.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"firefox-devtools-mcp": {
"command": "npx",
"args": [
"-y",
"@mozilla/firefox-devtools-mcp@latest"
]
}
}
}
{
"mcpServers": {
"freema-firefox-devtools-mcp": {
"command": "npx",
"args": [
"-y",
"@mozilla/firefox-devtools-mcp@latest"
]
}
}
}