@gridwork/siteaudit
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@gridwork/siteauditrun a comprehensive audit on example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@gridwork/siteaudit
An MCP server that audits any website for accessibility (WCAG 2.1 AA / EAA), performance, SEO, design quality, and mobile responsiveness. Get actionable scores, grades, and prioritized fixes.
Built for the compliance era: EU Accessibility Act enforcement is live, EU AI Act deadline is August 2026. Every website needs auditing.
By Gridwork
Tools
Tool | Description |
| Full comprehensive audit across all 5 categories |
| Scores and grades only — fast triage |
| WCAG 2.1 AA focused audit with criterion references |
| Performance analysis with actionable fixes |
| SEO check: meta, OG, structured data, etc. |
| Side-by-side comparison of two URLs |
Related MCP server: a11y-mcp-server
Install
Claude Code
claude mcp add @gridwork/siteaudit -- node /path/to/@gridwork/siteaudit/dist/index.jsClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"@gridwork/siteaudit": {
"command": "node",
"args": ["/path/to/@gridwork/siteaudit/dist/index.js"]
}
}
}Cursor / Windsurf
Add to your MCP config:
{
"@gridwork/siteaudit": {
"command": "node",
"args": ["/path/to/@gridwork/siteaudit/dist/index.js"]
}
}Build from Source
npm install
npm run buildWhat It Checks
Accessibility (30% of score)
Language attribute, image alt text, form labels
Heading hierarchy, link text quality, ARIA landmarks
Skip navigation, tab order, auto-playing media
WCAG criterion references on every issue
Performance (20%)
Load time, page size, DOM complexity
Render-blocking resources, compression, caching
Image optimization (dimensions, lazy loading)
Resource preloading and preconnect hints
SEO (20%)
Title, meta description, heading structure
Open Graph, Twitter Cards, canonical URL
Structured data (JSON-LD), favicon
Internal linking, robots directives
Design Quality (15%)
Font consistency, color system coherence
Touch target sizes, text readability
Visual hierarchy, CTA presence
Dark mode support, branding elements
Mobile (15%)
Viewport configuration, zoom support
Fixed-width overflow detection
Responsive images, media queries
Input types for mobile keyboards
EAA Compliance Status
Every audit includes an EAA (European Accessibility Act) compliance assessment:
COMPLIANT: Meets WCAG 2.1 AA baseline
PARTIAL: Some issues to resolve
NON-COMPLIANT: Critical accessibility failures
License
MIT
Available Tools
6 toolsaudit_accessibilityA
Run an accessibility-focused audit against WCAG 2.1 AA criteria and EAA (European Accessibility Act) requirements. Returns issues with WCAG criterion references and fixes.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to audit for accessibility |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden. It mentions the tool runs an audit and returns issues, but does not disclose whether the tool is destructive, has rate limits, requires authentication, or handles invalid URLs. This lack of transparency could lead to misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences that efficiently convey the tool's purpose and output. No redundant information, front-loaded with key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema), the description is minimally complete. However, it lacks context on behavior (e.g., idempotency), limits, and error handling, which would help the agent understand the tool's full impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'url', which is already described as 'The URL to audit for accessibility'. The description adds no further semantic meaning beyond this, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: running an accessibility audit targeting specific standards (WCAG 2.1 AA and EAA). It specifies the resource ('accessibility audit'), the verb ('run'), and the output (issues with references and fixes). This distinguishes it from sibling tools like audit_performance or audit_seo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for accessibility auditing but provides no explicit guidance on when to use this tool versus alternatives like quick_check or audit_site. No 'when not to use' or comparative context, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_performanceA
Analyze a page's performance: load time, page size, render-blocking resources, DOM complexity, compression, caching, and image optimization.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to audit for performance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must bear full burden. It lists analysis areas but does not disclose safety (read-only), side effects, rate limits, or prerequisites, leaving the agent uncertain about operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence listing key aspects, but it could be better structured (e.g., bullets) for readability. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers the main purpose and metrics. However, it omits details about output format or response structure, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the only parameter 'url' has a description). The tool description adds no extra meaning beyond the schema, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it analyzes page performance and lists specific metrics (load time, page size, etc.), distinguishing it from sibling tools like quick_check, audit_site, audit_accessibility, and audit_seo which cover other aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for performance analysis but provides no explicit guidance on when to use this tool versus siblings like quick_check or audit_site, nor any when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_seoA
Check a page's SEO: title, meta description, headings, Open Graph, Twitter Cards, canonical URL, structured data, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to audit for SEO |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only lists what it checks without disclosing behavioral traits like read-only nature, rate limits, or handling of inaccessible pages.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently enumerates SEO elements. It is not verbose, but could benefit from slightly more structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low parameter count and no output schema, the description adequately specifies the action. However, it omits details about the output format or response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter url. The description adds little beyond the schema description, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it checks a page's SEO and lists specific elements (title, meta description, headings, etc.), distinguishing it from siblings like audit_accessibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for SEO auditing but provides no explicit guidance on when to use vs. alternatives like quick_check or audit_performance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_siteA
Run a comprehensive site audit covering accessibility (WCAG 2.1 AA / EAA), performance, SEO, design quality, and mobile responsiveness. Returns scores, grades, and prioritized fixes.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to audit (e.g., https://example.com) | |
| format | No | Output format: 'report' for readable markdown, 'json' for structured data | report |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states the tool returns scores, grades, and prioritized fixes, indicating a read-only audit. However, it does not explicitly state that the tool does not modify the site or require authentication, leaving some uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the purpose and coverage, the second states the output. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with simple parameters and no output schema, the description covers inputs and outputs adequately. It mentions specific standards (WCAG 2.1 AA/EAA) and output types. Could be more complete by noting any limitations or prerequisites, but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters (url and format) with clear descriptions. The tool description adds no additional meaning beyond what the schema provides, so it scores at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Run a comprehensive site audit'), specifies the coverage areas (accessibility, performance, SEO, design quality, mobile responsiveness), and distinguishes from sibling tools like audit_accessibility or quick_check by indicating it is a full audit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for a full overview but does not explicitly state when to use this tool versus the specialized siblings (e.g., audit_accessibility) or when not to use it. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_sitesA
Compare two websites side by side across all audit categories. Useful for competitive analysis or before/after comparisons.
| Name | Required | Description | Default |
|---|---|---|---|
| url1 | Yes | First URL to compare | |
| url2 | Yes | Second URL to compare |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose any behavioral traits beyond the basic action, such as side effects, auth requirements, or what 'all audit categories' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose, and contains no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two string parameters and no output schema, the description is adequate. It covers purpose and usage context, but could mention what the comparison output looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for url1 and url2. The description adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares two websites side by side across all audit categories. This is specific and distinguishes it from siblings like audit_site (single site) and quick_check (quick audit).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description suggests use cases like competitive analysis or before/after comparisons, providing good context. However, it does not explicitly state when not to use it or list alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quick_checkA
Get a quick overview of a site's health — scores and grades only, no detailed issues. Fast way to triage a URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes that the tool returns 'scores and grades only, no detailed issues,' which sets expectations about output scope. With no annotations provided, the description bears full burden and could mention error handling or required authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words, immediately conveying the core functionality and use case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description provides sufficient context about what it does and returns. It could be slightly more explicit about the structure of scores/grades.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of the parameter ('url'), and the description adds minimal additional context beyond the schema's own description. The phrase 'URL to check' is straightforward, so the description doesn't significantly enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a quick site health overview with scores and grades only, distinguishing it from more detailed sibling tools like audit_site or audit_seo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It describes the tool as a 'fast way to triage a URL,' implying it's for quick initial checks rather than detailed analysis. However, it does not explicitly mention when not to use or name specific alternatives.
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.
6 tool updates
v1.0.0- First observed
audit_accessibility - First observed
audit_performance - First observed
audit_seo - First observed
audit_site - First observed
compare_sites - First observed
quick_check
TDQS
Each tool has a distinct function: quick_check for overview, audit_site for full audit, and the focused tools for specific categories (accessibility, performance, SEO). compare_sites is separate. No overlap.
All tool names follow a verb_noun pattern with underscores: quick_check, audit_site, audit_accessibility, audit_performance, audit_seo, compare_sites. Consistent and predictable.
Six tools is well-scoped for a site audit server, covering both high-level and detailed audits plus comparison. Each earns its place.
Covers key audit areas (overall, accessibility, performance, SEO) and comparison. Minor gap: no separate mobile or security audit tool, though mobile is mentioned in audit_site.
Maintenance
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
Website QA for your coding agent: audit SEO, performance, security, accessibility over MCP.
Security, SEO and AI-visibility scanner for web apps · free scans and focused checks via MCP.
Conformance checker for MCP servers. Free, no key, verdicts recomputable and re-measured daily.
- RampifyOAuthdev.rampify
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
Related MCP Servers
- AlicenseBqualityBmaintenanceMCP server that enables AI agents to perform comprehensive web audits using Google Lighthouse with 13+ tools for performance, accessibility, SEO, and security analysis.111,18667MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server for accessibility auditing that provides WCAG 2.2 criteria lookup, HTML remediation guidance, and automated documentation generation for UI components. It enables users to analyze code snippets for issues and generate professional accessibility audit reports.233MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that lets an AI agent scan a web page for WCAG accessibility issues and get back findings it can act on.88MIT
- AlicenseAqualityDmaintenanceAn MCP server for web accessibility testing that enables scanning, auditing, and fixing WCAG, ADA, and other compliance issues directly from your IDE, with free local scans, AI-generated framework-aware fixes, and verification capabilities.14616MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/thegridwork/siteaudit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server