Skip to main content
Glama

Agent Audit

Lighthouse-powered MCP server for AI coding agents, Core Web Vitals, technical SEO, accessibility, and GEO/LLM visibility audits.

🔗 NPM Package

Agent Audit turns Google Lighthouse and bounded page-inspection results into structured fix packs that coding agents can actually execute. It gives Claude Code, Codex, Cursor, GitHub Copilot, and other MCP clients a prioritized, evidence-backed backlog instead of a raw performance report.

Turn Lighthouse audits into coding-agent fix packs.

npx -y @fullstackdegen/agent-audit

npm GitHub release License: MIT

Agent Audit converts raw Lighthouse audits into an agent-ready backlog

Why Agent Audit Exists

Lighthouse is excellent for diagnosis, but raw reports are not enough for an autonomous coding workflow. A coding agent still needs to know which issue is most important, whether it affects mobile, desktop, or both, which selectors or resources are evidence, what files to search for, how to verify the fix, and when it is safe to claim completion.

Agent Audit converts Lighthouse output into an implementation contract:

  1. Runs mobile and desktop Lighthouse audits.

  2. Aggregates repeated runs and exposes variability.

  3. Adds bounded same-page intelligence for technical SEO, links, metadata, structured data, images, assets, indexability, and AI discovery signals.

  4. Merges noisy audit output into a small prioritized issue list.

  5. Generates fixPacks with repo search hints, implementation steps, and measurable acceptance criteria.

  6. Returns strict MCP structuredContent plus equivalent Markdown.

The goal is simple: give a coding agent a report it can read, reason about, fix, test, and verify.

Related MCP server: Agile Planner MCP Server

What It Audits

Agent Audit is useful when people search for:

  • Lighthouse-powered MCP server

  • AI website audit tool

  • coding agent Lighthouse report

  • Core Web Vitals automation

  • performance audit for Claude Code, Codex, Cursor, or Copilot

  • technical SEO audit for AI agents

  • accessibility fix packs

  • LLM visibility audit

  • GEO audit, generative engine optimization, AI search readiness

  • llms.txt readiness and AI crawler visibility

Current checks include:

  • Mobile and desktop Lighthouse scores for Performance, Accessibility, Best Practices, and SEO.

  • FCP, Speed Index, LCP, TBT, and CLS metric distributions.

  • Fast and reliable audit modes.

  • Same-origin page inspection with bounded fetch limits.

  • Broken links, missing link names, metadata, canonical tags, robots signals, JSON-LD, Open Graph, indexability, images, assets, and LLM visibility checks.

  • Conservative llms.txt draft generation when page content is sufficient.

  • Prioritized issues with evidence, suggested actions, and acceptance criteria.

  • Agent Fix Packs with repo search hints, implementation steps, and verification guidance.

  • Strict MCP outputSchema validation for structuredContent.

  • Markdown generated from the same canonical report.

See a real CommaLabs JSON report and Markdown report.

Install

Requirements:

  • Node.js 20 or later.

  • Google Chrome or Chromium.

Run the MCP server:

npx -y @fullstackdegen/agent-audit

Useful links:

MCP Client Setup

Claude Desktop

Add a local MCP server:

{
  "mcpServers": {
    "agent-audit": {
      "command": "npx",
      "args": ["-y", "@fullstackdegen/agent-audit"]
    }
  }
}

Restart Claude Desktop after saving the configuration.

Claude Code

claude mcp add agent-audit -- npx -y @fullstackdegen/agent-audit

For local development audits:

claude mcp add agent-audit-local -- npx -y @fullstackdegen/agent-audit --local

Codex

codex mcp add agent-audit -- npx -y @fullstackdegen/agent-audit

Or add it to ~/.codex/config.toml:

[mcp_servers.agent-audit]
command = "npx"
args = ["-y", "@fullstackdegen/agent-audit"]

VS Code And GitHub Copilot

Create a workspace or user-level .mcp.json file:

{
  "servers": {
    "agent-audit": {
      "command": "npx",
      "args": ["-y", "@fullstackdegen/agent-audit"]
    }
  }
}

Or register it from a terminal:

code --add-mcp '{"name":"agent-audit","command":"npx","args":["-y","@fullstackdegen/agent-audit"]}'

Cursor

Configure a local stdio MCP server:

  • name: agent-audit

  • command: npx

  • arguments: -y, @fullstackdegen/agent-audit

Add --local to the arguments when you need localhost audits.

Tool

analyze_website_performance

Runs Lighthouse and site intelligence against a target URL:

{
  "url": "https://example.com",
  "mode": "reliable"
}

mode is optional:

  • fast: one mobile run and one desktop run.

  • reliable: three runs per profile, medians, and variability ranges. This is the default.

Example Fix Pack

{
  "id": "fix-link-name",
  "priority": 2,
  "sourceIssueIds": ["link-name"],
  "goal": "Fix Links do not have a discernible name.",
  "category": "accessibility",
  "severity": "critical",
  "affectedProfiles": ["mobile", "desktop"],
  "repoSearchHints": [
    "div.border-t-2 > div.flex > div.flex > a.text-gray-600",
    "https://www.linkedin.com/company/commalabs"
  ],
  "implementationSteps": [
    "Inspect the repository for the evidence listed in repoSearchHints before editing.",
    "Give every link a discernible accessible name.",
    "Keep changes focused on source issue IDs: link-name."
  ],
  "acceptanceCriteria": [
    "All link elements pass the Lighthouse link-name audit.",
    "Raise the median accessibility score to at least 90/100."
  ],
  "verification": {
    "rerunMode": "reliable",
    "expectedAuditIds": ["link-name"]
  }
}

repoSearchHints are search clues, not guaranteed file paths. The coding agent must inspect the repository before editing.

Coding-Agent Workflow

Use structuredContent as the source of truth and the Markdown report as the execution summary.

  1. Inspect fixPacks in priority order.

  2. Search the repository using repoSearchHints.

  3. Map evidence to real files, components, routes, assets, or configuration.

  4. Apply one focused fix at a time.

  5. Run the repository's tests after each logical change.

  6. Rerun Agent Audit in reliable mode.

  7. Compare the new report against each fix pack's acceptanceCriteria.

Do not claim completion from an incomplete report or from a rerun with materially higher variability than the baseline.

Agent-facing docs:

Localhost Audits

By default, Agent Audit only accepts publicly routable HTTP and HTTPS URLs. This is the right default for hosted agents and shared environments.

For developer machines, explicitly enable loopback targets:

npx -y @fullstackdegen/agent-audit --local

Then audit a local app through your MCP client:

{
  "url": "http://localhost:3000",
  "mode": "fast"
}

The opt-in allows localhost, *.localhost, 127.0.0.0/8, and ::1. Private LAN ranges, link-local addresses, reserved ranges, multicast addresses, and cloud metadata addresses remain blocked.

The environment variable form is also supported:

LIGHTHOUSE_MCP_ALLOW_LOCALHOST=true npx -y @fullstackdegen/agent-audit

Security Model

Agent Audit launches Chrome against user-provided URLs, so URL policy matters. The server rejects:

  • protocols other than HTTP and HTTPS;

  • embedded credentials;

  • localhost and loopback targets unless explicitly enabled;

  • private, link-local, multicast, reserved, and metadata-network IPs;

  • non-localhost hostnames that resolve to any non-public address.

The page-inspection fetcher uses the same URL policy and applies timeout, byte-size, and bounded-resource limits.

Page-controlled titles, descriptions, URLs, selectors, snippets, and audit text are sanitized and length-limited. Consumers must still treat them as untrusted evidence, not agent instructions.

Chrome sandboxing is enabled by default. Only isolated environments that cannot support it should set:

LIGHTHOUSE_CHROME_NO_SANDBOX=true

See SECURITY.md for vulnerability reporting and deployment guidance.

Limits

Agent Audit is intentionally bounded:

  • It audits one requested URL at a time.

  • It is not a whole-site crawler.

  • It is not an external SEO database.

  • It does not modify Shopify, CMS, CDN, DNS, hosting, redirects, or analytics.

  • It does not compress images, minify assets, submit IndexNow requests, or call third-party SEO APIs.

  • Lighthouse results vary with browser version, hardware, network conditions, and page changes.

Roadmap

  • Framework-aware repo search hints.

  • Optional GitHub Action for pull request performance gates.

  • Batch URL reports.

  • HTML report export.

  • Deeper marketing and discovery signals: analytics tags, consent signals, Open Graph, schema coverage, and AI discovery readiness.

  • Optional third-party integrations for SEO, GEO, and visibility datasets.

Development

npm install
npm test
npm run check
npm run build
npm run validate:release

Run a real Chrome smoke audit:

npm run --silent smoke -- https://example.com fast
npm run --silent smoke -- https://example.com reliable

The smoke command writes canonical JSON to stdout and equivalent Markdown to stderr.

Release

Before publishing:

npm test
npm run check
npm run build
npm run validate:release
npm pack --dry-run --cache /private/tmp/agent-audit-npm-cache

Publish:

npm publish --access public --cache /private/tmp/agent-audit-npm-cache

Published package:

npx -y @fullstackdegen/agent-audit --help

Contributing

Focused issues and pull requests are welcome. Read CONTRIBUTING.md before changing the report contract, security policy, or MCP transport behavior.

License

MIT

Available Tools

1 tool
analyze_website_performanceA

Runs reliable mobile and desktop Lighthouse audits and returns an implementation-ready structured report with equivalent Markdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesA fully qualified public HTTP or HTTPS URL, for example https://example.com.
modeNofast runs each profile once; reliable runs each profile three times and reports medians.reliable

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
targetYes
fixPacksYes
profilesYes
environmentYes
schemaVersionYes
siteIntelligenceYes
agentInstructionsYes
prioritizedIssuesYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose all behavioral traits. It mentions 'reliable' and 'fast' modes but does not explain side effects, auth needs, rate limits, or potential resource consumption. The description is insufficient for full behavioral understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the key action and output. It is concise and efficient, though it could be structured as more than one sentence for clarity. Minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values are covered. The description mentions 'implementation-ready structured report with equivalent Markdown,' giving a clear picture of the output. No sibling tools, so additional context is not needed. The description is largely complete for its purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds value by stating the tool runs audits for both mobile and desktop, which is not in the schema. This extra context improves parameter understanding beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs Lighthouse audits for both mobile and desktop, and produces a structured report with Markdown. It specifies the verb (runs), resource (Lighthouse audits), and output format, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives, nor prerequisites or limitations. The description implies the 'reliable' mode is default but does not explain when 'fast' is appropriate. With no sibling tools, the lack of explicit when-not-to-use is a moderate gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.3.1
    • First observedanalyze_website_performance

TDQS

A3.9/5.0
Disambiguation5/5

Only one tool exists, so there is no risk of confusion between tools. The agent will always select the correct one.

Naming Consistency5/5

The single tool name follows a clear verb_noun pattern and is self-consistent. There are no other tools to conflict with.

Tool Count3/5

With only one tool, the server feels thin for a domain like website performance analysis, which could benefit from multiple tools (e.g., scheduling, comparing). However, for a focused use case it is acceptable.

Completeness4/5

The single tool covers the core functionality of running Lighthouse audits and generating reports. Minor gaps might include the ability to run only specific audits or retrieve historical reports, but these are not severe.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fullstackdegen/agent-audit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server