Web Validator by DigestSEO
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An MCP server for HTML and CSS validation, technical SEO and accessibility checks, JSON-LD syntax validation, broken-link checks, and responsive screenshots. It is part of the DigestSEO suite of open-source SEO tools.
- Product: digestseo.com/validator-mcp
- Engineering case study: DigestSEO MCP Suite — AI visibility, Search Console, web validation, and trend intelligence
- Documentation: this README
- Support: digestseo.com/support
- Privacy: digestseo.com/privacy
Choose the right surface
This repository contains two deliberately separate MCP surfaces:
| Surface | Transport | Best for | Access and side effects |
| --- | --- | --- | --- |
| Local npm server | stdio | Claude Desktop, Cursor, and other local MCP clients | Can read user-selected workspace files, contact validation and link targets, and write screenshot files. |
| Hosted app | Streamable HTTP | ChatGPT and remote MCP clients | Can fetch one authorized public HTML page, run a bounded sitemap-first site audit, or process supplied markup. It cannot access local files, authenticate, recursively crawl links, execute page JavaScript, or create screenshots. |
Local installation:
Hosted endpoint:
Requirements
- Node.js 22.12.0 or newer
- An MCP client that supports stdio, or a client that supports Streamable HTTP for the hosted endpoint
The validation, SEO, schema, link, and report tools do not download a browser during installation. The local screenshot.capture tool installs its pinned headless browser into Puppeteer's cache on first use, then reuses that browser for later screenshots. Set PUPPETEER_CACHE_DIR if you need a custom cache location.
Tools
The npm package exposes these exact runtime tool names:
| Tool | Purpose | Network or filesystem behavior |
| --- | --- | --- |
| html.local | Validate a local HTML or XHTML file. | Reads the selected file and submits its markup to the external W3C Nu HTML Checker at validator.w3.org/nu/; .xhtml paths use application/xhtml+xml parsing semantics. |
| html.url | Validate the markup returned by a public URL. | Fetches the URL, then submits the returned markup to the external Nu checker. |
| css.local | Validate a local CSS file. | Reads the selected file and submits its CSS to the external W3C Jigsaw CSS Validator. |
| seo.metadata | Audit titles, descriptions, canonical tags, robots noindex directives, headings, viewport metadata, image alt attributes, and Open Graph metadata. | Processes supplied HTML locally. |
| links.broken | Check links extracted from supplied HTML. | Sends bounded HTTP requests to eligible public links. |
| schema.markup | Parse JSON-LD blocks and report JSON syntax errors. | Processes supplied HTML locally. |
| report.validation | Combine HTML/XHTML, optional CSS, SEO, JSON-LD, and bounded link checks in a Markdown report. | Reads selected files, contacts the validators, and checks eligible public links found in the markup; .xhtml inputs use XHTML parsing semantics for Nu validation. |
| screenshot.capture | Capture desktop, tablet, mobile, or custom viewport screenshots. | Opens a selected local file or eligible public URL and writes PNG files to the selected output directory; existing matching files may be replaced. |
Hosted app tools
The hosted app exposes eight tools:
| Tool | Purpose |
| --- | --- |
| audit_public_webpage | Fetch one authorized public HTML page and run the combined HTML, SEO/accessibility-signal, and JSON-LD syntax audit. Link checks are optional. |
| audit_public_site | Run a bounded sitemap-first audit of up to eight authorized, same-origin public pages. It respects robots.txt, returns compact page coverage and deduplicated findings, and does not run site-wide link checks. |