Website Audit MCP
Click on "Deploy 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., "@Website Audit MCP audit https://example.com and tell me what's hurting its SEO"
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.
website-audit-mcp
An MCP server (stdio) that fetches a web page over HTTP and scores it in five categories: performance, SEO, design, functionality and technology. It uses plain HTTP requests and cheerio. It needs no browser, no database and no API key.
What it checks
Category | Checks (weight in overall score) |
performance (25) | response time, HTML size, compression header, number of external scripts, redirects, HTTP status |
seo (25) | title, meta description, |
design (20) | viewport meta tag, favicon link, deprecated presentational elements, charset, inline styles, table count |
functionality (15) | links present, empty or |
technology (15) | HTTPS, TLS validity and expiry, security headers, server version disclosure, CMS and library detection |
Scores are 0-100. The overall score is the weighted average. Only the HTML document is analyzed; linked assets are not downloaded and JavaScript is not executed, so pages rendered client-side are scored on their initial HTML.
Related MCP server: webcheck-mcp
Input limits
Only
http:andhttps:URLs. URLs with embedded credentials are refused.Hosts that resolve to loopback, private, link-local or otherwise reserved addresses are refused. Every redirect target is checked again, and the connection uses the validated address.
10 s timeout, 2 MB body cap (the body is truncated and reported as
truncated), at most 5 redirects.compare_websitestakes 2 to 10 URLs.
Install
git clone <this repository>
cd website-audit-mcp
npm install
npm run buildRequires Node.js 18 or newer.
Configure
Claude Code:
claude mcp add website-audit -- node /absolute/path/to/website-audit-mcp/dist/index.jsClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"website-audit": {
"command": "node",
"args": ["/absolute/path/to/website-audit-mcp/dist/index.js"]
}
}
}Setting WEBSITE_AUDIT_ALLOW_PRIVATE=1 disables the private-host check. It exists for the test suite and should not be set otherwise.
Tools
audit_website
Input:
{ "url": "string (http or https URL)" }Output (JSON text): url, finalUrl, status, scores (performance, seo, design, functionality, technology, overall), findings[] (category, severity of info|warning|error, message), detected (cms, frameworks, server), metrics (responseTimeMs, htmlBytes, truncated, redirects).
compare_websites
Input:
{ "urls": ["string", "string"] }Output (JSON text): ranked[] (rank, url, overall, scores) sorted by overall score, highest first, and errors[] (url, error) for URLs that were refused or failed.
Invalid input returns a tool result with isError: true and a message.
Example
audit_website with {"url": "https://example.com"} (findings shortened):
{
"url": "https://example.com",
"finalUrl": "https://example.com/",
"status": 200,
"scores": { "performance": 100, "seo": 60, "design": 100, "functionality": 75, "technology": 84, "overall": 84 },
"findings": [
{ "category": "performance", "severity": "info", "message": "Response time 67 ms" },
{ "category": "seo", "severity": "error", "message": "Missing meta description" },
{ "category": "seo", "severity": "error", "message": "No <h1>" },
{ "category": "functionality", "severity": "warning", "message": "No links on the page" },
{ "category": "technology", "severity": "info", "message": "TLS valid (TLSv1.3), 55 days until expiry" },
{ "category": "technology", "severity": "warning", "message": "No Strict-Transport-Security header" }
],
"detected": { "cms": null, "frameworks": [], "server": "cloudflare" },
"metrics": { "responseTimeMs": 67, "htmlBytes": 577, "truncated": false, "redirects": 0 }
}Development
npm test # builds, then runs unit tests and the stdio end-to-end test
npx tsc --noEmit # type checkThe tests use a local HTTP server as a fixture. The end-to-end test starts the built server over stdio and talks to it with the SDK client.
Limitations
The scoring rules are fixed heuristics, not measurements from a browser. They do not replace Lighthouse.
Only the single URL given is fetched. No other pages of the site are crawled.
License
MIT, see LICENSE.
Available Tools
2 toolsaudit_websiteB
Fetch one http/https URL and score it 0-100 for performance, SEO, design, functionality and technology, with findings.
Inputs: url (required).
compare_websitesA
Audit 2 to 10 URLs and return them ranked by overall score, best first.
Inputs: urls (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools differ by cardinality: audit_website targets a single URL, compare_websites targets 2-10 URLs and returns a ranking. The boundary is mostly clear, though compare_websites is essentially a batch wrapper and an agent could plausibly reach for it when auditing one site plus a competitor.
Both names follow the same verb_noun snake_case pattern (audit_website, compare_websites). The verb directly signals the action and the noun the resource, so the convention is fully predictable.
Two tools is thin for a server claiming five audit dimensions (performance, SEO, design, functionality, technology). The surface is cohesive and each tool earns its place, but there is no tooling for targeted checks, configuration, or report retrieval, putting it at the borderline.
Single-site auditing and multi-site ranking are covered, so the core workflow has no dead ends. However, there is no way to request a specific dimension, retrieve or export a report, or re-examine prior results, which are notable gaps for an audit product.
Maintenance
Related MCP Connectors
Free website analyzer: score any public URL 0-100 across 8 quality dimensions. No auth.
Checks a public website in six areas and returns scores from 0 to 100. Free, no key needed.
HTTP, DNS, SSL, WHOIS, ping, security-header, SEO and AI-readiness checks for any website.
The website checker for AI agents. One call: verdict, score out of 100, fix list.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceMCP server for website SEO + GEO analysis. Scan any URL to get scores across 5 categories (SEO, GEO, Performance, Security, Accessibility) with actionable fix recommendations. Enables AI coding assistants to audit websites and implement fixes autonomously.-
- AlicenseNot gradedqualityDmaintenanceWebsite health checker MCP server - SEO audit, accessibility scan, broken link detection, performance analysis, and page comparison.56 npm3MIT
- AlicenseAqualityCmaintenancePerforms comprehensive website health audits including SSL, DNS, email authentication, performance, uptime, and broken link checks, all without requiring API keys. Returns a scored report with weighted metrics and actionable recommendations.767 npmMIT
- AlicenseAqualityDmaintenanceAnalyzes websites for broken links, missing meta tags, and redirect chains, returning a health score and actionable suggestions.162 npm1MIT