Web Validator by DigestSEO
MCP-сервер для валидации HTML и CSS, технических SEO- и accessibility-проверок, проверки синтаксиса JSON-LD, проверки битых ссылок и адаптивных скриншотов. Это часть набора открытых SEO-инструментов DigestSEO.
-
Продукт: digestseo.com/validator-mcp
-
Инженерный кейс: DigestSEO MCP Suite — видимость в AI, Search Console, веб-валидация и аналитика трендов
-
Документация: этот README
-
Поддержка: digestseo.com/support
-
Конфиденциальность: digestseo.com/privacy
Выберите подходящий интерфейс
В этом репозитории есть два намеренно разделённых MCP-интерфейса:
| Интерфейс | Транспорт | Лучше всего подходит для | Доступ и побочные эффекты |
|---|---|---|---|
| Локальный npm-сервер | stdio | Claude Desktop, Cursor и другие локальные MCP-клиенты | Может читать выбранные пользователем файлы рабочей области, обращаться к целям валидации и ссылкам, а также записывать файлы скриншотов. |
| Хостинговое приложение | Streamable HTTP | ChatGPT и удалённые MCP-клиенты | Может загрузить одну авторизованную публичную HTML-страницу, выполнить ограниченный аудит сайта с приоритетом sitemap или обработать переданную разметку. Не может получать доступ к локальным файлам, проходить аутентификацию, рекурсивно обходить ссылки, выполнять JavaScript на странице или создавать скриншоты. |
Локальная установка:
npx -y mcp-web-validator
Конечная точка хостингового приложения:
https://web-validator-mcp.digestseo.com/mcp
Требования
-
Node.js 22.12.0 или новее
-
MCP-клиент с поддержкой stdio или клиент с поддержкой Streamable HTTP для хостинговой конечной точки
Инструменты валидации, SEO, schema, ссылок и отчётов не загружают браузер во время установки. Локальный инструмент screenshot.capture при первом использовании устанавливает закреплённый headless-браузер в кеш Puppeteer, а затем переиспользует его для последующих скриншотов. Если нужен нестандартный путь к кешу, задайте PUPPETEER_CACHE_DIR.
Инструменты
Пакет npm предоставляет следующие точные имена инструментов во время выполнения:
| Инструмент | Назначение | Сетевое поведение или работа с файловой системой |
|---|---|---|
html.local | Проверяет локальный файл HTML или XHTML. | Читает выбранный файл и отправляет его разметку во внешний W3C Nu HTML Checker по адресу validator.w3.org/nu/; для путей .xhtml используются семантики разбора application/xhtml+xml. |
html.url | Проверяет разметку, возвращённую публичным URL. | Загружает URL, затем отправляет полученную разметку во внешний Nu checker. |
css.local | Проверяет локальный CSS-файл. | Читает выбранный файл и отправляет его CSS во внешний W3C Jigsaw CSS Validator. |
seo.metadata | Аудит title, description, canonical-тегов, директив robots noindex, заголовков, метаданных viewport, атрибутов alt изображений и метаданных Open Graph. | Обрабатывает переданный HTML локально. |
links.broken | Проверяет ссылки, извлечённые из переданного HTML. | Отправляет ограниченные HTTP-запросы к подходящим публичным ссылкам. |
schema.markup | Разбирает блоки JSON-LD и сообщает об ошибках синтаксиса JSON. | Обрабатывает переданный HTML локально. |
report.validation | Объединяет проверки HTML/XHTML, опционального CSS, SEO, JSON-LD и ограниченной проверки ссылок в отчёт Markdown. | Читает выбранные файлы, обращается к валидаторам и проверяет подходящие публичные ссылки, найденные в разметке; для входных данных .xhtml используются семантики разбора XHTML при валидации Nu. |
screenshot.capture | Делает скриншоты для desktop, tablet, mobile или пользовательского viewport. | Открывает выбранный локальный файл или подходящий публичный URL и записывает PNG-файлы в выбранный выходной каталог; существующие совпадающие файлы могут быть заменены. |
Инструменты хостингового приложения
Хостинговое приложение предоставляет восемь инструментов:
| Инструмент | Назначение |
|---|---|
audit_public_webpage | Загружает одну авторизованную публичную HTML-страницу и выполняет объединённый аудит HTML, SEO/сигналов доступности и синтаксиса JSON-LD. Проверка ссылок опциональна. |
audit_public_site | Выполняет ограниченный аудит с приоритетом sitemap для не более чем восьми авторизованных публичных страниц того же origin. Учитывает robots.txt, возвращает компактное покрытие страниц и дедуплицированные находки и не выполняет проверку ссылок по всему сайту. |
validate_html | Проверяет необработанную HTML-разметку, уже переданную в диалоге. |
validate_css | Разбирает переданный CSS на предмет синтаксических ошибок внутри Worker. |
audit_seo_metadata | Аудит переданного HTML на предмет охваченных on-page SEO, robots noindex и сигналов доступности. |
validate_schema_markup | Проверяет блоки JSON-LD в переданном HTML на предмет ошибок синтаксиса JSON. |
check_broken_links | Проверяет до 20 авторизованных публичных ссылок, извлечённых из переданного HTML. |
generate_validation_report | Объединяет проверки для переданной разметки; base_url разрешает относительные ссылки, но не загружает страницу. |
audit_public_webpage следует не более чем трём проверенным редиректам, принимает ограниченный ответ text/html и записывает итоговый URL. Он не обходит дополнительные страницы, не выполняет JavaScript, не проходит аутентификацию и не загружает связанные таблицы стилей и ресурсы. audit_public_site сначала фиксирует итоговый публичный origin, затем читает ограниченный robots.txt, а также same-origin представления XML Sitemap, RSS 2.0, Atom 1.0 и plain-text sitemap, после чего в одном вызове проверяет не более восьми подходящих страниц из sitemap. Обнаружение robots может следовать не более чем пяти проверенным публичным редиректам между authority, как определено протоколом robots; полученные правила и относительные директивы Sitemap всё равно интерпретируются для изначально проверяемого authority. Записи sitemap и проверяемые страницы остаются same-origin; частные/зарезервированные назначения, учётные данные, нестандартные порты, self-fetch сервиса и понижение HTTPS-to-HTTP при редиректах отклоняются. Инструмент никогда не следует по HTML-ссылкам или внешним записям sitemap; используйте page_offset, когда ответ сообщает, что остались другие подходящие страницы. Загруженный HTML отправляется на https://html5.validator.nu/ — тот же внешний Nu HTML Checker, который используется в validate_html и инструменте отчётов. Разбор CSS, SEO-анализ и разбор JSON-LD выполняются внутри DigestSEO Worker. Опциональные проверки ссылок выполняют ограниченные HEAD-запросы с ограниченным fallback на GET при необходимости к подходящим публичным HTTP(S) URL; редиректы ссылок сообщаются, но не отслеживаются. Инструмент сайта намеренно не выполняет проверку ссылок по всему сайту. Хостинговое приложение не сохраняет входные данные инструментов, загруженный HTML или результаты.
Политика конфиденциальности
Проверяйте только те файлы, разметку и публичные веб-страницы, которыми вы владеете или которые уполномочены инспектировать. URL публичных страниц могут содержать чувствительные значения query, поэтому удаляйте токены и приватные идентификаторы перед отправкой. Не отправляйте пароли, API-ключи, access-токены, платёжные данные, медицинские данные, приватный исходный код или другие чувствительные персональные данные.
Локальный сервер работает с теми же разрешениями операционной системы, что и его MCP-клиент. Просматривайте входные данные инструментов перед одобрением доступа к файлам, внешней валидации, проверки ссылок или создания скриншотов. Хостинговое приложение не имеет доступа к вашей локальной файловой системе.
См. опубликованную политику конфиденциальности для деталей обработки данных и SECURITY.md для приватного сообщения об уязвимостях.
Настройка локального клиента
Claude Desktop
Добавьте сервер в 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"]
}
}
}
Перезапустите Claude Desktop после сохранения конфигурации.
Cursor и совместимые клиенты
Создайте command/stdio MCP-сервер с помощью:
npx -y mcp-web-validator
В этом репозитории также есть манифест плагина Cursor Marketplace. После
публикации плагина установите Web Validator by DigestSEO из Marketplace
Cursor или добавьте репозиторий через UI плагинов Cursor. Плагин включает
тот же локальный stdio-сервер и не требует API-ключей или переменных
окружения.
OpenAI Codex
Codex CLI может напрямую добавить опубликованный локальный stdio-пакет:
codex mcp add mcp-web-validator -- npx -y mcp-web-validator
Или вместо этого добавьте существующий хостинговый интерфейс Streamable HTTP:
codex mcp add mcp-web-validator-hosted --url https://web-validator-mcp.digestseo.com/mcp
Проверьте любую из конфигураций с помощью:
codex mcp list
Локальный пакет включает валидацию файлов рабочей области и создание
адаптивных скриншотов. Хостинговый интерфейс работает только удалённо и не
может получать доступ к локальным файлам или создавать скриншоты.
Gemini CLI
Gemini CLI поддерживает локальные stdio MCP-серверы. Добавьте опубликованный
пакет с помощью:
gemini mcp add mcp-web-validator npx -y mcp-web-validator
Эта команда записывает определение сервера в MCP-конфигурацию Gemini CLI.
Web Validator не требует API-ключей или переменных окружения.
GitHub Copilot CLI
Добавьте опубликованный локальный stdio-сервер:
copilot mcp add mcp-web-validator -- npx -y mcp-web-validator
Если запустить Copilot CLI из клона этого репозитория, он также сможет
обнаружить корневой файл .mcp.json, уже включённый в репозиторий. В нём
mcp-web-validator настроен на запуск через npx -y mcp-web-validator.
Kiro
Эта команда устанавливает локальный пакет stdio, сохраняя возможности работы с файлами рабочей области и снимками экрана. Требуется Node.js версии 22.12.0 или выше.
Разработка
Клонируйте репозиторий и установите зависимости в зафиксированных версиях:
git clone https://github.com/AKzar1el/mcp-web-validator.git
cd mcp-web-validator
npm ci
Запустите локальные проверки качества:
npm run check
npm test
npm run build
npm pack --dry-run
Запустите локальный stdio-сервер:
npm start
Отдельно проверьте размещённый Worker:
cd chatgpt-plugin
npm ci
npm run check
npm test
npm run deploy:dry-run
Требования к участию в разработке описаны в CONTRIBUTING.md. Информация о развёртывании и проверке для маркетплейса приведена в chatgpt-plugin/SUBMISSION.md.
Инструкции по установке с помощью агента см. в llms-install.md.
Экосистема
Лицензия
Распространяется на условиях лицензии MIT.