mcp-web-validator

mcp-web-validator

Enables AI coding assistants to validate HTML/CSS markup using W3C APIs, perform technical SEO audits, check broken links, and validate JSON-LD schemas directly in local workspaces.

Category
Visit Server

README

mcp-web-validator

npm version License: MIT

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)
🖥️ desktop.png 📟 tablet.png 📱 mobile.png

✨ 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

  1. validate_local_html
    • Arguments: 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.
  2. validate_url
    • Arguments: url: string (The live public URL to audit)
    • Description: Validates live page markup against W3C standards.
  3. validate_local_css
    • Arguments: filePath: string (Absolute or relative path to the CSS file)
    • Description: Checks local CSS syntax against the W3C Jigsaw API.
  4. audit_seo_metadata
    • Arguments: htmlContent: string (Raw HTML string)
    • Description: Performs a fast, local SEO audit (titles, descriptions, headings, images, alt tags).
  5. check_broken_links
    • Arguments: htmlContent: string, baseUrl?: string
    • Description: Tests all links in the document to detect 404s or broken URLs.
  6. validate_schema_markup
    • Arguments: htmlContent: string
    • Description: Validates JSON-LD schema syntax.
  7. generate_validation_report
    • Arguments: htmlFilePath: string, cssFilePath?: string, baseUrl?: string
    • Description: 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.
  8. capture_screenshots
    • Arguments: 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.json
  • macOS: ~/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:

  1. Click + Add New MCP Server.
  2. Set Name: mcp-web-validator
  3. Set Type: command
  4. Set 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured