Getting started with Serge MCP

This guide walks you through installing Serge MCP, running your first benchmarking session, reading the report, and fixing the issues it finds. Total time: about 10 minutes.

Before you start

You need two things installed:

Node.js 18+Check with node --version. Install from nodejs.org if needed.
Claude DesktopWith an active Claude Pro or Max subscription. Download from claude.ai/download.

Add Serge MCP to Claude Desktop

Open the Claude Desktop configuration file in your text editor. The file location depends on your operating system:

macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json

If the file does not exist yet, create it. Add the Serge MCP server to the mcpServers section:

{
  "mcpServers": {
    "serge": {
      "command": "npx",
      "args": ["-y", "@serge-ai/mcp-server"]
    }
  }
}

If you already have other MCP servers configured, add the "serge" entry alongside them inside the existing mcpServers object.

Restart Claude Desktop

Fully quit Claude Desktop — on macOS press Cmd+Q, on Windows close it from the system tray. Simply closing the window is not enough.

Reopen Claude Desktop. On first launch after adding Serge MCP, it will automatically download and install Chromium (the browser Serge uses). This can take up to a minute — you only need to do this once.

To verify it worked, start a new conversation in Claude Desktop and check that the Serge tools appear in the tools menu (the hammer icon). You should see eight tools starting with serge_.

Run your first session

Open a new conversation in Claude Desktop and type a prompt that tells Claude to use Serge. Be specific about the site and the task:

Use Serge to find the cheapest wireless headphones on digitec.ch

Claude will call serge_start_session to begin, then use the browsing tools to navigate the site. A browser window will open so you can watch in real time.

During the session, Claude decides which tools to use based on what it sees in the page's accessibility tree. It will navigate, click buttons, type in search fields, and scroll — just like a user would.

Here are more prompts you can try:

Use Serge to search for "running shoes" on zalando.ch and add the first result to the cart.

Use Serge to find the contact form on example.com and fill it out with test data.

Use Serge to navigate from the homepage of digitec.ch to laptops under 1000 CHF.

Use Serge to find the return policy on galaxus.ch starting from the homepage.

Read the report

When the session ends, Claude calls serge_end_session and Serge generates an HTML report. The report opens automatically in your browser.

If you missed it, open the latest report from your terminal:

npx @serge-ai/mcp-server report

The report has four sections:

SummaryTotal steps, duration, outcome, and high-level stats.
Step-by-step timelineEvery action Claude took, with duration, parameters, and a screenshot. Click any screenshot to expand it. Failed steps are highlighted in red.
FindingsAutomatically detected issues: missing ARIA labels, bot detection, slow loads, inaccessible iframes, duplicate names. Each finding includes a description and suggested fix.
Network summaryTotal requests, page weight, error count, and the five slowest resources.

Fix the issues

The fastest way to fix issues is to paste your findings back into Claude. Copy this prompt and replace the placeholder with the findings section from your report:

I just ran a Serge MCP benchmarking session on my website. Here are the findings:

[Paste your findings from the Serge report here]

For each finding, please:
1. Explain what the issue means for AI agents trying to use my site
2. Show me the exact code change or configuration needed to fix it
3. Verify the fix doesn't break existing functionality

Start with the highest-impact fixes first.

Here is what the most common fixes look like:

Missing ARIA labels

Add aria-label attributes to interactive elements that don't have visible text or have generic text:

<!-- Before: agent may not distinguish these -->
<button class="icon-btn"><svg>...</svg></button>

<!-- After: agent knows what this does -->
<button class="icon-btn" aria-label="Add to cart"><svg>...</svg></button>

Duplicate accessible names

When multiple elements share the same name (e.g. several "Add to cart" buttons), add context to make each unique:

<!-- Before: three identical buttons -->
<button>Add to cart</button>
<button>Add to cart</button>

<!-- After: each button is unique -->
<button aria-label="Add Sony WH-1000XM5 to cart">Add to cart</button>
<button aria-label="Add AirPods Pro to cart">Add to cart</button>

Bot detection

If your CDN blocks AI agents, consider adding an allow rule for known agent user agents. In Cloudflare, create a WAF custom rule:

# Cloudflare WAF custom rule
Field: User-Agent
Operator: contains
Value: Claude

Action: Allow

Inaccessible iframes

Forms embedded in iframes (common for payment and authentication) are invisible to the accessibility tree. Where possible, use inline forms instead. If iframes are unavoidable, add a descriptive title attribute:

<iframe
  src="https://payments.example.com/checkout"
  title="Payment form - enter card details"
></iframe>

Re-run and compare

After applying fixes, run another Serge session with the same task. Compare the findings — fixed issues will no longer appear in the report.

View all your past sessions from the terminal:

npx @serge-ai/mcp-server history

Open a specific past report by session ID:

npx @serge-ai/mcp-server report <session-id>

Each session is stored locally at ~/.serge/sessions/ with full data and screenshots. Reports are at ~/.serge/reports/.

Tips

Be specificTell Claude exactly what site and task to benchmark. "Find the cheapest X on Y" works better than "browse Y".
Say "Use Serge"If Claude uses its built-in browser instead of Serge tools, add "Use Serge" to your prompt. Claude may default to its own browser if the instruction is ambiguous.
Watch the browserSerge opens a visible browser window. Watch it to understand where navigation breaks down — this context helps when reviewing the report.
Test one flow at a timeRun separate sessions for search, checkout, account creation, etc. This produces focused reports with actionable findings per flow.
Share reportsReports are self-contained HTML files. Send them to your team or attach them to issues — no special viewer needed.

Next steps

Full documentationAll 8 tools, report format, troubleshooting, privacy
Scan your domainCheck your agent readiness score across 6 layers with 35 checks
GitHubSource code, issues, and contributions