Contentgate MCP server
Pre-deploy checks for content sites: keywords, translations, links, claims, page SEO/GEO audit.
0 stars173 downloads/wk
Reviews
Write oneNobody has reviewed Contentgate yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Contentgate tools (8)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
audit_pagePage-level SEO/GEO audit of one rendered HTML page, before it ships. Checks:
check_claimsScan copy for affirmative performance claims of the kind that get finance, health and other regulated advertising rejected: guaranteed profit, stated win rates, promised returns. A disclaimer is not flagged when its negation governs the claim itself, shortly before it in the same clause (不保證獲利, 'we do not guarantee profit', 'no guaranteed returns'), or when the phrase is named as forbidden ('guara
check_internal_linksCheck that a content page links to at least one commercial page of its own site from its body, and optionally that it states a concrete figure. Links inside excluded boilerplate do not count, because a site-wide call-to-action block would otherwise satisfy this on every page and the check would guard nothing. Relative links count; an absolute link counts only when its host is in site_hosts (or a s
check_keywordsVerify that target keywords actually appear in a rendered page. Every term tied at the highest search volume must appear at least `primary_min_hits` times; every other term at least once. Matching is literal and case-insensitive: whitespace is never normalised, because 'web hosting' and 'webhosting' are different terms with different search volumes.
check_translationCompare a translation against its source document for structural drift: heading sequence, HTML tag sequence, table row count, internal link paths, price tokens, locale prefix on internal links, leftover source-script characters, introduced em dashes and emoji. This checks structure, not meaning: it cannot tell you a translation is good, only that it is no longer the same document.
compare_pagesMeasure how many sentences two pages share word for word, using the text a crawler sees with JavaScript off (navigation and footers excluded). Sentences split on 。!? and on . ! ? followed by whitespace; sentences under ten characters are ignored. The share is measured in characters, in both directions, and the larger figure decides, because a short page copied into a long one is a small share of t
content_hashHash the meaningful content of a page, with volatile blocks and scripts removed. Use it to tell a real edit from a rebuild.
sitemap_lastmodDecide a sitemap lastmod date honestly. Hash the meaningful content of a page, compare it against the stored hash, and move the date only when the content genuinely changed. Stamping today's date on every URL every build teaches crawlers that the field carries no information.
Public scan report
scanner v0.1.10 · 2026-10-25 · same rubric, same numbers if you re-run it
- Code scan19 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 2 days ago15/15
- Maintainer identityregistry namespace matches repository owner6/10
How Contentgate compares
Against every graded SEO MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 89/100
- higher than 82% of 767 SEO servers
- Tools
- 8
- the typical SEO server has 6
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 173
- more than 78% of 160 SEO servers with a package
What its tools let an agent do: 8 read
Install Contentgate in Claude Code, Cursor or VS Code
Runs npx -y mcp-server-contentgate on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add contentgate -- npx -y mcp-server-contentgate
What the publisher says
From the Contentgate repository's README, as published. We do not edit it. Read it on GitHub
contentgate
Pre-deploy guards for content sites. Python CLI and an MCP server, sharing one test suite.
Documentation and background: adsandcode.com/en/open-source/contentgate
These checks exist because each of them was written the day after the thing it checks for went live and cost something.
negative tests
keywords
[ok] expected block got block primary keyword appears once, threshold is three
[ok] expected block got block spaced variant must not satisfy the unspaced keyword
...
160 passed, 0 failed
checks
[ ok ] keywords choosing-a-cms (1200/1200 volume covered)
[FAIL] keywords headless-vs-monolith (300/750 volume covered)
missing keyword 'headless cms' (volume 450): found 2 time(s), needs 3
[ ok ] i18n fr: 19 document(s)
[ ok ] lastmod 19 page(s), 0 genuinely changed
[FAIL] 1 check(s) failed. Deploy blocked.The one design rule
A guard that has never been shown to fail is decoration.
Every check ships negative tests: inputs it is required to reject. The suite runs before any verdict is reported, and a failing suite exits 2 without saying anything about your content. A checker that cannot prove it still catches a known-bad input does not get to tell you your site is fine.
This is not theoretical. Guards written for this project have included: one that read its keyword out of the site-wide footer and therefore passed every page ever; one that ran after the step that regenerated the file it was checking; and one whose exit code was discarded by the shell pipeline it lived in, so it printed "deploy blocked" while the deploy proceeded. All three looked fine. All three were found by asking them to fail on purpose.
The checks
Three details that look fussy and are not:
Whitespace is never normalised in keyword matching. web hosting and webhosting are different strings with different search volumes, and in languages that do not put spaces between words the gap between the two forms can be an order of magnitude. Letting one satisfy the other is how a guard passes a page that targets neither. This was found twice, on two pages, after publication.
Boilerplate is excluded from every body check. A call-to-action block present on every page will otherwise satisfy keywords and internal_links everywhere, which means both checks pass always.
Ties are not broken by dictionary order. Every keyword at the highest volume is primary. The alternative, taking the first maximum, makes the verdict depend on the order of keys in a JSON file, which is stable right up until someone reorders the table.
Two more that changed in 0.2.0:
A commercial link has to point at your own site. A relative link counts. An absolute link counts only when its host is in sitehosts or a subdomain of one, compared on label boundaries and read the way a browser reads it; without sitehosts, absolute links never count. A link to https://competitor.example/pricing/ ends in /pricing/ and sells someone else's product. The money path is matched against the path, not the query string, so /blog/?next=/pricing/ is not a pricing link.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Contentgate: common questions
- Is Contentgate MCP server safe?
- Yes, by our scan: it is graded A (89/100). Read the Contentgate safety report
- How do I install Contentgate?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Contentgate need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Contentgate maintained?
- The last commit was 9 days ago (2026-10-23). The latest release is v0.2.0.
- What can I use instead of Contentgate?
- Servers from other publishers that do the same job: Web Validator by DigestSEO MCP server, RankCLI MCP server and Crawlie MCP server. Compare all Contentgate alternatives.
- How does Contentgate compare with other SEO MCP servers?
- safety score 89/100 (higher than 82% of 767 SEO servers); tools 8 (the typical SEO server has 6); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Contentgate
Same job from other publishers: the closest match first, then the best rated.
Web Validator by DigestSEOAudit public webpages and supplied markup for HTML, CSS, SEO, JSON-LD, and link issues.not reviewedGrowingA
RankCLIFree, local SEO + GEO audits for AI assistants - no signup, nothing leaves your machine.not reviewedGrowingA- CrawlieTechnical SEO + GEO (AI-search) site audits: hosted crawls, prioritized fixes, report diffs.not reviewedGrowingA
OutrankPlan SEO keywords, write and publish articles to your site, read Search Console and backlink datanot reviewedGrowingA- pseolintPenalty-risk audit for programmatic SEO sites: verdict, risk score, and a fix manifest.not reviewedGrowingB