backlinkmcp-server
Server Details
Backlink & domain authority MCP for AI agents: referring domains, link gap, toxic review queue
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- johnsmalls22-rgb/backlinkmcp-server
- GitHub Stars
- 0
Available Tools
13 toolsai_crawler_auditAI crawler access auditARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Root domain to audit, e.g. 'yoursite.com'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, which the description agrees with (an audit is read-only; openWorldHint fits the free/no-LLM-calls claim). Beyond annotations, the description adds valuable behavioral traits: 'Free (no LLM calls)' signals cost/performance characteristics, and the scope disclosure (25 crawlers, /llms.txt, hygiene checks) sets accurate expectations for what the audit covers. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause, and the structure flows logically: purpose → consequence framework → scope enumeration → cost signal. Every sentence earns its place. It runs slightly long due to the parenthetical crawler name lists and the em-dash framing, but both carry genuine decision-making value for the agent. Minor trimming possible without losing substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with readOnly/openWorld annotations, this is nearly complete: it explains scope, the decision framework, and cost profile. The only gap is the absence of any description of the output/return format — and since there is no output schema, the description carries that burden entirely. This is a minor omission against an otherwise thorough definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the single 'domain' parameter is fully documented in the schema ('Root domain to audit, e.g. 'yoursite.com''). The description references the site implicitly but adds no parameter-level detail beyond the schema. Baseline 3 is appropriate since the schema already carries the full burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Audit which AI crawlers a site allows or blocks in robots.txt.' It further distinguishes itself by enumerating its exact scope (25 known AI crawlers, /llms.txt existence, robots.txt hygiene), which clearly separates it from the sibling ai_visibility_report and other SEO tools in the list. The purpose is unambiguous and non-tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides strong implied context — it frames the audit around the visibility-vs-training crawler decision, making it clear this is a pre-decision check before blocking or allowing crawlers. However, it never explicitly states when to choose this tool over siblings like ai_visibility_report or site_audit, nor does it name alternatives or exclusions. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ai_visibility_reportAI visibility report (Pro, spends credits)AInspect
AI Visibility / GEO audit. Asks a panel of AI models a buyer-intent question ('what's the best ?') 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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | '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 | No | '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 | No | 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). | |
| domain | Yes | YOUR root domain — the brand you're measuring AI visibility for, e.g. 'yoursite.com'. | |
| history | No | 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 | No | Buyer-intent queries to ask the panel, e.g. ['best project management tool for a startup']. | |
| samples | No | 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 | No | Optional shortcut used only if `prompts` is omitted — turned into one prompt 'What is the best <category>?', e.g. 'CRM for small business'. | |
| competitors | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
This is highly transparent: it discloses that a live multi-model panel runs ('8 models × 3 prompts × up to 4 competitors'), that credits scale with samples, that 'Answer engines are nondeterministic', and that history mode 'Costs no credits.' These details go well beyond the annotations and meaningfully set agent expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and front-loaded: the first sentence captures the core audit purpose, and the following sentences explain modes and cost constraints. Some mode details are repeated in the schema, but the description remains efficient and avoids fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description clearly enumerates what the report contains: whether the brand gets recommended, share-of-voice, why the leader wins, referring-domain gap, and which domains to target. It also covers mode trade-offs, credit implications, nondeterminism, and sampling guidance, so an agent has enough context to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 9 parameters already have rich schema descriptions, including enums, examples, credit costs, and defaults, so the description does not need to compensate. The tool description adds useful context like the Pro limitation and the referring-domain-gap diagnosis, but schema coverage is 100% and carries the parameter-semantics burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise purpose: an 'AI Visibility / GEO audit' that 'asks a panel of AI models a buyer-intent question' and reports recommendation rates, share-of-voice, the leader's win reasons, and link targets. This clearly distinguishes it from sibling tools like backlinks_for_domain or core_web_vitals, which address different SEO concerns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use each mode ('parametric ... baked-in brand memory' vs 'retrieval ... live web-search models'), and flags that the tool is 'Pro plan only' and spends credits. It does not explicitly name sibling alternatives or state when not to use it, but the use case is well-scoped enough for an agent to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
backlinks_for_domainBacklink profileARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Root domain, e.g. 'stripe.com'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnlyHint and openWorldHint, and the description adds useful behavioral context: the returned payload composition and the row limits by tier. It does not mention pagination or sorting, but the disclosed details go beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry the core output description, tier limits, and a pointer to an alternative tool. The most identifying information is front-loaded, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description adequately explains what the caller will receive: total inlink count and a ranked list with authority and outbound link counts. The tier limits add practical context, though sorting or field names are not specified, which is a minor gap for a single-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the single 'domain' parameter with an example ('stripe.com'), so schema coverage is 100%. The description adds no additional parameter-level semantics beyond restating that it operates on a domain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and resource: 'Full backlink payload for a domain' with concrete content ('total inlink count plus the ranked list of linking domains'). It also distinguishes itself from the sibling domain_authority_score by noting that tool covers only the headline number.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides an alternative: 'use domain_authority_score for just the headline number.' It also sets expectations around tier-based row limits, helping the agent decide whether this tool is appropriate for the user's plan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
common_linkersCommon linkers across domainsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domains | Yes | Root domains to intersect (2-4), e.g. ['a.com','b.com','c.com']. Free tier uses only the first 2. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint and openWorldHint. The description adds meaningful behavioral detail: threshold of linking to MORE THAN ONE domain, domain-level aggregation with no per-link URL/anchor, and free/Pro row and domain-count limits. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core function before limits/marketing framing. Each clause earns its place: definition, ranking, use case, granularity, and tier constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool, the description fully covers inputs, output shape, ranking, granularity, and result limits. No output schema exists, but the description tells the agent enough to invoke it correctly and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents 'domains' as root domains to intersect with 2-4 values and free-tier behavior. The description reinforces this but doesn't add significant new parameter semantics beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Multi-domain backlink overlap') and precisely defines output: domains linking to MORE THAN ONE of the given 2-4 domains, ranked by overlap then authority. It also differentiates from siblings like top_linkers_for_domain by emphasizing multi-domain intersection rather than single-domain backlinks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear use case ('who links my whole niche?') and appropriate scenario (must-have publications/roundups competitors share), which implies when to use this over single-domain tools. It doesn't explicitly name alternatives or state when not to use it, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
core_web_vitalsCore Web VitalsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full page URL to test. | |
| strategy | No | Test as mobile or desktop. Default 'mobile'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, and the description adds useful behavioral detail: it calls Google PageSpeed Insights, returns both Lighthouse lab results and CrUX field data, and notes field data is provided only when available. This goes beyond the bare annotation and helps set expectations for incomplete data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence that front-loads the core purpose, names the specific metrics, and then clarifies the data sources. Every clause adds value and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description helpfully names the expected output components: LCP, INP, CLS, performance score, Lighthouse lab data, and CrUX field data. It doesn't describe the full response shape or error behavior, but for a simple read-only page-vitals tool, this is sufficient guidance for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both 'url' and 'strategy'. The description does not add new semantic detail about parameters, such as URL formatting or how strategy changes the run. Baseline 3 is appropriate because the schema carries the documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') with a precise resource: Core Web Vitals (LCP, INP, CLS), a performance score, and the data source (Google PageSpeed Insights). It clearly distinguishes this from the sibling site-audit and backlink tools by focusing on page-level vitals and performance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use the tool: when a page-level performance score and Core Web Vitals are needed, with the added nuance of both lab and field data. It doesn't explicitly name alternatives or exclusions, but the context is clear enough given the unrelated sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domain_authority_scoreDomain authority scoreARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Root domain, e.g. 'stripe.com'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, covering the safety profile. The description adds useful behavioral context beyond those: the weighting basis, the proprietary web-scale index source, and the return shape (domain_rating-style score plus referring domain count). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The main action is front-loaded, followed by one sentence explaining provenance and return value. Every clause earns its place and the structure makes the tool's purpose immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with no output schema, the description covers the score's intent, computation weighting, source, and return contents. It is sufficient for an agent to invoke correctly. A minor gap is that the score's scale or range is not specified, but this is not critical for selection and usage as currently specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter is fully documented with type and example ('Root domain, e.g. 'stripe.com''). The description's mention of 'domain' adds no semantic detail beyond the schema, so the baseline is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb-resource pair: 'Get an editorial-authority score for a domain.' It adds distinguishing detail by explaining the score is weighted toward high-trust wiki/edu/gov/news referrers from a proprietary link index, which separates it from sibling tools that return raw backlink lists or reports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for holistic authority measurement, but it provides no explicit guidance about when to choose it over siblings like backlinks_for_domain or top_linkers_for_domain. There are no exclusion criteria or alternative routing cues. The context is clear only in a general sense.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_link_prospectsCompetitor link gapARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | YOUR root domain — the site you want more backlinks for, e.g. 'yoursite.com'. | |
| competitors | Yes | Competitor root domains to mine for gap prospects (1-3), e.g. ['rival1.com','rival2.com']. Free tier uses only the first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses significant behavioral limitations: domain-level only, no per-link URLs or anchor text, each row is a domain rather than a confirmed link, noise filtering, and free/Pro tier caps. This is exactly the kind of beyond-schema transparency that prevents misinterpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but every sentence carries distinct information: the gap definition, domain-level limitation, filtering behavior, and tier limits. It is front-loaded with the primary purpose and avoids filler, though it could be slightly tightened without losing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description does a good job explaining what the result will be: domains ranked by authority, not URLs or anchor text. It also covers tier limits and input constraints. It could add a little more about the exact output shape or ranking metric, but it is largely complete for invocation decisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds useful meaning by explaining that 'domain' is YOUR site, 'competitors' are root domains to mine, and that the free tier uses only the first competitor. This adds real value beyond the raw schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: competitor backlink-gap analysis that returns domains linking to competitors but not to you. It clearly distinguishes itself from siblings like backlinks_for_domain or top_linkers_for_domain by emphasizing the 'NOT to you' gap angle and 'warm outreach shortlist' purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use the tool: when you want domains that link to competitors but not your domain for link building outreach. It does not explicitly name sibling alternatives, but it gives clear context, input expectations, and tier-based behavior that helps an agent decide suitability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flag_toxic_linksToxic backlink review queueARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The domain whose inbound links you want to audit for toxic/spam linkers, e.g. 'yoursite.com'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It goes well beyond the readOnlyHint and openWorldHint annotations by disclosing that results are domain-level heuristics, not confirmed toxic links, that no per-link URL/anchor data is provided, and that each row is only a candidate for review. The Google disavow caution further clarifies the intended non-destructive usage. This is rich behavioral context that materially changes how an agent would use the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but purposeful: it front-loads the core action, then limitations, then safety guidance, then quotas. Each clause earns its place, though the first sentence is long and packed. No filler or repetition, and it remains readable despite its richness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description covers the key contextual needs: what the tool returns (domain rows, not links), which heuristics are used, what is intentionally omitted (per-link URL/anchor), account limit differences, and the disavow caution. It does not describe the exact return fields or pagination, but for a single-parameter heuristic audit tool this is near-complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents the single 'domain' parameter. The description adds a little context by calling it a domain's linkers, but doesn't add new parameter-level detail beyond what the schema provides. A baseline 3 is appropriate because the schema carries the parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (scans a domain's linkers, flags spammy disavow candidates) and lists concrete heuristics (abused TLDs, spam keywords, hyphen/keyword stuffing, outbound counts). It also explicitly distinguishes itself from the sibling tool find_link_prospects by calling itself 'the inverse', making its position among siblings unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names an alternative (find_link_prospects) and clarifies when not to use this tool ('use this to audit, not to auto-disavow'). It also implies the primary use case: reviewing domains flagged as toxic linker candidates. It doesn't explicitly contrast against other sibling tools like common_linkers or top_linkers_for_domain, so a small gap remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
indexnow_submitSubmit URLs to IndexNowAIdempotentInspect
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:///.txt — this tool does not create that key for you.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Your IndexNow key, already hosted at https://<host>/<key>.txt | |
| urls | Yes | One URL or an array of URLs, all on the same host. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds value beyond annotations by clarifying that the key must be hosted and controlled by the user, and by stating the intended effect (near-instant indexing by Bing and Yandex). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The core action and purpose are front-loaded, and the critical prerequisite appears immediately after. Every clause contributes necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter mutation tool with idempotent and non-destructive annotations and no output schema, the description provides sufficient context: target service, key prerequisite, and purpose. Minor gaps like response handling and same-host constraint exist, but the latter is already in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters. The description reinforces the key-hosting requirement and supports one-or-many URLs, but adds no additional format or syntax details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Submit') and resource ('URLs to IndexNow'), names the search engines (Bing, Yandex), and clearly distinguishes itself from the unrelated sibling SEO tools. No ambiguity about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear use case: submit URLs for near-instant indexing. The description provides a necessary prerequisite (hosted key) and explicitly notes the tool does not create the key, helping the agent decide whether it can use the tool. No explicit alternatives are named, but no sibling tool competes with this functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
schema_validateStructured data checkARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full page URL to check for structured data. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, so the description does not need to restate safety. The description adds behavioral detail beyond the annotations: it validates JSON syntax, flags missing recommended fields, and specifically targets JSON-LD rather than all structured data formats. This gives the agent a useful model of what the tool will and will not do.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler. The primary action is stated first, followed by the specific validation behavior and supported types. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only, no-output-schema tool, the description covers the input, the operation, the validation checks, and the relevant schema.org types. It does not describe the exact return format, but the description implies a validation result and flags, which is sufficient for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, url, is fully described in the input schema ('Full page URL to check for structured data'). The description adds no additional parameter-level meaning, but with 100% schema description coverage, the schema carries the semantic burden adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: it extracts and validates JSON-LD structured data (schema.org) from a page. It also names concrete checks (JSON validity, missing recommended fields) and lists the supported schema.org types, making it clearly distinct from the broad SEO audit and link-analysis siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes a clear context: use this when you need to check a specific page for JSON-LD structured data and validation issues. It does not explicitly name alternatives or state when not to use it, but the focused scope ('from a page', JSON-LD only) is enough to guide selection among the mostly unrelated sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
site_auditOn-page SEO auditARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full page URL, e.g. https://example.com/page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool fetches the URL and returns a list of concrete issues, which complements the readOnlyHint and openWorldHint annotations. It clearly identifies it as a non-mutating, live-fetch operation without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action and resource, followed by a concise checklist of audited signals and a clear return type. Every sentence earns its place without redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool, the description provides sufficient context: what it fetches, what signals it checks, what it returns, and its scope limitation. Even without an output schema, an agent can invoke it correctly and understand the result shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents the url parameter with a full URL example. The description adds value by clarifying the URL must be a single page rather than a domain or site root, reinforcing the parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch a page and audit') and names concrete on-page SEO signals, making the tool's function unmistakable. The final sentence explicitly distinguishes it from a site crawl, which separates it from sibling tools like ai_crawler_audit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states that this tool handles a single page, not a site crawl, giving a useful exclusion for selection. It could be stronger by naming an alternative tool for site-wide audits, but the context is clear enough for an agent to decide when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
top_linkers_for_domainTop linking domainsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Root domain, e.g. 'stripe.com'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe read nature is covered. The description adds useful behavioral detail beyond annotations: the fixed limit of 25, the ranking criterion based on the linking domain's authority, and that link counts are included. This gives an agent a clear picture of what the call will return.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The first sentence front-loads the functional behavior, and the second provides a practical use case. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one simple parameter and no output schema, the description fully explains what the agent gets back: top 25 linking domains, ranking basis, and link counts. Nothing needed for correct invocation or interpretation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'domain' parameter already has a clear example. The description adds no additional semantic detail about parameter formatting or normalization, so it stays at the baseline for well-covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the exact operation ('Return'), the resource ('top 25 domains linking to a given domain'), the ordering ('ranked by the linking domain's own authority'), and the included metric ('link counts'). This clearly distinguishes it from sibling tools like backlinks_for_domain, which would focus on individual backlinks rather than ranking linking domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context by positioning the tool as 'good for a quick competitive/backlink-profile skim.' It does not explicitly name alternatives or say when not to use it, but the use case is specific enough for an agent to select it appropriately among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_link_liveVerify backlinks liveARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional: how many top linkers to check when 'linkers' is omitted (default 8, max 15). | |
| domain | Yes | Root domain whose backlinks to verify, e.g. 'stripe.com'. | |
| linkers | No | Optional: specific linking domains to check (max 15). Defaults to the top linkers from the graph. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by explaining the live-fetch behavior, the homepage-only scope, and the semantics of 'not_found.' This aligns with and reinforces readOnlyHint and openWorldHint. It gives the agent exactly the nuanced behavioral context needed to interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the action leads, the operational caveat follows, and the default behavior closes. Every sentence earns its place and nothing is redundant with the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with three parameters and no output schema, the description provides strong behavioral and interpretive detail. The only notable gap is that it never outlines the response shape or fields returned for each linker, leaving the agent to infer output structure from the 'not_found' hint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description reinforces the default 'top 8' and max of 15, but adds no meaningful parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise action: live-verify backlinks by fetching linking domains' homepages and confirming an actual href. It clearly differentiates from index-based sibling tools like backlinks_for_domain by emphasizing 'RIGHT NOW' and 'real-time proof.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use context: it complements the index with real-time proof. It also provides an important interpretive caveat about 'not_found' meaning only 'no link on the homepage today.' It stops short of explicitly naming sibling alternatives or stating when not to use the tool, so it is not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- Changed
ai_visibility_report2 fields changed- changed
Input schema / properties / samples / descriptionPrevious value: -"Repeat draws per (prompt×model) cell (default 1, max 3). Answer engines are nondeterministic — more samples tighten the 95% confidence interval on your rates. Credits multiply by samples."New value: +"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." - changed
Input schema / properties / samples / maximumPrevious value: -3New value: +10
4 tool updates
- Added
core_web_vitals - Added
indexnow_submit - Added
schema_validate - Added
site_audit
9 tool updates
- First observed
ai_crawler_audit - First observed
ai_visibility_report - First observed
backlinks_for_domain - First observed
common_linkers - First observed
domain_authority_score - First observed
find_link_prospects - First observed
flag_toxic_links - First observed
top_linkers_for_domain - First observed
verify_link_live
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Backlink Analysis MCP for AI Agents: authority, referring domains, and competitor link gaps.
SEO Backlinks MCP — backlink intelligence via DataForSEO Backlinks API
- VibeSEOOAuthdev.vibeseo
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Let AI agents buy dofollow backlinks: search 50,000+ vetted sites, order, publish. 7 hosted tools.
Related MCP Servers
- AlicenseAqualityBmaintenanceFind backlink opportunities, analyze competitors, discover similar domains with AI embeddings, and manage prospecting projects directly from any MCP client.15MIT
- AlicenseNot gradedqualityCmaintenanceAgent-first SEO toolkit with 24 MCP tools for keyword research, rank tracking, site audits up to 50k pages, competitor analysis, content gap detection, domain reputation, backlink intelligence, Google Search Console integration, and AI-powered strategy generation with Claude, GPT, and Ollama. SQLite-backed and bring-your-own-key.MIT
- AlicenseAqualityAmaintenanceThe MCP server for SEO. Find prospects, draft outreach, and monitor backlinks from your AI agent.14MIT
- AlicenseNot gradedqualityCmaintenanceEnables backlink intelligence by interfacing with the DataForSEO Backlinks API. Allows AI agents to query and analyze backlink data through natural language.13MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Several tools occupy adjacent backlink-analysis territory: backlinks_for_domain and top_linkers_for_domain both return ranked linking domains with authority and count data, and common_linkers vs find_link_prospects can be confused despite one being overlap and the other gap analysis. Descriptions help clarify intent, but the near-duplicate listing tools make misselection possible.
All names are snake_case and readable, but the pattern is mixed: some are resource-centric (domain_authority_score, core_web_vitals, top_linkers_for_domain) while others are action-centric (find_link_prospects, flag_toxic_links, verify_link_live). Indexnow_submit also inverts the usual action-object order. Still, the names are descriptive enough to navigate.
Thirteen tools is a reasonable scope for a backlink/SEO-focused server, covering link analysis, audits, and indexing without feeling bloated. The count is slightly high because several backlink tools overlap and could be consolidated, but each does have a recognizable use case.
The core backlink workflow is well covered: authority scores, backlink lists, overlap, gap analysis, toxic-link flags, and live verification are all present, and the additional SEO tools extend the surface usefully. Notable gaps are the lack of per-link URL/anchor data and single-page-only auditing, but these are workable limitations rather than dead ends.