A pre-publish spam gate for your publishing agent
Agentic pipelines ship content at a pace no human reviews. The PureRank MCP server lets the agent score every draft 0–100 against the scaled-content footprint Google's spam updates target — and publish only what comes back pass.
claude mcp add purerank --env PURERANK_API_KEY=YOUR_KEY -- npx -y purerank-mcp-serverFree API key · 25 draft checks + 5 site scans per day · no card
Two drafts, one rule
Real, unedited responses from POST /api/score-text.
Raw agent draft — "10 SEO Best Practices" (148 words)
Findings: 33.8 AI stock phrases and 101 AI-favored words per 1,000 words. Embedding prior leans AI (+0.26).
Human engineering post — "Postgres war story" (134 words)
No stock-phrase findings. Embedding prior leans human (−0.29). Natural rhythm variance.
draft → purerank_score_draft → publish only if gate == "pass", otherwise revise and re-score.
Three tools your agent gets
purerank_score_draft
The pre-publish gate. Scores one draft (text or HTML) with no crawling: 0–100, a pass/warn/fail verdict, per-signal breakdown and human-readable findings. Fast enough to run on every draft.
purerank_scan_site
Crawls and scores a whole site across all seven dimensions — yours or a competitor's. Submits the scan, polls to completion, returns the score, top risk signals and a shareable report link.
purerank_get_report
Fetches the latest report summary for a domain or report id without re-scanning — for monitoring dashboards, client updates and "what changed" checks.
Free to gate. Paid to scale.
| Plan | Draft checks / day | Site scans / day | API keys |
|---|---|---|---|
| Free | 25 | 5 | 1 |
| Pro — $49/mo | 500 | 200 | 1 |
| Agency — $149/mo | 2,000 | 1,000 | 5 |
Draft checks are content-only (no crawl), so they get their own, much larger pool than site scans. Quotas are per account and reset at UTC midnight; 429 responses carry Retry-After and X-RateLimit-* headers.
Same gate, two lines of anything
curl -X POST https://pure-rank.com/api/score-text \
-H "X-Api-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text": "your draft here", "title": "optional"}'import requests
r = requests.post("https://pure-rank.com/api/score-text",
headers={"X-Api-Key": "YOUR_KEY"},
json={"text": draft})
ok = r.json()["gate"] == "pass" # publish only on passResponse: {score, gate, verdict, confidence, signals, explanations, embedding}. Interactive docs at /api/docs.
PureRank is a scanner, not another generator: it doesn't write, rewrite or "humanize" anything. The score is an explainable heuristic over public signals — not a Google metric, and not proof of authorship. It estimates how strongly content matches the mass-produced pattern named in Google's spam policies ("scaled content abuse"), so your agent ships less of it. We publish our benchmark methodology and numbers, including what the score can't do.
Put the gate in your pipeline tonight
Create a free account, mint an API key in the dashboard, run one command.
Create a free API key25 draft checks + 5 site scans daily · no card · MIT-licensed connector