Server definition
- Hash
- sha256:5f9f9080e2c0b195343e32adf96e86b4f9ce48976e2be82161c45cde6e497c16
- What it is
- What a remote MCP server returned when asked what it offers: 13 tools
The blob, as servednamed by its sha256
{
"instructions": "Thirteen tools: domain_authority_score, top_linkers_for_domain, backlinks_for_domain read from BacklinkMCP's proprietary web-scale link index; verify_link_live then fetches linker homepages in real time to confirm links exist today; find_link_prospects does competitor backlink-gap analysis (domains linking a competitor but not you); flag_toxic_links audits a domain's own linkers for spammy disavow candidates; common_linkers intersects 2+ domains to find who links the whole set; ai_visibility_report asks a panel of LLMs 'what's the best <category>' and reports your brand's share-of-voice, who wins, why (via our link data), and which domains to earn links from; ai_crawler_audit reads a site's robots.txt to report which AI crawlers it allows or blocks (visibility vs training bots) plus sitemap/robots hygiene, no LLM calls; site_audit checks one page's on-page SEO signals (title, meta, canonical, headings, alt text); schema_validate extracts and checks a page's JSON-LD structured data; core_web_vitals returns LCP/INP/CLS + performance score via Google PageSpeed Insights; indexnow_submit pings Bing/Yandex IndexNow with your own hosted key. Free up to 10 calls/day and 25 backlinks_for_domain rows; Pro is unlimited daily calls and the full 100-row backlinks_for_domain list — top_linkers_for_domain returns 25 on both tiers (backlinkmcp.com).",
"tools": [
{
"description": "Audit 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).",
"inputSchema": {
"properties": {
"domain": {
"description": "Root domain to audit, e.g. 'yoursite.com'.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "ai_crawler_audit",
"outputSchema": null
},
{
"description": "AI 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.",
"inputSchema": {
"properties": {
"category": {
"description": "Optional shortcut used only if `prompts` is omitted — turned into one prompt 'What is the best <category>?', e.g. 'CRM for small business'.",
"type": "string"
},
"competitors": {
"description": "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.",
"items": {
"type": "string"
},
"type": "array"
},
"depth": {
"description": "'draft' = cheap iteration pass (2 models × 1 prompt) for trying prompts/competitors. 'full' (default) = the whole panel. Draft costs 1 credit (2 for retrieval).",
"enum": [
"draft",
"full"
],
"type": "string"
},
"domain": {
"description": "YOUR root domain — the brand you're measuring AI visibility for, e.g. 'yoursite.com'.",
"type": "string"
},
"facts": {
"description": "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).",
"items": {
"type": "string"
},
"type": "array"
},
"history": {
"description": "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.",
"type": "boolean"
},
"mode": {
"description": "'parametric' (default) = the models' baked-in brand memory (cheap). 'retrieval' = live web-search models (what the AI answers now, SEO-driven; costs more credits).",
"enum": [
"parametric",
"retrieval"
],
"type": "string"
},
"prompts": {
"description": "Buyer-intent queries to ask the panel, e.g. ['best project management tool for a startup'].",
"items": {
"type": "string"
},
"type": "array"
},
"samples": {
"description": "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.",
"maximum": 10,
"minimum": 1,
"type": "integer"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "ai_visibility_report",
"outputSchema": null
},
{
"description": "Full 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.",
"inputSchema": {
"properties": {
"domain": {
"description": "Root domain, e.g. 'stripe.com'.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "backlinks_for_domain",
"outputSchema": null
},
{
"description": "Multi-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.",
"inputSchema": {
"properties": {
"domains": {
"description": "Root domains to intersect (2-4), e.g. ['a.com','b.com','c.com']. Free tier uses only the first 2.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"domains"
],
"type": "object"
},
"name": "common_linkers",
"outputSchema": null
},
{
"description": "Get 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.",
"inputSchema": {
"properties": {
"strategy": {
"description": "Test as mobile or desktop. Default 'mobile'.",
"enum": [
"mobile",
"desktop"
],
"type": "string"
},
"url": {
"description": "Full page URL to test.",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "core_web_vitals",
"outputSchema": null
},
{
"description": "Get 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.",
"inputSchema": {
"properties": {
"domain": {
"description": "Root domain, e.g. 'stripe.com'.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "domain_authority_score",
"outputSchema": null
},
{
"description": "Competitor 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.",
"inputSchema": {
"properties": {
"competitors": {
"description": "Competitor root domains to mine for gap prospects (1-3), e.g. ['rival1.com','rival2.com']. Free tier uses only the first.",
"items": {
"type": "string"
},
"type": "array"
},
"domain": {
"description": "YOUR root domain — the site you want more backlinks for, e.g. 'yoursite.com'.",
"type": "string"
}
},
"required": [
"domain",
"competitors"
],
"type": "object"
},
"name": "find_link_prospects",
"outputSchema": null
},
{
"description": "Toxic / 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.",
"inputSchema": {
"properties": {
"domain": {
"description": "The domain whose inbound links you want to audit for toxic/spam linkers, e.g. 'yoursite.com'.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "flag_toxic_links",
"outputSchema": null
},
{
"description": "Submit 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.",
"inputSchema": {
"properties": {
"key": {
"description": "Your IndexNow key, already hosted at https://<host>/<key>.txt",
"type": "string"
},
"urls": {
"description": "One URL or an array of URLs, all on the same host.",
"oneOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"maxItems": 10000,
"type": "array"
}
]
}
},
"required": [
"urls",
"key"
],
"type": "object"
},
"name": "indexnow_submit",
"outputSchema": null
},
{
"description": "Extract 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).",
"inputSchema": {
"properties": {
"url": {
"description": "Full page URL to check for structured data.",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "schema_validate",
"outputSchema": null
},
{
"description": "Fetch 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. Returns a list of concrete issues found. Single page only — not a site crawl.",
"inputSchema": {
"properties": {
"url": {
"description": "Full page URL, e.g. https://example.com/page",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "site_audit",
"outputSchema": null
},
{
"description": "Return 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.",
"inputSchema": {
"properties": {
"domain": {
"description": "Root domain, e.g. 'stripe.com'.",
"type": "string"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "top_linkers_for_domain",
"outputSchema": null
},
{
"description": "Live-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).",
"inputSchema": {
"properties": {
"domain": {
"description": "Root domain whose backlinks to verify, e.g. 'stripe.com'.",
"type": "string"
},
"limit": {
"description": "Optional: how many top linkers to check when 'linkers' is omitted (default 8, max 15).",
"type": "integer"
},
"linkers": {
"description": "Optional: specific linking domains to check (max 15). Defaults to the top linkers from the graph.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"domain"
],
"type": "object"
},
"name": "verify_link_live",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:5f9f9080e2c0b195343e32adf96e86b4f9ce48976e2be82161c45cde6e497c16 | sha256sum