io.github.johnsmalls22-rgb/backlinkmcp-server
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Backlink & domain authority MCP for AI agents: referring domains, link gap, toxic review queue
| Author | io.github.johnsmalls22-rgb |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2795 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"backlinkmcp-server": {
"url": "https://backlinkmcp.com/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (13)
domain_authority_scoreread-onlyGet an editorial-authority score for a domain (weighted toward high-trust wiki/edu/gov/news referrers, from BacklinkMCP's proprietary web-scale link index). Returns a domain_rating-style score plus referring domain count.
Parameters:
domain(required) — string — Root domain, e.g. 'stripe.com'.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
top_linkers_for_domainread-onlyReturn the top 25 domains linking to a given domain, ranked by the linking domain's own authority, with link counts. Good for a quick competitive/backlink-profile skim.
Parameters:
domain(required) — string — Root domain, e.g. 'stripe.com'.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
backlinks_for_domainread-onlyFull backlink payload for a domain: total inlink count plus the ranked list of linking domains (authority + outbound link count per linker). Returns up to 100 rows on Pro, 25 on the free tier; use domain_authority_score for just the headline number.
Parameters:
domain(required) — string — Root domain, e.g. 'stripe.com'.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
verify_link_liveread-onlyLive-verify backlinks: fetches linking domains' homepages RIGHT NOW and confirms an actual href to the target domain exists on each. Complements the index with real-time proof. Only homepages are fetched, so 'not_found' means 'no link on the homepage today', not 'the link is gone'. Checks the top 8 linkers by default (max 15).
Parameters:
domain(required) — string — Root domain whose backlinks to verify, e.g. 'stripe.com'.limit— integer — Optional: how many top linkers to check when 'linkers' is omitted (default 8, max 15).linkers— array — Optional: specific linking domains to check (max 15). Defaults to the top linkers from the graph.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
find_link_prospectsread-onlyCompetitor backlink-gap analysis for link building. Given YOUR domain (the `domain` arg) and 1-3 competitor domains, returns domains that link to the competitor(s) but NOT to you, ranked by the linking domain's authority — a warm outreach shortlist (aka competitor gap). Domain-level only: the index has no per-link URLs or anchor text, so each row is a DOMAIN worth pitching for a link, not a confirmed link or a specific page. CDN/analytics/marketing-widget/social noise is filtered out. Free mines 1 competitor and returns up to 25 prospects; Pro mines up to 3 competitors and returns up to 100.
Parameters:
domain(required) — string — YOUR root domain — the site you want more backlinks for, e.g. 'yoursite.com'.competitors(required) — array — Competitor root domains to mine for gap prospects (1-3), e.g. ['rival1.com','rival2.com']. Free tier uses only the first.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
flag_toxic_linksread-onlyToxic / low-quality backlink audit: scans a domain's LINKERS and flags spammy disavow CANDIDATES — abused TLDs (.tk/.xyz/.loan…), spam keywords in the domain, hyphen/keyword stuffing, and link-farm-level outbound counts. The inverse of find_link_prospects. Domain-level heuristic only (no per-link URL/anchor), so each row is a DOMAIN worth REVIEWING, never a confirmed toxic link. Note: Google says most sites should NOT disavow — use this to audit, not to auto-disavow. Free returns up to 25 flags, Pro up to 100.
Parameters:
domain(required) — string — The domain whose inbound links you want to audit for toxic/spam linkers, e.g. 'yoursite.com'.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
common_linkersread-onlyMulti-domain backlink overlap: given 2-4 domains, returns the domains that link to MORE THAN ONE of them, ranked by overlap (how many of the set they link) then authority. Answers 'who links my whole niche?' — the must-have publications, directories, and roundups your competitors all share. Domain-level only (no per-link URL/anchor). Free compares 2 domains, Pro up to 4; returns up to 25 rows free / 100 Pro.
Parameters:
domains(required) — array — Root domains to intersect (2-4), e.g. ['a.com','b.com','c.com']. Free tier uses only the first 2.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
ai_visibility_reportAI Visibility / GEO audit. Asks a panel of AI models a buyer-intent question ('what's the best <category>?') and reports whether YOUR brand gets recommended, who the models prefer instead (share-of-voice across the panel), WHY the leader wins — diagnosed against BacklinkMCP's own authority/link data (referring-domain gap) — and which domains to earn links from to catch up. Two modes: `parametric` (default — the models' baked-in brand memory) or `retrieval` (live web-search models = what the AI answers right now, SEO-driven). **Pro plan only** (runs a live multi-model AI panel): 8 models × 3 prompts × up to 4 competitors per report.
Parameters:
domain(required) — string — YOUR root domain — the brand you're measuring AI visibility for, e.g. 'yoursite.com'.mode— string — 'parametric' (default) = the models' baked-in brand memory (cheap). 'retrieval' = live web-search models (what the AI answers now, SEO-driven; costs more credits).depth— string — 'draft' = cheap iteration pass (2 models × 1 prompt) for trying prompts/competitors. 'full' (default) = the whole panel. Draft costs 1 credit (2 for retrieval).facts— array — Optional ground-truth facts about YOUR product (max 5), e.g. ['pricing starts at $29/mo','has a free tier']. When supplied, the panel is also asked what it knows about your brand and each fact is verified — separating 'AI doesn't know you' from 'AI knows you but gets it wrong' (opposite fixes).history— boolean — true = return the permanent archive of past runs for this domain (mention rate, rank, leader over time) instead of running a new panel. Costs no credits. Optionally combine with `mode` to filter parametric vs retrieval history.prompts— array — Buyer-intent queries to ask the panel, e.g. ['best project management tool for a startup'].samples— integer — Repeat draws per (prompt×model) cell (default 1, max 10). Answer engines are nondeterministic — more samples tighten the 95% confidence interval on your rates. Use samples>=5 for a defensible inclusion rate; 1 is a smoke test, not a measurement. Credits multiply by samples.category— string — Optional shortcut used only if `prompts` is omitted — turned into one prompt 'What is the best <category>?', e.g. 'CRM for small business'.competitors— array — Competitor root domains to track share-of-voice against and diagnose the winner, e.g. ['rival1.com','rival2.com']. Supplying the winner as a domain unlocks the link-gap diagnosis.
Hints: read-only no · destructive no · idempotent no · open-world yes
ai_crawler_auditread-onlyAudit which AI crawlers a site allows or blocks in robots.txt — sorted by CONSEQUENCE: blocking a VISIBILITY crawler (OAI-SearchBot, PerplexityBot, ChatGPT-User, Claude-User…) removes the site from live AI answers, while blocking a TRAINING crawler (GPTBot, CCBot, Google-Extended…) only opts out of model training. Those need opposite decisions. Checks 25 known AI crawlers + whether /llms.txt exists, plus general robots.txt hygiene (Sitemap directives, whole-site Disallow foot-guns). Free (no LLM calls).
Parameters:
domain(required) — string — Root domain to audit, e.g. 'yoursite.com'.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
site_auditread-onlyFetch a page and audit core on-page SEO signals: title/meta description length, canonical tag, heading structure, image alt text coverage, viewport tag, robots meta, word count, plus response security headers, hreflang, OpenGraph/Twitter cards, http-to-https redirect, static tech markers, static accessibility checks (contrast is not measured), English-only Flesch readability, and a homepage-only broken-link check (up to 25 links). Failures carry a typed reason (blocked_403, not_found, timeout, ...). Returns a list of concrete issues found. Single page only — not a site crawl.
Parameters:
url(required) — string — Full page URL, e.g. https://example.com/page
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
schema_validateread-onlyExtract and validate JSON-LD structured data (schema.org) from a page. Checks JSON validity and flags missing recommended fields for common types (Article, Product, Organization, WebSite, BreadcrumbList, FAQPage, LocalBusiness).
Parameters:
url(required) — string — Full page URL to check for structured data.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
core_web_vitalsread-onlyGet Core Web Vitals (LCP, INP, CLS) and a performance score for a page via Google PageSpeed Insights — both a lab Lighthouse run and real-user CrUX field data when available.
Parameters:
url(required) — string — Full page URL to test.strategy— string — Test as mobile or desktop. Default 'mobile'.
Hints: read-only yes · destructive not declared · idempotent not declared · open-world yes
indexnow_submitSubmit one or more URLs to IndexNow for near-instant indexing by Bing and Yandex. Requires an IndexNow key that YOU control and have already hosted at https://<your-domain>/<key>.txt — this tool does not create that key for you.
Parameters:
urls(required) — One URL or an array of URLs, all on the same host.key(required) — string — Your IndexNow key, already hosted at https://<host>/<key>.txt
Hints: read-only no · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.