mcp-web-validator
This server validates web pages and performs technical SEO audits, enabling AI coding assistants to catch issues in HTML/CSS markup, metadata, links, and structured data — directly from local files or live URLs.
Validate HTML (
validate_local_html/validate_url): Check local HTML files or live URLs against the W3C Nu HTML Checker for syntax errors and compliance issues.Validate CSS (
validate_local_css): Check local CSS files against the W3C Jigsaw CSS Validator for styling and syntax errors.Audit SEO Metadata (
audit_seo_metadata): Run a fast, offline SEO audit analyzing title/description lengths, heading hierarchies, viewport responsiveness, image alt attributes, and Open Graph metadata.Check Broken Links (
check_broken_links): Extract and test all hyperlinks in HTML content, detecting broken internal or external URLs (supports a base URL for resolving relative paths).Validate Schema Markup (
validate_schema_markup): Parse and validate JSON-LD structured data blocks embedded in HTML.Generate Unified Report (
generate_validation_report): Combine all checks (HTML, CSS, SEO, schema, broken links) into a single Markdown report with PageSpeed-inspired scoring tables.Capture Screenshots: Take responsive screenshots (desktop, tablet, mobile) of local or live pages using a headless browser.
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., "@mcp-web-validatorValidate the HTML in about.html"
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.
mcp-web-validator
Part of the DigestSEO suite of open-source SEO tools.
A Model Context Protocol (MCP) server that empowers AI coding assistants (like Claude, Cursor, ChatGPT, etc.) to validate HTML/CSS markup against the official W3C specification engine and perform technical SEO/accessibility audits directly inside local workspaces.
💬 How It Works (Visual Flow)
Imagine asking your AI coding assistant:
User: "I just finished building my homepage. Can you validate it, check for SEO issues, and take responsive screenshots to see if it looks correct?"
Here is the exact flow of how the assistant uses mcp-web-validator to audit the code and present results:
1️⃣ Step 1: Technical & SEO Score Card
The assistant automatically runs generate_validation_report which aggregates standard specs and outputs a unified PageSpeed-style scorecard directly in your chat:
📋 Web Validation & SEO Audit Report — 🟢 92/100
Generated for: index.html
⚡ Page Health Scores (PageSpeed Inspired)
Score Card | Status | Score |
W3C HTML Validation | 🟠 Needs Work | 88 / 100 |
SEO & Accessibility | 🟠 Warnings | 88 / 100 |
Links Integrity | 🟢 All Good | 100 / 100 |
2️⃣ Step 2: Responsive Viewport Screenshot Audits
The assistant launches local Puppeteer using capture_screenshots to render the page across multiple devices:
Desktop (1440x900) | Tablet (768x1024) | Mobile (375x812) |
🖥️ | 📟 | 📱 |
Related MCP server: aria51 MCP Server
✨ Features
HTML Validation: Leverages the official W3C Nu HTML Checker API (no API keys required).
CSS Validation: Calls the W3C Jigsaw CSS Validator API to debug stylesheets.
Technical SEO Check: Audits title/description lengths, viewport responsiveness, heading hierarchies, Open Graph metadata, and image alt attributes.
Broken Link Checker: Scans HTML documents for broken internal or external URLs.
Schema Validator: Parses and validates embedded JSON-LD structured schemas.
Visual Viewport Audits: Uses a headless Puppeteer browser locally to capture responsive layout screenshots (desktop, tablet, mobile) for design auditing.
🛠️ Tools Exposed
validate_local_htmlArguments:
filePath: string(Absolute or relative path to the local HTML file)Description: Submits local HTML to the W3C Nu Checker and returns syntax errors/warnings.
validate_urlArguments:
url: string(The live public URL to audit)Description: Validates live page markup against W3C standards.
validate_local_cssArguments:
filePath: string(Absolute or relative path to the CSS file)Description: Checks local CSS syntax against the W3C Jigsaw API.
audit_seo_metadataArguments:
htmlContent: string(Raw HTML string)Description: Performs a fast, local SEO audit (titles, descriptions, headings, images, alt tags).
check_broken_linksArguments:
htmlContent: string,baseUrl?: stringDescription: Tests all links in the document to detect 404s or broken URLs.
validate_schema_markupArguments:
htmlContent: stringDescription: Validates JSON-LD schema syntax.
generate_validation_reportArguments:
htmlFilePath: string,cssFilePath?: string,baseUrl?: stringDescription: Automatically runs all checks (HTML/CSS syntax, SEO audit, JSON-LD, broken links) and generates a unified Markdown report card styled with PageSpeed-inspired scoring.
capture_screenshotsArguments:
targetPath: string(Path to local HTML file or HTTP(S) URL),outputDir?: string,viewports?: Array<{ name: string, width: number, height: number }>Description: Renders the target in a local headless browser and saves screenshots across desktop, tablet, and mobile views.
🚀 Configuration
1. Claude Desktop
Add this to your claude_desktop_config.json:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-web-validator": {
"command": "npx",
"args": ["-y", "mcp-web-validator"]
}
}
}2. Cursor
To use this inside Cursor, navigate to Settings > Features > MCP:
Click + Add New MCP Server.
Set Name:
mcp-web-validatorSet Type:
commandSet Command:
npx -y mcp-web-validator
3. Development / Local Execution
To run and test the server locally:
git clone https://github.com/AKzar1el/mcp-web-validator.git
cd mcp-web-validator
npm install
npm run build
node dist/index.js📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Maintenance
Latest Blog Posts
- 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/AKzar1el/mcp-web-validator'
If you have feedback or need assistance with the MCP directory API, please join our Discord server