jev-seo
Zero-cost SEO & GEO search radar. Proofs your search presence the way a printer proofs a sheet — no dashboard, no $130/month, no hallucinated advice.
$ cargo install jev-seo
read the proof ↓
- GPTBot allowed
- ClaudeBot allowed
- Google-Extended needs check
- PerplexityBot allowed
The stack that costs $130/month doesn't do this
01
Zero subscriptions
Scrapes DuckDuckGo HTML and suggest endpoints directly. No credit card, no paid API key, no DataForSEO top-up. The bill is ₹0 forever.
02
No hallucinated advice
TypeSafe Jev System One scores with typed Choice / Score / Noul primitives. Deterministic judgments, not chatbot essays. What it flags is real.
03
Fast and local
A native Rust binary under 30MB RAM. Audits hundreds of markdown and HTML files in under a second. Rank history lives in one local SQLite file.
04
Agent native
A stdio JSON-RPC 2.0 MCP server feeds the same 8 tools into Claude Code, Gemini CLI, and Antigravity. SEO as a capability, not a dashboard.
Ten commands, no dashboard
Every tool proofs something measurable. Terminal in, verdict out.
jev-seo query "offline expense tracker android"live SERP competitor radar + gap analysisjev-seo audit docs/105 files · title collisions, thin pages, AI slop, orphan linksjev-seo geo README.md --query "agentic skills"GEO citation probability 1-10 vs Perplexity, SearchGPT, Gemini Overviewsjev-seo schema index.htmlJSON-LD validator: SoftwareApplication, Article, Organization, Product + deprecation flagsjev-seo robots example.comGPTBot · ClaudeBot · PerplexityBot · Google-Extended · Bytespiderjev-seo brief "fast local sqlite tui" --markdowncompetitor SERP synthesis → H2 outline + 150-word GEO direct answerjev-seo sitemap sitemap.xml50,000 URL limit, HTTPS canonical, hreflang en-GB not en-UK, x-defaultjev-seo keywords "scraper"autocomplete discovery + Jev intent classificationjev-seo rank --domain crates.io --query "rust grep"rank drift tracked in local SQLite over timejev-seo mcpstdio MCP server → the 8 tools, straight into your coding agentReasons Jev: the oracle is a decision engine, not a chatbox
Conversational LLMs write you a confident paragraph you then have to verify. Jev answers machine-native questions with machine-native types.
Jev hates being asked for arithmetic or word counts. The CLI does the math; Jev does the judgment. That split is the whole architecture.
Proof the sheet before it ships
The audit reads your content the way a proofreader reads a galley. These are real patterns it catches:
em-dash density
"The—admittedly—fragile—stack—" ✗ 3 per 500 words
over 2 per 500 words = editorial tic. Flagged.
AI vocabulary
"delve · leverage · testament · foster · seamless" ✗ 4 hits
17 known boilerplate crutches. Stripped automatically.
heading hierarchy
H1 → H3, no H2 ✗ skip-level
illegal jump in the outline. Caught.
orphan pages
/blog/seo-for-vercel has 0 inbound links ✗ orphan
the link graph finds it. You fix the path.
cannibalization
3 pages target "rust grep" ✗ collision
keyword stems colliding. One winner per stem.
schema deprecation
"HowTo" schema present ✗ deprecated
no rich result. Migrate to the current type.
Set up in two lines
# 1 — install (crates.io)
$ cargo install jev-seo
# 2 — free oracle key for semantic scoring
$ export TYPESAFE_API_KEY=your_key_here
No credit card. No hosted dashboard. No telemetry. One binary, one local SQLite file, 30MB of RAM.