Skip to content

MCP Tools Reference

Generated from packages/mcp-server/src/tools.ts. All five tools are registered by @frontend-qa/mcp-server; see the MCP Server guide for how to run it.

Runs a scan (equivalent to frontend-qa scan) and returns a text summary.

{
url?: string; // must be a valid URL if provided
routes?: string[];
outDir?: string;
headed?: boolean;
timeoutMs?: number; // positive integer
failOn?: 'critical' | 'high' | 'medium' | 'low' | 'never';
discoverRoutes?: boolean;
har?: boolean;
a11y?: boolean;
perf?: boolean;
visual?: boolean;
}

Returns a text content block: run ID, report path, and issue counts by severity. Returns an error result if no URL was given and no dev server could be found or launched.

Reads back a previously written Report in full.

{
runId?: string; // omit for the most recent run
outDir?: string;
}

Returns the full Report as pretty-printed JSON text. Errors if no report is found.

Reads a report’s issues, filterable.

{
runId?: string;
outDir?: string;
minSeverity?: 'critical' | 'high' | 'medium' | 'low' | 'info';
collector?: string;
category?: string;
}

Returns Issue[] as JSON text, filtered by minSeverity (inclusive, ranked info < low < medium < high < critical), collector, and/or category — all optional and combinable.

Shorthand for get_issues filtered to collector === 'browser.console'.

{
runId?: string;
outDir?: string;
}

Returns a route’s screenshot as an image content block.

{
runId?: string;
outDir?: string;
route?: string; // omit for the first scanned route
}

Returns { type: 'image', data: <base64>, mimeType: 'image/png' }. Errors if no report or no matching screenshot is found. Route-to-file matching uses the same slug() function the browser collectors use to name screenshot files, so the route string doesn’t need to match a file path directly.

Every tool other than run_scan reads from an already-written report on disk (.local/frontend-qa/runs/<runId>/report.json) — they don’t trigger a new scan. Run frontend.run_scan first, or point runId/outDir at an existing run produced by the CLI.