Выполняет аудит контента перед деплоем, включая SEO, плотность ключевых слов, целостность перевода, проверку ссылок и соответствие нормативным требованиям к заявлениям.
Также известен как adsandcode/contentgate, mcp-server-contentgate
- Звёзды
- 0
- Инструменты
- 8
- Загрузки, 30 дней
- —
- Последняя версия
- 0.2.0
- Последний коммит
- 23 окт. 2026 г.
- Лицензия
- MIT
Что такое contentgate MCP?
contentgate — это MCP server. Выполняет аудит контента перед деплоем, включая SEO, плотность ключевых слов, целостность перевода, проверку ссылок и соответствие нормативным требованиям к заявлениям. Он предоставляет 8 инструментов, например check_keywords, check_translation, check_internal_links.
Сводка сгенерирована из README проекта
О contentgate MCP server
Contentgate позволяет разработчикам и редакторам проводить аудит веб-контента на предмет SEO, целостности перевода и соответствия нормативным требованиям перед деплоем. Этот MCP server предоставляет набор специализированных инструментов для обнаружения ошибок непосредственно в процессе написания страницы, а не после её публикации. Он работает как чистая утилита: на вход подается контент, на выходе получается вердикт; при этом во время выполнения не требуется доступ к файловой системе или сети. Пользователи могут запускать сервер через npx, чтобы интегрировать эти проверки в свои локальные рабочие процессы разработки или настройки AI-клиентов.
Сервер включает такие специфические инструменты, как audit_page для проверки структурированных данных JSON-LD, атрибутов alt у изображений и наличия favicon. Разработчики могут использовать check_keywords для проверки наличия целевых терминов, check_translation для поддержания структурного соответствия между исходным и целевым языками, а также check_claims для выявления рекламных формулировок, которые могут нарушать нормативные требования. Также доступны compare_pages для измерения пересечения предложений в двух документах и sitemap_lastmod для проверки того, действительно ли страница изменилась. Эти инструменты помогают убедиться, что контент читаем без JavaScript и соответствует определенным редакционным стандартам.
Что вы можете с ним делать
- 1Проверка SEO и структурированных данныхПроверьте, читаема ли страница без JavaScript и содержит ли она правильную разметку JSON-LD для поисковых систем.
- 2Валидация рекламных заявлений на соответствие нормамОпределите, не преподносит ли текст результаты как факты таким образом, который может быть отклонен регулирующими органами в рекламе.
- 3Обеспечение целостности переводаПодтвердите, что переведенный документ остается структурно идентичным исходному документу.
- 4Аудит прибыльности внутренних ссылокУбедитесь, что страница ссылается на приносящие доход разделы сайта, а не только на шаблонный контент.
Взято из README проекта. Каждый вариант использования проверен на соответствие цитате из него.
Как установить contentgate MCP
Форматы проверены 10 ноя 2026Добавить в CursorДобавить в GooseУстановка contentgate MCP в Claude Code
$ claude mcp add contentgate -- npx -y mcp-server-contentgateУстановка contentgate MCP в Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"contentgate": {
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}Установка contentgate MCP в VS Code
.vscode/mcp.json
{
"servers": {
"contentgate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}Установка contentgate MCP в VS Code CLI
$ code --add-mcp '{"name":"contentgate","type":"stdio","command":"npx","args":["-y","mcp-server-contentgate"]}'Установка contentgate MCP в Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"contentgate": {
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}Установка contentgate MCP в Codex
$ codex mcp add contentgate -- npx -y mcp-server-contentgateУстановка contentgate MCP в Codex config.toml
~/.codex/config.toml
[mcp_servers.contentgate] command = "npx" args = ["-y", "mcp-server-contentgate"]
Установка contentgate MCP в Gemini CLI
$ gemini mcp add -s user contentgate npx -- -y mcp-server-contentgateУстановка contentgate MCP в Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"contentgate": {
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}Инструменты contentgate MCP 8
Определено из READMEcheck_keywordscheck_translationcheck_internal_linkscheck_claimssitemap_lastmodcontent_hashaudit_pagecompare_pages
| check_keywords | — | |
| check_translation | — | |
| check_internal_links | — | |
| check_claims | — | |
| sitemap_lastmod | — | |
| content_hash | — | |
| audit_page | — | |
| compare_pages | — |
Автоматические проверки
Запущено 14 нояб. 2026 г.Полный отчёт →Прошло наши автоматизированные проверки. Это не аудит безопасности: изучите код и предоставьте серверу минимально необходимый доступ. Как работают проверки
- Связанный и доступный исходный репозиторийadsandcode/contentgate is public and reachablegithub.com/adsandcode/contentgate ↗Пройдено
- Пакет указывает этот репозиторий как источникmcp-server-contentgate names adsandcode/contentgate as sourcenpmjs.com/package/mcp-server-contentgate ↗Пройдено
- Происхождение сборки (аттестация Sigstore)No build attestation published for this releaseНе проверялось
- Open source лицензия (OSI)MITspdx.org/licenses/MIT.html ↗Пройдено
- Коммит или релиз за последний годLast commit or release 2026-10-23github.com/adsandcode/contentgate ↗Пройдено
- OpenSSF ScorecardНе проверялось
- Имя пакета не похоже на популярный пакетNo popular package one edit away from mcp-server-contentgateПройдено
- Нет критических предупреждений в пакете или его зависимостях99 resolved dependencies checked; no critical advisoryosv.dev ↗Пройдено
- Нет скрытых инструкций для модели8 tool descriptions and the README read; no override phrases, credential paths or hidden charactersПройдено
- Деструктивные инструменты помеченыNo tool named like delete, drop or execПройдено
- Удалённая конечная точка отвечает на рукопожатие MCPНе проверялось
README
Открыть на GitHubmcp-server-contentgate
MCP server for pre-deploy content checks. Catch the problem while the page is being written, not after it is live.
Documentation and background: adsandcode.com/en/open-source/contentgate
{
"mcpServers": {
"contentgate": { "command": "npx", "args": ["-y", "mcp-server-contentgate"] }
}
}
Tools
| Tool | What it answers |
|---|---|
check_keywords |
Do the terms this page is meant to rank for actually appear in it? |
check_translation |
Is this translation still structurally the same document as its source? |
check_internal_links |
Does this page link to anything on its own site that makes money, outside the boilerplate? Absolute links count only for hosts in site_hosts. |
check_claims |
Does this copy state outcomes as facts in a way regulated advertising rejects? A disclaimer counts only when its negation governs the claim itself. |
sitemap_lastmod |
Has this page genuinely changed, or is the build about to lie about it? |
content_hash |
Stable hash of a page with volatile blocks removed. |
audit_page |
Is this page readable without JavaScript, marked up with JSON-LD that parses, honest about its outbound links, and complete in its images and favicon? |
compare_pages |
How many sentences do these two pages share word for word? |
Every tool is pure: content in, verdict out. No filesystem access, no network access, nothing written.
The guards are also importable as plain functions, and importing starts
nothing: import { checkClaims, auditPage } from "mcp-server-contentgate".
Page audit
audit_page runs six checks on one rendered page and returns a verdict for
each; pass checks to run fewer.
visible_text: characters readable with JavaScript off, leaving out<template>and elements with thehiddenattribute. Google renders JavaScript; many AI crawlers read only the HTML the server sent, so an article injected by a script is invisible to them. 1200 is a house default, not a search-engine number.structured_data: every JSON-LD block parses, the@typevalues you require are present (defaultArticle,BreadcrumbList,Organization), and there is adateModified. A required type is satisfied by its schema.org subtypes (BlogPostingandNewsArticleare Articles;Corporation,NewsMediaOrganizationor aLocalBusinessis an Organization). AProfilePageis not required to be anArticle.outbound_links: external links withoutrelnofollow,sponsoredorugc. Google does not require anyrelon ordinary editorial links (onlysponsoredon paid or affiliate links andugcon user-generated ones), so do not addnofollowto a citation to make this pass: list the sites you cite incite_ok. Hosts are resolved the way a browser resolves them, so backslashes and extra slashes do not disguise where a link goes; registries anyone can register under (co.uk,github.io,pages.dev) are refused incite_ok.images:<img>withoutaltorwidth.alt=""is accepted.favicon: home page only; an icon<link>in the head, in a format Google Search lists (BMP, GIF, ICO, PNG, JPEG, PPM, TIFF), read from the URL path or, for adata:URI, its MIME type.stock_phrases: an editorial style list, not a detector of machine-written text. The default list is one editor's Traditional Chinese taste and is meant to be replaced: connectives such as 因此, and 然而, flag ordinary sentences. Pass your own, and always for any other language.
compare_pages splits both pages into sentences (on 。!? and on . ! ? before
whitespace), ignores sentences under ten characters, and measures the shared
share in characters in both directions.
Sources for each rule are in the repository README.
The one design rule
A guard that has never been shown to fail is decoration.
The server runs its negative tests at startup and refuses to start if they fail. A checker that cannot prove it still catches a known-bad input should not be answering questions about your content.
The same test file is run by the Python implementation in the same repository, and both are required to produce identical verdicts on every case.
Three behaviours worth knowing before you call it
Keyword matching never normalises whitespace. web hosting and
webhosting are different strings with different search volumes. If you pass
one, the other does not satisfy it.
Pass exclude_classes. A call-to-action block that appears on every page
will otherwise satisfy check_keywords and check_internal_links everywhere,
and both tools become decoration.
Set forbid_source_script: false when the target language shares the source
script, such as Simplified Chinese from a Traditional Chinese source. Otherwise
every document in that locale is reported as untranslated.
Python CLI
The same checks run as a deploy gate, reading your site from disk, in the
contentgate package in the same repository.
Licence
MIT.
Maintainer
Built and maintained by Ads & Code.
Вопросы о contentgate MCP
Как добавить contentgate MCP в Claude Code?
Выполните claude mcp add contentgate -- npx -y mcp-server-contentgate в терминале. Добавьте --scope user, чтобы сервер был доступен во всех проектах.
Как добавить contentgate MCP в Cursor?
Откройте ~/.cursor/mcp.json и добавьте сервер в mcpServers, используя конфигурацию Cursor из раздела установки выше.
Какие инструменты предоставляет contentgate MCP?
Он предоставляет 8 инструментов, включая check_keywords, check_translation, check_internal_links, check_claims, sitemap_lastmod.
Какие проверки выполняет инструмент audit_page?
Он выполняет шесть проверок: читаемость видимого текста, парсинг структурированных данных JSON-LD, атрибуты исходящих ссылок, теги alt/width у изображений, наличие favicon и обнаружение шаблонных фраз.
Требуется ли серверу доступ к сети или файловой системе?
Нет, каждый инструмент является чистой функцией и работает только с предоставленным контентом, не имея доступа к файловой системе или сети.
Как сопоставление ключевых слов обрабатывает пробелы?
Сопоставление ключевых слов не нормализует пробелы, поэтому 'web hosting' и 'webhosting' рассматриваются как разные строки.
Как сервер гарантирует работоспособность своих проверок?
При запуске сервер выполняет негативные тесты и откажется запускаться, если эти тесты не пройдут, что гарантирует способность обнаруживать заведомо некорректные входные данные.