Web

browser-automation - Claude MCP Skill

This skill should be used when the user asks about browser automation, testing web pages, extracting content, filling forms, taking screenshots, or monitoring console/network activity. Activates for E2E testing, form automation, browsing tasks, or debugging web applications.

SEO Guide: Enhance your AI agent with the browser-automation tool. This Model Context Protocol (MCP) server allows Claude Desktop and other LLMs to this skill should be used when the user asks about browser automation, testing web pages, extracting... Download and configure this skill to unlock new capabilities for your AI workflow.

🌟71 stars • 43 forks
📥0 downloads

Documentation

SKILL.md
When the user asks about browser automation, use Firefox DevTools MCP to control a real Firefox browser.

## Before Starting

Always call `list_pages` first. This checks whether Firefox is already running and which pages are open. Do not assume Firefox needs to be restarted or that you need to navigate from scratch — reuse the existing session whenever possible.

## When to Use This Skill

Activate this skill when the user:

- Wants to automate browser interactions ("Fill out this form", "Click the login button")
- Needs E2E testing ("Test the checkout flow", "Verify the login works")
- Wants to browse or extract content ("Get all links on this page", "Extract prices")
- Needs screenshots ("Screenshot this page", "Capture the error state")
- Wants to debug ("Check for JS errors", "Show failed network requests")
- Needs to profile performance ("Profile this page load")

## Core Workflow

### Step 1: Navigate and Snapshot

```
navigate_page url="https://example.com"
take_snapshot
```

The snapshot returns a DOM representation with UIDs (e.g., `e42`) for each interactive element.

### Step 2: Interact with Elements

Use UIDs from the snapshot:

```
fill_by_uid uid="e5" text="user@example.com"
click_by_uid uid="e8"
```

### Step 3: Re-snapshot After Changes

DOM changes invalidate UIDs. Always re-snapshot after:
- Page navigation
- Form submissions
- Dynamic content loads

```
take_snapshot  # Get fresh UIDs
```

## Quick Reference

| Task | Tools |
|------|-------|
| Navigate | `navigate_page`, `navigate_history` |
| See DOM | `take_snapshot` |
| Click | `click_by_uid` |
| Hover | `hover_by_uid` |
| Type | `fill_by_uid`, `fill_form_by_uid` |
| Drag | `drag_by_uid_to_uid` |
| Dialogs | `accept_dialog`, `dismiss_dialog` |
| Screenshot | `screenshot_page`, `screenshot_by_uid` |
| Debug | `list_console_messages`, `list_network_requests` |
| Profile | `profiler_start`, `profiler_stop` |

## Guidelines

- **Check existing session first**: Call `list_pages` before navigating — reuse the running Firefox session rather than starting fresh
- **Always snapshot first**: UIDs only exist after `take_snapshot`
- **Re-snapshot after DOM changes**: UIDs become stale after interactions
- **Screenshots**: in Cowork (system prompt has an outputs folder host path), call `screenshot_page saveTo="<host-outputs-path>/screenshot.png"` then call `present_files` with that path. Otherwise call `screenshot_page` without `saveTo` and include the returned image directly in your reply — the user cannot see tool call outputs.
- **Check for errors**: Use `list_console_messages level="error"` to catch JS issues
- **Firefox only**: This MCP controls Firefox, not Chrome or Safari
- **Reconfiguring Firefox**: to use a specific binary, profile, or headless mode, call `restart_firefox` with the relevant options (`firefoxPath`, `profilePath`, `headless`)

Signals

Avg rating0.0
Reviews0
Favorites0

Information

Repository
freema/firefox-devtools-mcp
Author
freema
Last Sync
7/8/2026
Repo Updated
7/8/2026
Created
4/10/2026

Reviews (0)

No reviews yet. Be the first to review this skill!