The search market, plotted live.
An MCP server that reads what people type, what they click and what the page behind the result looks like. Trends, autocomplete, result pages and page audits, all read at request time. Each answer carries the name of its source, so an agent cannot quote an estimate as a measurement.
What the agent gets
Six tools, each answering a question a writer or a growth team asks in a normal week. None needs an account or a key.
| tool | evidence | question it answers |
|---|---|---|
| get_trending | trends | What people are searching for right now, filtered to a niche |
| get_keyword_research | autocomplete | Which keyword candidates are real, and the slot each one holds |
| get_serp_snapshot | serp | Who ranks today, the news pack beside them, how contested the term is |
| get_technical_audit | http | What is wrong with the page in front of a crawler |
| get_backlinks | estimate | Which pages link to the domain, confirmed by reading them |
| get_traffic | estimate | Referring domains, confirmed backlinks, the pages the engine shows |
Receipts
I captured these from a cold process on 21 October 2026, then trimmed the keyword and result page receipts for length.
{
"candidates": [
{ "keyword": "technical seo audit", "autocomplete_rank": 1,
"engines": ["google", "bing", "duckduckgo"], "intent": "informational" },
{ "keyword": "technical seo audit checklist", "autocomplete_rank": 2,
"engines": ["google", "bing", "duckduckgo"], "intent": "informational" },
{ "keyword": "technical seo audit software", "autocomplete_rank": 2,
"engines": ["bing", "duckduckgo"], "intent": "commercial" }
],
"engines_answered": ["google", "bing", "duckduckgo"],
"engines_silent": [],
"source": "autocomplete"
}
{
"results": [
{ "position": 1, "title": "Running - Wikipedia", "domain": "en.wikipedia.org" },
{ "position": 2, "title": "Runner's World", "domain": "runnersworld.com" }
],
"difficulty_estimate": {
"score": 13, "method": "serp_composition", "confidence": "low",
"components": { "authority_share": 0.25, "distinct_domains": 4, "results": 4 }
},
"source": "serp"
}
{
"status": 200, "https": true, "response_ms": 7531,
"title": "Example Domain", "word_count": 25,
"checks": [
{ "name": "title", "status": "pass", "detail": "title is 14 characters" },
{ "name": "meta_description", "status": "fail", "detail": "meta description is 0 characters" },
{ "name": "canonical", "status": "warn", "detail": "no canonical link found" },
{ "name": "h1", "status": "fail", "detail": "0 h1 headings" }
],
"score": 42,
"source": "http"
}
What the keyless path cannot give you
The server prints these limits so an agent does not quote a number it cannot back up.
Monthly search volume stays out. It needs clickstream and advertising data that no public endpoint exposes. The autocomplete position takes its place: a real measure of how strongly people type a term.
The backlink index is a sample. The keyless path finds pages that mention the domain and confirms each link by fetching the page. It finds fewer links, takes longer, and each link it reports is one it read.
Traffic comes back as reach. Without a CapSolver key, get_traffic returns confirmed backlinks, referring domains and indexed pages. The visit count is missing, and the response says so.
Install
One command, and the package ships ready to run. It needs Bun 1.3 or newer.
claude code
claude mcp add seo-radar \ -- bunx @qexle/seo-mcp@0.3.0
opencode
opencode mcp add seo-radar \ -- bunx @qexle/seo-mcp@0.3.0
claude desktop
{
"mcpServers": {
"seo-radar": {
"command": "bunx",
"args": ["@qexle/seo-mcp@0.3.0"]
}
}
}
Where the data comes from
Nine public endpoints. A CapSolver key is optional and only adds the Ahrefs path.
| google suggest | keyword candidates | no key |
| bing autosuggest | keyword candidates | no key |
| duckduckgo autocomplete | keyword candidates | no key |
| google trends daily feed | trending searches | no key |
| wikipedia top pageviews | trending topics | no key |
| duckduckgo lite | result pages, link discovery | no key |
| bing web and news feeds | result page fallback, news | no key |
| google news feed | news pack | no key |
| page read | audits, link confirmation | no key |
| pagespeed insights | core web vitals | quota limited |
| ahrefs free tool | backlinks, ideas, difficulty, traffic | capsolver key |