SEO, anahtar kelime yoğunluğu, çeviri bütünlüğü, bağlantı doğrulaması ve mevzuat uyumluluk kontrolleri dahil olmak üzere yayına alım öncesi içerik denetimleri gerçekleştirir.
Ayrıca bilinen adı adsandcode/contentgate, mcp-server-contentgate
- Yıldızlar
- 0
- Araçlar
- 8
- İndirmeler, 30 gün
- —
- En son sürüm
- 0.2.0
- Son commit
- 23 Eki 2026
- Lisans
- MIT
contentgate MCP nedir?
contentgate bir MCP sunucusudur. SEO, anahtar kelime yoğunluğu, çeviri bütünlüğü, bağlantı doğrulaması ve mevzuat uyumluluk kontrolleri dahil olmak üzere yayına alım öncesi içerik denetimleri gerçekleştirir. 8 araç sunar; örneğin check_keywords, check_translation, check_internal_links.
Özet, projenin README dosyasından oluşturuldu
contentgate MCP sunucusu hakkında
Contentgate, geliştiricilerin ve editörlerin yayına alım öncesinde web içeriklerini SEO, çeviri bütünlüğü ve mevzuat uyumluluğu açısından denetlemesine olanak tanır. Bu MCP server, bir sayfa canlıya alındıktan sonra değil, yazım aşamasındayken hataları yakalamak için özelleşmiş bir araç seti sunar. İçeriğin girildiği ve bir sonucun alındığı, çalışma sırasında dosya sistemi veya ağ erişimi gerektirmeyen saf bir yardımcı araç olarak işlev görür. Kullanıcılar, bu kontrolleri yerel geliştirme iş akışlarına veya AI istemci kurulumlarına entegre etmek için sunucuyu npx üzerinden çalıştırabilirler.
Sunucu; JSON-LD yapılandırılmış verilerini, görsel alt özniteliklerini ve favicon varlığını doğrulamak için audit_page gibi özel araçlar içerir. Geliştiriciler, hedef terimlerin göründüğünden emin olmak için check_keywords, kaynak ve hedef diller arasında yapısal paralelliği korumak için check_translation ve mevzuat ihlali yapabilecek reklam dilini belirlemek için check_claims araçlarını kullanabilirler. Ayrıca, iki belge arasındaki cümle örtüşmesini ölçmek için compare_pages ve bir sayfanın gerçekten değişip değişmediğini doğrulamak için sitemap_lastmod özelliklerini sunar. Bu araçlar, içeriğin JavaScript olmadan okunabilir olmasını ve belirli editoryal standartlara uymasını sağlamaya yardımcı olur.
Neler yapabilirsiniz
- 1SEO ve yapılandırılmış verileri doğrulayınBir sayfanın JavaScript olmadan okunabilir olup olmadığını ve arama motorları için doğru JSON-LD işaretlemesini içerip içermediğini kontrol edin.
- 2Mevzuata uygun reklam iddialarını doğrulayınMetnin, düzenlenmiş reklamların reddedebileceği şekilde sonuçları gerçekmiş gibi ifade edip etmediğini belirleyin.
- 3Çeviri bütünlüğünü sağlayınÇevrilmiş bir belgenin orijinal kaynak belgesiyle yapısal olarak özdeş kalıp kalmadığını onaylayın.
- 4Dahili bağlantı karlılığını denetleyinBir sayfanın sadece standart içeriklere değil, sitenin gelir getiren alanlarına bağlantı verdiğini doğrulayın.
Projenin README dosyasından alınmıştır. Her kullanım durumu, oradaki bir alıntı ile kontrol edilir.
contentgate MCP nasıl yüklenir
Biçimler 10 Kas 2026 tarihinde doğrulandıCursor'a ekleGoose'a eklecontentgate MCP'yi Claude Code içine yükleyin
$ claude mcp add contentgate -- npx -y mcp-server-contentgatecontentgate MCP'yi Cursor içine yükleyin
~/.cursor/mcp.json
{
"mcpServers": {
"contentgate": {
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}contentgate MCP'yi VS Code içine yükleyin
.vscode/mcp.json
{
"servers": {
"contentgate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}contentgate MCP'yi VS Code CLI içine yükleyin
$ code --add-mcp '{"name":"contentgate","type":"stdio","command":"npx","args":["-y","mcp-server-contentgate"]}'contentgate MCP'yi Claude Desktop içine yükleyin
claude_desktop_config.json
{
"mcpServers": {
"contentgate": {
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}contentgate MCP'yi Codex içine yükleyin
$ codex mcp add contentgate -- npx -y mcp-server-contentgatecontentgate MCP'yi Codex config.toml içine yükleyin
~/.codex/config.toml
[mcp_servers.contentgate] command = "npx" args = ["-y", "mcp-server-contentgate"]
contentgate MCP'yi Gemini CLI içine yükleyin
$ gemini mcp add -s user contentgate npx -- -y mcp-server-contentgatecontentgate MCP'yi Gemini settings.json içine yükleyin
~/.gemini/settings.json
{
"mcpServers": {
"contentgate": {
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}contentgate MCP araçları 8
README dosyasından algılandıcheck_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 | — |
Otomatik kontroller
Çalıştırıldı 14 Kas 2026Tam rapor →Otomatik kontrollerimizden geçti. Bu bir güvenlik denetimi değildir: kodu okuyun ve sunucuya ihtiyaç duyduğu en dar erişimi verin. Kontroller nasıl çalışır
- Kaynak deposu bağlantılı ve erişilebiliradsandcode/contentgate is public and reachablegithub.com/adsandcode/contentgate ↗Geçti
- Paket, bu depoyu kaynağı olarak gösteriyormcp-server-contentgate names adsandcode/contentgate as sourcenpmjs.com/package/mcp-server-contentgate ↗Geçti
- Derleme kökeni (Sigstore onayı)No build attestation published for this releaseKontrol edilmedi
- Açık kaynak lisansı (OSI)MITspdx.org/licenses/MIT.html ↗Geçti
- Son bir yıl içinde commit veya sürüm mevcutLast commit or release 2026-10-23github.com/adsandcode/contentgate ↗Geçti
- OpenSSF ScorecardKontrol edilmedi
- Paket adı popüler bir pakete yakın değilNo popular package one edit away from mcp-server-contentgateGeçti
- Pakette veya bağımlılıklarında kritik uyarı yok99 resolved dependencies checked; no critical advisoryosv.dev ↗Geçti
- Modele yönelik gizli talimat yok8 tool descriptions and the README read; no override phrases, credential paths or hidden charactersGeçti
- Yıkıcı araçlar etiketlenmişNo tool named like delete, drop or execGeçti
- Uzak uç nokta MCP el sıkışmasına yanıt veriyorKontrol edilmedi
mcp-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 soruları
contentgate MCP'yi Claude Code'a nasıl eklerim?
Terminalinizde claude mcp add contentgate -- npx -y mcp-server-contentgate komutunu çalıştırın. Her projede kullanılabilir olması için --scope user ekleyin.
contentgate MCP'yi Cursor'a nasıl eklerim?
~/.cursor/mcp.json dosyasını açın ve yukarıdaki yükleme bölümünde gösterilen Cursor yapılandırmasını kullanarak sunucuyu mcpServers altına ekleyin.
contentgate MCP hangi araçları sunar?
8 araç sunar; bunlar arasında check_keywords, check_translation, check_internal_links, check_claims, sitemap_lastmod yer alır.
audit_page aracı ne tür kontroller gerçekleştirir?
Altı farklı kontrol çalıştırır: görünür metin okunabilirliği, JSON-LD yapılandırılmış veri ayrıştırma, dış bağlantı öznitelikleri, görsel alt/genişlik etiketleri, favicon varlığı ve kalıplaşmış ifade tespiti.
Sunucu ağ veya dosya sistemi erişimine ihtiyaç duyar mı?
Hayır, her araç saf bir işlevdir ve dosya sistemi veya ağ erişimine ihtiyaç duymadan yalnızca sağlanan içerik üzerinde çalışır.
Anahtar kelime eşleştirme boşlukları nasıl işler?
Anahtar kelime eşleştirme boşlukları normalize etmez; yani 'web hosting' ve 'webhosting' farklı dizeler olarak kabul edilir.
Sunucu kontrollerinin gerçekten çalıştığından nasıl emin olur?
Sunucu, başlangıçta negatif testler çalıştırır ve bu testler başarısız olursa hatalı girdileri yakalayabildiğinden emin olmak için başlatmayı reddeder.