Melakukan audit konten pra-deployment termasuk SEO, kepadatan keyword, integritas terjemahan, validasi link, dan pengecekan klaim regulasi.
Juga dikenal sebagai adsandcode/contentgate, mcp-server-contentgate
- Stars
- 0
- Tools
- 8
- Unduhan, 30 hari
- —
- Versi terbaru
- 0.2.0
- Commit terakhir
- 23 Okt 2026
- Lisensi
- MIT
Apa itu contentgate MCP?
contentgate adalah MCP server. Melakukan audit konten pra-deployment termasuk SEO, kepadatan keyword, integritas terjemahan, validasi link, dan pengecekan klaim regulasi. Server ini menyediakan 8 tool, seperti check_keywords, check_translation, check_internal_links.
Ringkasan dibuat dari README proyek
Tentang contentgate MCP server
Contentgate memungkinkan developer dan editor untuk melakukan audit konten web terkait SEO, integritas terjemahan, dan kepatuhan regulasi sebelum deployment. MCP server ini menyediakan rangkaian tool khusus untuk menangkap error saat halaman sedang ditulis, bukan setelah halaman tersebut live. Server ini berfungsi sebagai utility murni di mana konten dimasukkan dan hasil audit dikeluarkan, tanpa memerlukan akses filesystem atau jaringan selama eksekusi. Anda dapat menjalankan server ini via npx untuk mengintegrasikan pengecekan ini ke dalam workflow pengembangan lokal atau setup AI client Anda.
Server ini menyertakan tool spesifik seperti audit_page untuk memverifikasi data terstruktur JSON-LD, atribut alt gambar, dan keberadaan favicon. Developer dapat menggunakan check_keywords untuk memastikan target term muncul, check_translation untuk menjaga kesetaraan struktur antara bahasa sumber dan target, serta check_claims untuk mengidentifikasi bahasa iklan yang mungkin melanggar regulasi. Server ini juga menawarkan compare_pages untuk mengukur overlap kalimat antara dua dokumen dan sitemap_lastmod untuk memverifikasi apakah sebuah halaman benar-benar telah berubah. Tool ini membantu memastikan bahwa konten dapat dibaca tanpa JavaScript dan mematuhi standar editorial tertentu.
Apa yang bisa Anda lakukan dengannya
- 1Verifikasi SEO dan data terstrukturPeriksa apakah sebuah halaman dapat dibaca tanpa JavaScript dan memiliki markup JSON-LD yang benar untuk search engine.
- 2Validasi klaim iklan regulasiIdentifikasi apakah teks menyatakan hasil sebagai fakta dengan cara yang mungkin ditolak oleh regulasi periklanan.
- 3Pastikan integritas terjemahanKonfirmasi bahwa dokumen yang diterjemahkan tetap identik secara struktural dengan dokumen sumber aslinya.
- 4Audit profitabilitas link internalVerifikasi apakah sebuah halaman menautkan ke area situs yang menghasilkan revenue, bukan sekadar konten boilerplate.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Cara menginstal contentgate MCP
Format diverifikasi 10 Nov 2026Tambahkan ke CursorTambahkan ke GooseInstal contentgate MCP di Claude Code
$ claude mcp add contentgate -- npx -y mcp-server-contentgateInstal contentgate MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"contentgate": {
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}Instal contentgate MCP di VS Code
.vscode/mcp.json
{
"servers": {
"contentgate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}Instal contentgate MCP di VS Code CLI
$ code --add-mcp '{"name":"contentgate","type":"stdio","command":"npx","args":["-y","mcp-server-contentgate"]}'Instal contentgate MCP di Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"contentgate": {
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}Instal contentgate MCP di Codex
$ codex mcp add contentgate -- npx -y mcp-server-contentgateInstal contentgate MCP di Codex config.toml
~/.codex/config.toml
[mcp_servers.contentgate] command = "npx" args = ["-y", "mcp-server-contentgate"]
Instal contentgate MCP di Gemini CLI
$ gemini mcp add -s user contentgate npx -- -y mcp-server-contentgateInstal contentgate MCP di Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"contentgate": {
"command": "npx",
"args": [
"-y",
"mcp-server-contentgate"
]
}
}
}Tool contentgate MCP 8
Terdeteksi dari 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 | — |
Pengecekan otomatis
Berjalan 14 Nov 2026Laporan lengkap →Lolos checks otomatis kami. Ini bukan audit keamanan: baca kodenya dan berikan server akses paling terbatas yang dibutuhkannya. Cara kerja checks
- Source repository terhubung dan dapat dijangkauadsandcode/contentgate is public and reachablegithub.com/adsandcode/contentgate ↗Lolos
- Nama paket mencantumkan repositori ini sebagai sumbernyamcp-server-contentgate names adsandcode/contentgate as sourcenpmjs.com/package/mcp-server-contentgate ↗Lolos
- Provenance build (atestasi Sigstore)No build attestation published for this releaseTidak diperiksa
- Lisensi open source (OSI)MITspdx.org/licenses/MIT.html ↗Lolos
- Ada commit atau release dalam satu tahun terakhirLast commit or release 2026-10-23github.com/adsandcode/contentgate ↗Lolos
- OpenSSF ScorecardTidak diperiksa
- Nama package tidak mirip dengan package populerNo popular package one edit away from mcp-server-contentgateLolos
- Tidak ada advisory kritis pada paket atau dependensinya99 resolved dependencies checked; no critical advisoryosv.dev ↗Lolos
- Tidak ada instruksi tersembunyi untuk model8 tool descriptions and the README read; no override phrases, credential paths or hidden charactersLolos
- Tools yang bersifat destruktif telah diberi labelNo tool named like delete, drop or execLolos
- Endpoint remote merespons handshake MCPTidak diperiksa
README
Lihat di 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.
Pertanyaan tentang contentgate MCP
Bagaimana cara menambahkan contentgate MCP ke Claude Code?
Jalankan claude mcp add contentgate -- npx -y mcp-server-contentgate di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan contentgate MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Tool apa yang disediakan contentgate MCP?
Server ini menyediakan 8 tool, termasuk check_keywords, check_translation, check_internal_links, check_claims, sitemap_lastmod.
Jenis pengecekan apa yang dilakukan oleh tool audit_page?
Tool ini menjalankan enam pengecekan: keterbacaan teks yang terlihat, parsing data terstruktur JSON-LD, atribut link outbound, tag alt/width gambar, keberadaan favicon, dan deteksi frasa pasaran (stock phrase).
Apakah server memerlukan akses jaringan atau filesystem?
Tidak, setiap tool bersifat pure dan hanya beroperasi pada konten yang diberikan, tanpa memerlukan akses filesystem maupun jaringan.
Bagaimana pencocokan keyword menangani whitespace?
Pencocokan keyword tidak melakukan normalisasi whitespace, yang berarti 'web hosting' dan 'webhosting' akan dianggap sebagai string yang berbeda.
Bagaimana server memastikan bahwa pengecekannya benar-benar berfungsi?
Server menjalankan negative tests saat startup dan akan menolak untuk berjalan jika tes ini gagal, guna memastikan server tetap bisa mendeteksi input yang salah.