Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,536Letters: 14Defects: 1,322counted 3 min ago
teppi

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 yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:5f9f9080e2c0b195343e32adf96e86b4f9ce48976e2be82161c45cde6e497c16 | sha256sum