AIsa Backlinks
Server Details
Your agent needs the link graph — who points at a competitor, what anchor text they use, what was won or lost last month, and which sites link to all of your rivals but not to you.
What you can ask for • "Who links to my competitor and not to me?" • "What anchors point at this domain, and how spammy are the sources?" • "Which links did this site win and lose in the last 30 days?" • "Compare the referring domains of these five competitors." • "Summarise the backlink profile of these 100 domains in bulk."
How to use it Point any MCP client at https://mcp.aisa.one/seo-backlinks/mcp and sign in with OAuth — there is no key to create or paste. 27 tools: backlinks and referring domains, anchors, new and lost links over time, domain and page intersections, referring networks, spam scores, bulk summaries for many domains at once, plus Semrush's own backlink and indexed-page sets.
Why this rather than the source Two independent link indexes behind one account — coverage differs, and the gap is usually the interesting part.
It is also a door to the rest The same login reaches 26 sources and 580+ operations. Find the link gap here, then ask the same agent who runs those sites and how to reach them — without adding a second server.
What it costs Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident.
Where else it reaches https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
- Status
- Healthy
- Uptime
- 89.4% over 21 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 32 tools
Most pinned backlink tools target distinct metrics (summary, anchors, referring domains, competitors, intersections, bulk variants), but the set contains many near-duplicates across Semrush and DataForSEO, and the generic search/use/batch_use router tools overlap with direct endpoint calls. Descriptions help, but an agent can easily hesitate between similar endpoints like summaries, bulk summaries, and domain page summaries.
Provider-specific groups are consistent: Semrush tools use get_semrush_* and DataForSEO tools use post_dataforseo_backlinks_*_live. Generic router tools (search, use, batch_use, get_details, list_categories) break the provider prefix pattern but remain readable snake_case; overall mostly consistent with minor deviations.
32 tools is excessive for the apparent backlink-analysis scope. While the domain has many possible metrics, the set includes numerous redundant provider endpoints plus generic router utilities, pushing it well beyond a well-scoped 3–15 tool surface.
The direct tools cover a very broad backlink surface: summaries, individual links, anchors, referring domains/networks, competitors, intersections, historical/timeseries data, bulk metrics, spam/ranks, and index data. The generic search/use tools further extend coverage, leaving only minor potential gaps for specialized or management operations.
Available Tools
32 toolsbatch_useRun up to 20 operationsADestructiveInspect
Execute up to 20 operations concurrently (tool-router's batch_use). Each item answers independently; one failure never cancels the others. Billed per call to your AIsa key.
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | Up to 20 items of {call_id, operation_id, arguments}; steps at the same execution_level of a plan go in one batch | |
| search_id | No | search_id from the search that found these operations | |
| max_price_usd | No | Per-call price cap applied to every item |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=true, so safety is covered. The description adds valuable behavior: independence of items (one failure doesn't cancel others) and per-call billing. These are not derivable from annotations and help the agent set 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?
Three short sentences with zero filler. The action and limit are front-loaded. The phrase 'tool-router's batch_use' is redundant since it restates the tool name, but it's a minor flaw. Overall it is concise and well-structured.
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 annotations covering destructive behavior and an output schema presumably describing results, the description covers the key operational aspects: concurrency limit, independence, and billing. It doesn't mention error reporting formats, but those likely live in the output schema. It is sufficiently complete for a batch 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?
Schema description coverage is 100%, so the schema fully documents each parameter. The description adds no parameter-specific details. The calls parameter's description already explains the structure and batching context, so the baseline of 3 applies; the description doesn't need to compensate.
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 clear action (execute) and resource (operations) with a concrete limit (up to 20) and concurrency. It doesn't explicitly name the sibling 'use' for single operations, but the distinction is clear enough from the concurrency and limit. The redundancy of 'tool-router's batch_use' is minor.
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 no guidance on when to use this tool versus the sibling 'use' tool. The schema note about 'steps at the same execution_level of a plan go in one batch' is helpful, but it lives in the schema, not the description. The description only implies batching via concurrency but doesn't state when to choose it over the single-operation alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dataforseo_backlinks_indexBacklinks IndexBRead-onlyIdempotentInspect
This endpoint will provide you with the total number of backlinks, domains, and pages our database contains for the moment when you make a request. You will also get stats for the last 12 months.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful temporal context – the snapshot is taken 'for the moment when you make a request' and includes the last 12 months – but says nothing about cost, rate limits, or freshness lag typical of index endpoints.
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 tight sentences that front-load the core output (total backlinks, domains, pages) before the secondary 12-month stats. No filler or repetition of the title.
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?
An output schema exists, so return-value shape need not be described, and the no-param schema is trivially complete. The description covers the data scope and temporal snapshot well; only the routing question against sibling tools is unaddressed.
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 tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify and nothing to compensate for.
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 ('provide you with') and resource scope: total counts of backlinks, domains, and pages held in the database, plus 12-month stats. This is clearly an aggregate index/snapshot endpoint, distinguishing it from the many per-domain/per-page siblings, though it never names a sibling explicitly.
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?
No when-to-use guidance is given. With ~30 sibling tools mixing index stats, live queries, and summary endpoints, the description never says when to call this index endpoint versus post_dataforseo_backlinks_summary_live or get_semrush_indexed_pages.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_detailsShow operation detailsARead-onlyInspect
Full contract of one or more operations: arguments_schema, response_schema, read_only, side_effects, availability, price, suggested_max_price_usd and known_pitfalls. Free — a quote authenticates like a call but stops before any spend.
price.model distinguishes the sources: quoted is what this
account would be charged now, list is the published price,
dynamic means the price varies with the request and only a quote
states it, composed means the operation runs several upstream
calls. suggested_max_price_usd is that estimate with headroom,
in the shape use and batch_use take as max_price_usd.
| Name | Required | Description | Default |
|---|---|---|---|
| arguments | No | The arguments the operation would be called with, for a price that reflects them. Keyed by operation_id for a batch, or passed flat for a single operation_id. Routes whose required parameters are validated before pricing have no price without them. | |
| with_quote | No | Whether each operation is priced for this account before the answer. One round trip per operation; spends nothing. | |
| operation_id | No | One operation_id from search | |
| operation_ids | No | Up to 20 operation_ids, for a batch |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful context: it is free, stops before any spend, and explains how price.model varies (quoted, list, dynamic, composed). It also clarifies that suggested_max_price_usd has headroom. This goes beyond the annotation flags and gives the agent a clear model of what happens.
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 moderately long but well structured: it opens with the core purpose, then explains the price model in a dedicated paragraph. No redundancy or filler. It front-loads the most critical information (contract fields) and then gives necessary detail about price semantics. Slightly dense but not overly verbose.
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?
The tool has an output schema, so return values need no description. The description covers the key behavioral aspects (no spend, pricing models, max_price headroom) and clarifies edge cases like routes without a price. For a read-only informational tool, this is complete enough for an agent to use 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?
Schema description coverage is 100%, so parameters are already documented. The description adds some nuance, such as how arguments affect pricing and that required parameters may be needed before a price can be quoted. It also clarifies with_quote's purpose (one round trip, spends nothing). These are useful but not essential given the schema's completeness.
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 purpose: returning the full contract of one or more operations, including schemas, read_only, side_effects, price, and known_pitfalls. It clearly distinguishes this from executing operations (use, batch_use) and from discovery (search, list_categories). The verb 'get' and the noun 'details' align with the title, and the first sentence is explicit.
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 the tool is used to assess an operation before spending (e.g., 'A quote authenticates like a call but stops before any spend'), and the schema says 'One operation_id from search', hinting at a flow. However, it never explicitly states when to choose this over siblings like use or search, nor does it give exclusions. The guidance is implied, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_semrush_backlink_anchorsBacklink AnchorsARead-onlyIdempotentInspect
Anchor-text distribution of backlinks to a target. Billed per returned data row at $0.36 per row (up to 20 rows; header row excluded); 4xx/5xx are not charged. Response is semicolon-delimited text.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target domain or URL. | |
| target_type | Yes | One of `root_domain`, `domain`, or `url`. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive, so the safety profile is clear. The description adds valuable behavioral details beyond annotations: the per-row billing ($0.36, up to 20 rows, header excluded), that 4xx/5xx are not charged, and that the response is semicolon-delimited text. These specifics help the agent understand cost and output format, exceeding the annotation coverage.
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 two sentences with zero filler. The first sentence states the core purpose, and the second covers billing and format. It is front-loaded and 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 two-parameter tool with an output schema present, the description covers the essential operational aspects: purpose, cost, row limit, and response format. It does not explain the exact structure of the anchor-text distribution output, but that is the output schema's job. The absence of usage guidance is a minor gap, but overall it is sufficiently complete for correct invocation.
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 input schema already describes both parameters with examples and allowed values, covering 100% of parameters. The description does not add any additional parameter-specific meaning, such as formatting constraints or interplay between target and target_type. Given the high schema coverage, the baseline of 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?
The description clearly states the tool returns 'anchor-text distribution of backlinks to a target', identifying the specific resource and action. It distinguishes from siblings like get_semrush_backlinks (which likely lists raw backlinks) and get_semrush_backlinks_overview (which gives aggregate metrics). However, it does not explicitly state that it returns a distribution summary vs. raw anchor texts, leaving some ambiguity.
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 does not provide any guidance on when to use this tool versus its many siblings (e.g., get_semrush_backlinks, get_semrush_backlinks_overview, or the DataForSEO post_dataforseo_backlinks_anchors_live). It only mentions billing and format, which are operational details, not usage context. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_semrush_backlink_competitorsBacklink CompetitorsARead-onlyIdempotentInspect
Domains with a backlink profile similar to the target. Billed per returned data row at $0.36 per row (up to 20 rows; header row excluded); 4xx/5xx are not charged. Response is semicolon-delimited text.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target domain or URL. | |
| target_type | Yes | One of `root_domain`, `domain`, or `url`. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds valuable operational context: billing at $0.36 per row (up to 20 rows, header excluded), no charge for 4xx/5xx errors, and semicolon-delimited text response format. These details go beyond annotations and help the agent anticipate costs and output format.
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 extremely concise, with the purpose stated first, followed by billing details and response format. No extraneous words; every sentence adds necessary information. This is a model of efficient front-loaded structure.
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 2-parameter tool with an output schema, the description covers the essential operational aspects: what it returns, cost, row limit, error billing, and response format. The output schema handles field details, so nothing critical is missing. A small gap is the lack of any note on authentication or rate limits, but these are often covered by the platform context.
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%, with clear descriptions for target and target_type. The description does not add further parameter semantics beyond what the schema already provides, so it meets the baseline without elevating it.
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 clearly states the tool returns domains with a backlink profile similar to the target, which is a specific verb+resource. It does not explicitly distinguish itself from siblings like get_semrush_backlinks or get_semrush_referring_domains, but the phrase 'similar to the target' conveys the core purpose unambiguously.
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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any context for selection, such as 'use this for competitor analysis' or point to sibling tools. The agent is left to infer from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_semrush_backlinksBacklinksARead-onlyIdempotentInspect
Individual backlink records pointing at a target (source, target, anchor). Billed per returned data row at $0.36 per row (up to 20 rows; header row excluded); 4xx/5xx are not charged. Response is semicolon-delimited text.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target domain or URL. | |
| target_type | Yes | One of `root_domain`, `domain`, or `url`. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing the per-row billing rate ($0.36), the 20-row cap (header excluded), that 4xx/5xx are not charged, and the semicolon-delimited response format. These operational details are not present in the annotations and are critical for cost-aware and correct invocation. 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?
The description is two sentences, front-loading the resource type first, then pricing, row limit, error charging, and response format. Every sentence adds distinct information with no redundancy, making it compact and easy to parse.
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 tool with an output schema and complete annotations, the description covers all critical operational aspects: cost, row cap, error handling, and response format. It leaves no significant gaps for an agent to call the tool correctly; any remaining details like pagination are likely outside the tool's scope.
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 input schema has 100% description coverage for both parameters, with clear examples and allowed values for `target_type`. The description adds no parameter-specific meaning, but with full schema coverage, the baseline of 3 is appropriate; the schema fully explains the parameters.
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 the tool returns 'Individual backlink records pointing at a target (source, target, anchor)', which clearly identifies the resource and the specific granularity. The phrase 'individual' differentiates it from sibling tools like overview, anchors, and competitors. The tool name and title reinforce the 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?
The description implies this is for raw, row-level backlink data rather than aggregated summaries, but it does not explicitly state when to use this tool over alternatives or provide exclusion criteria. No alternatives are mentioned, so an agent must infer usage from the 'Individual' qualifier and the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_semrush_backlinks_overviewBacklinks OverviewARead-onlyIdempotentInspect
Return the backlink profile summary for a root domain: authority score (ascore), total backlinks, referring domains, referring URLs, and referring IPs. Billed $0.30 per successful call; 4xx/5xx are not charged. Response is semicolon-delimited text.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target root domain, e.g. `ahrefs.com`. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations declaring the call safe/read-only, the description adds important behavioral context: the $0.30 billing per successful call, no charge for 4xx/5xx responses, and semicolon-delimited response format. This is exactly the kind of non-obvious behavior an agent needs before invoking.
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 sentences with no filler: the core purpose and output fields come first, then cost/billing caveat, then response format. Every sentence earns its place and the most important operational detail (cost) is included without bloating.
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-argument read-only tool with rich annotations and an output schema, the description covers output contents, billing behavior, error-charge behavior, and response format. Nothing an agent needs to invoke it correctly 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 parameter target is already clearly documented with format and an example. The description adds no deeper parameter semantics, but the schema carries the full burden adequately, so 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 ('Return') and resource ('backlink profile summary for a root domain') and enumerates the exact fields returned. The description clearly distinguishes this from domain-overview or competitor tools in the sibling list, even without naming alternatives.
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?
There is no guidance on when to choose this tool over alternatives such as get_semrush_domain_overview or get_ahrefs_domain_rating. The description defines what the tool does but does not state usage conditions, exclusions, or preferred alternative scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_semrush_indexed_pagesIndexed PagesARead-onlyIdempotentInspect
Pages of a target that have backlinks (page-level breakdown). Billed per returned data row at $0.36 per row (up to 20 rows; header row excluded); 4xx/5xx are not charged. Response is semicolon-delimited text.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target domain or URL. | |
| target_type | Yes | One of `root_domain`, `domain`, or `url`. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing the per-row billing cost ($0.36 per row, up to 20 rows), the fact that 4xx/5xx responses are not charged, and that the response is semicolon-delimited text. These details are critical for an agent to assess cost, handle errors, and parse output correctly, and none of them are derivable from 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 only two sentences, with the core purpose front-loaded in the first sentence and the billing/format details compressed into the second. Every word earns its place; there is no fluff, and the structure makes it easy to scan for the purpose and key 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?
Given that an output schema exists, return-value details are not needed in the description. The description covers the purpose, pricing, row limit, error-charging policy, and response format, while annotations handle the read-only/idempotent safety profile. For a simple two-parameter read tool, this is a complete and sufficient 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?
The input schema already provides full descriptions for both parameters ('Target domain or URL' and 'One of root_domain, domain, or url'), so schema coverage is 100%. The description adds no additional parameter-level meaning, such as format constraints, defaults, or interplay between the two parameters, so the 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?
The description identifies the resource (pages with backlinks) and the granularity (page-level breakdown), which is clear enough for an agent to understand what the tool returns. However, it lacks an explicit verb like 'lists' or 'returns' and does not explicitly distinguish itself from sibling tools such as get_semrush_backlinks or get_semrush_backlinks_overview, forcing the agent to infer the distinction from the name alone.
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 no guidance on when to use this tool versus the many sibling tools. It does not mention alternatives, prerequisites, or typical use cases, leaving the agent without a decision framework for picking this tool over similar backlink-related endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_semrush_referring_domainsReferring DomainsARead-onlyIdempotentInspect
Referring domains linking to a target, aggregated by domain. Billed per returned data row at $0.36 per row (up to 20 rows; header row excluded); 4xx/5xx are not charged. Response is semicolon-delimited text.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Target domain or URL. | |
| target_type | Yes | One of `root_domain`, `domain`, or `url`. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant behavioral context beyond the annotations: billing at $0.36 per row, a 20-row limit, non-charging of 4xx/5xx errors, and semicolon-delimited response format. This covers cost, error handling, and output structure, which the annotations (readOnly, openWorld, idempotent) do not address. 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?
The description is two sentences: the first states purpose concisely, and the second front-loads billing and response format. Every word earns its place; there is no fluff or repetition. It is well-structured for quick agent parsing.
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 presence of an output schema, return values are covered. The description adds billing, row limits, error handling, and response format, which are essential for correct invocation. However, it lacks any mention of when to prefer this over siblings, and it doesn't note any prerequisites (e.g., API key or target validation). Still, for a read-only data fetch, it is largely 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?
The input schema already provides 100% coverage for both parameters (target and target_type) with examples and descriptions. The tool description adds no additional parameter-specific semantics beyond restating 'target' generically. Per the baseline rule, 3 is appropriate when schema fully documents parameters.
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 clear verb and resource: 'Referring domains linking to a target, aggregated by domain.' It specifies the aggregation level, distinguishing it from other backlink tools that might list individual backlinks. However, it doesn't explicitly name any sibling tool for differentiation, so it's clear but not maximally distinguishing.
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 no guidance on when to use this tool versus alternatives like get_semrush_backlinks_overview or post_dataforseo_backlinks_referring_domains_live. It only describes what it does, leaving the agent to infer context from the name and sibling list. No exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesBrowse the AIsa catalogueARead-onlyInspect
The AIsa catalogue at a glance: categories, the servers in each, tool counts, and the dedicated endpoint to connect if you only need one category. Free; no key needed. (AIsa-only: tool-router has no equivalent.)
Use mcp.aisa.one/mcp?modules=<category> (or mcp.aisa.one/<category>/mcp)
to have that category's tools listed directly instead of via search.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful behavioral context beyond annotations: the tool is free, requires no key, and can direct users to a category-specific endpoint that lists tools directly rather than through search.
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 moderately detailed but every sentence adds useful information: output scope, cost/auth, sibling differentiation, and endpoint usage. It is slightly longer than strictly necessary but remains well-structured and front-loaded with the core purpose.
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 zero-parameter, read-only tool with an output schema and safety annotations, the description is complete. It covers what the tool returns, the free/no-key access model, and provides the category endpoint for specialized use, leaving no essential gap for an agent to call 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?
The tool has zero parameters, so the baseline is 4. The description includes a <category> placeholder only in the endpoint examples, not as a tool parameter, which is appropriate supplementary guidance rather than a parameter-semantics gap.
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 clearly states what the tool does: it presents the AIsa catalogue at a glance, including categories, servers, tool counts, and a dedicated category endpoint. It also distinguishes itself from search by explaining that the endpoint lists tools directly instead of via search.
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 clear usage context: use list_categories for a catalogue overview, and use the provided endpoint when you only need one category. It explicitly contrasts with search ('instead of via search') and notes tool-router has no equivalent, although it does not exhaustively cover all sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_anchors_liveAnchorsCDestructiveInspect
This endpoint will provide you with a detailed overview of anchors used when linking to the specified website with relevant backlink data for each of them.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only data retrieval operation ('provide you with a detailed overview'), while the annotations declare destructiveHint=true and readOnlyHint=false. This is a direct contradiction that would mislead an agent about the tool's safety profile, and the description adds no other behavioral context such as authentication or rate limits.
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 front-loaded sentence with no wasted clauses. It could be slightly tighter, but it is appropriately sized for its content.
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 endpoint's rich parameter set and its placement among many similar siblings, the description is incomplete: it omits usage guidance, parameter details, and fails to reconcile the read-oriented wording with destructive annotations. Although an output schema exists, the description does not provide enough context to select or invoke the tool confidently.
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 context reports 0% schema description coverage for the top-level parameter, so the description is expected to compensate. It only vaguely refers to the 'specified website' and does not explain the required body structure, target format, or any of the nested filter/sort options.
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 (provide overview) and resource (anchors used when linking to the specified website with backlink data), making the tool's purpose clear. However, it does not distinguish this endpoint from the many sibling backlink endpoints, so it falls short of a 5.
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?
There is no guidance on when to use this tool versus alternatives, nor any prerequisites, exclusions, or context about selecting it among the numerous sibling backlinks endpoints. It merely states what the endpoint returns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_backlinks_liveBacklinksCDestructiveInspect
This endpoint will provide you with a list of backlinks and relevant data for the specified domain, subdomain, or webpage.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only retrieval ('provide you with a list of backlinks'), but annotations declare readOnlyHint=false and destructiveHint=true. This is a direct contradiction; the description fails to disclose any destructive behavior and instead suggests a safe read operation.
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?
A single, front-loaded sentence with no wasted words. It efficiently conveys the core purpose, though its brevity comes at the cost of detail covered elsewhere.
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?
The core purpose is clear and the rich input schema plus output schema cover most operational details. However, the description does not mention that the body accepts multiple targets (array), nor does it distinguish from sibling tools, and the annotation contradiction adds confusion.
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?
With schema description coverage at 0% for the top-level 'body' parameter, the description should compensate but does not. It only vaguely references 'the specified domain, subdomain, or webpage' without clarifying the body array, filters, pagination, or any of the rich nested parameters documented in 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 states a specific verb (provide a list) and resource (backlinks) with scope (domain, subdomain, or webpage). However, it does not differentiate from siblings like bulk_backlinks_live or anchors_live, leaving the agent to infer which backlinks endpoint fits best.
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?
No guidance is given on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description only states what it does, not when it is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_bulk_backlinks_liveBulk BacklinksCDestructiveInspect
This endpoint will provide you with the number of backlinks pointing to domains, subdomains, and pages specified in the targets array. The returned numbers correspond to all live backlinks, that is, total number of referring links with all attributes (e.g., nofollow, noreferrer, ugc, sponsored etc) that were found during the latest check.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames the operation as a pure data retrieval ('will provide you with the number of backlinks'), which is read-only semantics, yet the annotations declare readOnlyHint=false, idempotentHint=false, and destructiveHint=true. This directly contradicts what the description implies, so per the rubric this is an annotation_contradiction. The description also fails to disclose permissions, rate limits, or the cost of batching up to 1000 targets.
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, front-loaded with the core purpose and followed by the definition of 'live' backlinks. It is reasonably tight, though slightly wordy in the parenthetical enumeration of attributes.
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?
An output schema exists, so return-value explanation is not required, and the parameter details live in the schema. The remaining gap is the absence of sibling-selection guidance, but for a well-scoped data-fetch endpoint the description is otherwise complete enough to call 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 description references the targets array and clarifies that results cover domains, subdomains and pages, matching the schema. However, the schema itself already carries detailed parameter documentation (targets formatting rules, the 1000-target limit, tag purpose), so the description adds little beyond what the structured field 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?
The description names a specific verb+resource: it returns the number of backlinks pointing to domains, subdomains, and pages in the targets array. It is clear and concrete, but it does not explicitly differentiate itself from closely related siblings like post_dataforseo_backlinks_referring_domains_live or the other bulk_* backlink endpoints; the only separation is the word '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 states what the endpoint returns but gives no when-to-use guidance, no conditions for choosing it over the many sibling backlink endpoints (anchors, referring_domains, bulk_ranks, etc.), and no prerequisites or exclusions. The agent is left to infer selection purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_bulk_new_lost_backlinks_liveBulk New & Lost BacklinksCDestructiveInspect
This endpoint will provide you with the number of new and lost backlinks for the domains, subdomains, and pages specified in the targets array.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description describes a pure data-retrieval operation ('provide you with the number of new and lost backlinks'), while the annotations declare readOnlyHint=false and destructiveHint=true. That is a direct conflict about the operation's safety profile, so the description earns no credit and actively misleads relative to the structured metadata. It also says nothing about cost, rate limits, or auth.
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?
A single front-loaded sentence with zero filler; the subject (what you get) comes first and the scope (which targets) follows. Nothing needs trimming.
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?
An output schema exists, so return values need not be explained, but for a tool sitting among many near-duplicate bulk backlink endpoints the description gives no differentiation, no usage context, and no behavioral detail. Combined with the annotation conflict, it is not complete enough for reliable selection.
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 itself carries rich per-field descriptions for tag, targets, and date_from (including formats, limits, and examples), so the parameter burden is largely already met by structured data. The description only echoes the 'targets array' concept and adds no format, limit, or default information 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?
States a specific verb-and-resource ('provide you with the number of new and lost backlinks') and names the target types (domains, subdomains, pages), so the agent knows this is a bulk count of new/lost backlinks. It does not, however, distinguish itself from near-identical siblings such as post_dataforseo_backlinks_timeseries_new_lost_live (time series) or post_dataforseo_backlinks_bulk_new_lost_ref_domains_live (referring domains), which an agent could easily confuse it with.
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 offers no when-to-use guidance, no prerequisites, and no mention of alternatives. With ~26 sibling backlink tools and two others covering the new/lost concept, the absence of any routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_bulk_new_lost_ref_domains_liveBulk New & Lost Referring DomainsCDestructiveInspect
This endpoint will provide you with the number of referring domains pointing to the domains, subdomains and pages specified in the targets array.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered structurally. However, the description adds nothing beyond a restated purpose: no mention that this is a billable live POST, no rate/credit/auth context, and its 'provide you with' phrasing reads like a passive retrieval while annotations mark it destructive. With annotations carrying the safety load it is not a hard contradiction, but the description contributes no behavioral value.
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?
A single sentence is appropriately brief, but at this tool's complexity (bulk targets, date-range semantics, new/lost distinction) that brevity leaves the sentence doing too little. It is clean and front-loaded, yet under-specified rather than genuinely concise.
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?
The tool is a complex, billable, up-to-1000-target bulk live endpoint; an output schema exists so return values need no explanation. Still, the description omits the new/lost distinction that defines the tool, any cost/credit caveat, and any distinction from the near-identical total-referring-domains sibling, leaving critical context 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?
The nested schema descriptions are actually rich (targets limits of 1000, https://www. formatting rules, date_from new/lost semantics, examples), even though top-level coverage is 0%. The description only echoes 'targets array' and adds no syntax, format, or defaults beyond what the schema already supplies, so 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 states a verb and resource ('provide you with the number of referring domains'), but it describes TOTAL referring domains, omitting the defining 'new & lost' concept in the tool name and title. This makes it nearly indistinguishable from the sibling post_dataforseo_backlinks_bulk_referring_domains_live, so an agent could easily pick the wrong tool.
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?
There is no when-to-use guidance, no mention of the alternative siblings (bulk_referring_domains_live, bulk_new_lost_backlinks_live, timeseries_new_lost_live), and no prerequisites. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_bulk_pages_summary_liveBulk Pages SummaryBDestructiveInspect
This endpoint will provide you with a comprehensive overview of backlinks and related data for a bulk of up to 1000 pages, domains, or subdomains. If you indicate a single page as a target, you will get comprehensive summary data on all backlinks for that page.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are present (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true), lowering the disclosure bar, and the description adds useful scope context: an explicit 1000-target cap and the single-page behavior. It never acknowledges the destructive/non-idempotent annotation, so its framing as pure data retrieval sits in tension with the declared safety profile without explicitly contradicting it.
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, front-loaded with the bulk capability and then the single-target behavior. No filler or repetition, though it is thin for a tool with this many sibling alternatives.
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?
An output schema exists, so return values need no explanation, and the annotations cover the safety profile. What is missing is routing guidance across the very large family of bulk_* / summary siblings and any mention of the request-level constraint that targets may not span more than 100 domains.
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 reported at 0%, so the description nominally carries the burden, and it does convey the key semantic of the targets field: bulk of up to 1000 pages/domains/subdomains, or a single page for per-page summary. It says nothing about the other configurable fields (tag, rank_scale, include_subdomains) that the body accepts, so it only partially compensates.
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 ('provide an overview of backlinks and related data') and resource ('bulk of up to 1000 pages, domains, or subdomains'), so the agent knows exactly what it returns. However, it does nothing to distinguish itself from siblings like post_dataforseo_backlinks_bulk_backlinks_live, bulk_referring_domains_live, or bulk_spam_score_live, which all sound like bulk backlink retrievals.
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 batch use ('up to 1000 pages') and notes what happens for a single target, but never states when to pick this tool over the many bulk_* siblings or domain_pages_summary_live. No prerequisites, exclusions, or alternative routing are provided, so selection is left to guesswork.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_bulk_ranks_liveBulk RanksCDestructiveInspect
This endpoint will provide you with rank scores of the domains, subdomains, and pages specified in the targets array. The score is based on the number of referring domains pointing to the specified domains, subdomains, or pages. The rank values represent real-time data for the date of the request and range from 0 (no backlinks detected) to 1,000 (highest rank). A similar scoring system is used in Google’s Page Rank algorithm. You can learn more about rank scores in this help center article
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=true, and idempotentHint=false, which is surprising for what the description portrays as a pure score lookup. The description never addresses safety, permissions, cost, or rate limits, and never reconciles the destructive annotation with the read-only-sounding behavior. It does add one useful behavioral fact — data is real-time for the date of the request and scored 0–1000 — but that is not enough to cover the gap. (Not scored as a hard contradiction because the description never explicitly claims read-only behavior.)
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 core capability and the score definition are front-loaded and the sentences are individually clear. The PageRank comparison and the help-center reference are filler that could be cut, but the text is not bloated overall.
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?
An output schema exists, so return-value explanation is not required, and the description does define the rank scale's meaning. However, it omits target formatting rules, the rank_scale parameter's effect, and any indication of how this differs from the many sibling bulk endpoints, leaving real gaps for an agent deciding whether and how to call it.
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?
Top-level schema description coverage is 0% and the description adds almost nothing about inputs: it names the targets array but gives no format rules (no https:// or www for domains, absolute URLs for pages, 1000-target cap), and it never mentions the rank_scale switch between 0–100 and 0–1000. Since the description must compensate for the low measured coverage and does not, a 2 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?
The description states a specific verb and resource: it returns rank scores for domains, subdomains, and pages supplied in the targets array, and explains what the score measures (referring domains). That clearly separates it from siblings like bulk_backlinks_live or bulk_spam_score_live. It falls short of a 5 only because it never explicitly names a contrasting sibling or the condition that selects this one over them.
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?
There is no when-to-use guidance at all: no mention of the alternative bulk endpoints, no note that this is a live/real-time call versus a task-based one, and no prerequisites. The 'learn more in this help center article' pointer is external documentation, not in-definition guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_bulk_referring_domains_liveBulk Referring DomainsBDestructiveInspect
This endpoint will provide you with the number of referring domains pointing to domains, subdomains, and pages specified in the targets array. The returned numbers are based on all live referring domains, that is, total number of domains pointing to the target with any type of backlinks (e.g., nofollow, noreferrer, ugc, sponsored etc) that were found during the latest check.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare the safety profile (openWorldHint=true, destructiveHint=true, idempotentHint=false), and the description does not contradict them. It adds useful domain context about what the returned numbers represent (all live referring domains, any backlink type, latest check), but says nothing about billing cost, rate limits, or asynchronous behavior expected from a live POST endpoint.
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, front-loaded with the core purpose, no filler or repetition. Slightly dense but every clause contributes to understanding the returned metric.
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?
An output schema exists so return shape need not be explained, and annotations cover safety. Still, for a bulk live POST endpoint the description lacks targeting limits, billing/credit implications, and any routing hint among the many similar backlinks siblings, leaving meaningful gaps.
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?
Top-level schema coverage is 0% for the single 'body' parameter, so the description should carry explanatory weight. It does clarify that targets are domains, subdomains, and pages, but omits the operational details (up to 1000 targets, no https://www for domains, absolute URL required for pages) that live only in the nested schema text.
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-and-resource framing: it returns the count of referring domains pointing to the targets supplied. It also distinguishes its scope (all live referring domains regardless of link type), which helps separate it from the 'new/lost' sibling. However, it never names or contrasts with the non-bulk referring_domains_live or the new/lost variant, leaving the agent to infer sibling differences.
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?
There is no explicit guidance on when to choose this tool over the many sibling backlink endpoints, nor any prerequisite or exclusion information. The 'bulk' and 'live' semantics imply multi-target, current-snapshot usage, but that is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_bulk_spam_score_liveBulk Spam ScoreCDestructiveInspect
This endpoint will provide you with spam scores of the domains, subdomains, and pages you specified in the targets array. Spam Score is DataForSEO’s proprietary metric that indicates how “spammy” your target is on a scale from 0 to 100. You can learn more about Spam Score, how it is calculated, and signals it takes into account in this help center article
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames this purely as an informational retrieval ("provide you with spam scores") with no destructive behavior, yet annotations declare destructiveHint=true and readOnlyHint=false — conflicting signals the agent must reconcile. Beyond the metric definition, it discloses nothing about the batch/live behavior, auth needs, or rate limits.
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 sentences, reasonably front-loaded, but the final sentence only points to an external help-center article and contributes no invocation-relevant information, so it does not earn 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?
An output schema and annotations exist, so return-value explanation is not required. However, given the bulk/live nature and conflicting safety signal, the definition omits usage guidance and any reconciliation of the destructive annotation, leaving gaps an agent must guess around.
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?
Top-level parameter coverage is 0%, so the description must carry weight. It does state that targets specify domains, subdomains, or pages, reinforcing what the nested schema already shows, but adds no format or limit detail beyond the schema and says nothing about the tag field.
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 resource and scope: spam scores for the domains, subdomains, and pages in the targets array, and defines the metric as a 0-100 "spamminess" indicator. This clearly separates it from siblings like bulk_ranks or bulk_backlinks, though it never explicitly contrasts itself with those tools.
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?
There is no when-to-use guidance, no mention of alternatives (e.g., single-target spam score tools), and no exclusions. The description only implies usage by saying the targets come from the input array.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_competitors_liveCompetitorsCDestructiveInspect
This endpoint will provide you with a list of competitors that share some part of the backlink profile with a target website, along with a number of backlink intersections and the rank of every competing website.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is largely covered by structured data. The description adds nothing beyond the return content: no live-vs-task semantics, no billing/credit implications, no latency or rate context for a POST live endpoint.
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?
One sentence, front-loaded with the resource and the payload contents, with no filler. It is efficient, though it could have spent one more clause on disambiguating it from the sibling intersection endpoints.
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?
An output schema exists, so return-value explanation is not required, and the description adequately says what is returned. What is missing is the operational context an agent needs to invoke a live POST endpoint confidently: cost, auth, and how it differs from the near-identical sibling tools.
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 single top-level parameter is the request body, and the description adds no parameter guidance of its own. However, the nested schema carries detailed per-field descriptions (target, limit, offset, filters, order_by, rank_scale, etc.), so the schema does the heavy lifting and the baseline of 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?
States a specific verb and resource ('provide you with a list of competitors that share some part of the backlink profile with a target website') and even names the returned fields (backlink intersections, rank). Clear purpose, but it does not distinguish itself from close siblings like post_dataforseo_backlinks_domain_intersection_live or get_semrush_backlink_competitors.
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?
There is no when-to-use guidance, no mention of when to prefer this over the intersection or referring-domains endpoints, and no prerequisites (credentials, cost, target formatting expectations). The agent is left to infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_domain_intersection_liveDomain IntersectionCDestructiveInspect
This endpoint will provide you with the list of domains pointing to the specified websites. This endpoint is especially useful for creating a Link Gap feature that shows what domains link to your competitors but do not link out to your website.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint 'will provide you with the list of domains', which strongly implies a read-only retrieval operation. This contradicts the annotations, which declare destructiveHint=true and readOnlyHint=false. Per the rubric, a description that contradicts annotations scores 1.
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 two sentences, front-loaded with the core purpose and followed by a useful example. It is efficient and contains no filler, though it could be slightly more structured by separating purpose from use case.
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 live API endpoint with a complex nested body and multiple optional filtering and intersection parameters, the description is thin. It does not explain authentication, cost/credit implications, or how to use the required body. An output schema exists, so return values need not be described, but the input and behavioral context remain incomplete.
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 sole top-level parameter (body) has no schema description, and the tool description adds no information about how to structure the body or use key fields such as targets, exclude_targets, or intersection_mode. Although the nested schema documents individual fields richly, the description itself does not compensate for the top-level coverage gap.
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: it provides the list of domains pointing to specified websites. It also gives a concrete use case (Link Gap). It does not explicitly name or distinguish from the sibling page_intersection_live, so it falls short of a 5.
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 a use case ('especially useful for creating a Link Gap feature'), which implies when to use it. However, it does not state when not to use it or how it differs from alternatives like page_intersection_live or competitors_live.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_domain_pages_liveDomain PagesCDestructiveInspect
This endpoint will provide you with a detailed overview of domain pages with backlink data for each page.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only data retrieval operation ('provide you with a detailed overview'), while annotations declare destructiveHint=true and readOnlyHint=false. This is a direct behavioral contradiction, and the description adds no other behavioral context such as rate limits or side effects.
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 single sentence is efficient and front-loaded, with no wasted clauses. It is concise, though it sacrifices nearly all operational detail in doing so.
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 complex backlinks endpoint with many nested filter parameters and numerous sibling tools, the description is substantially incomplete. It omits usage guidance, parameter semantics, and behavioral transparency. Output schema exists, so return values need not be explained, but the remaining gaps are large.
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 description adds no parameter information at all. It does not mention the required body, target domain, filters, limits, or any nested field, leaving the schema to carry the full burden despite reported 0% top-level schema description coverage.
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 resource and scope: domain pages with backlink data for each page. This distinguishes it from summary-level tools by emphasizing per-page data, though it does not name any sibling alternatives.
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 no when-to-use guidance, prerequisites, or alternatives. With many sibling backlink tools available, an agent receives no help choosing this one over domain_pages_summary or other endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_domain_pages_summary_liveDomain Pages SummaryCDestructiveInspect
This endpoint will provide you with detailed summary data on all backlinks and related metrics for each page of the target domain or subdomain you specify. If you indicate a single page as a target, you will get comprehensive summary data on all backlinks for that page.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames the endpoint purely as a data provider ('will provide you with detailed summary data... you will get comprehensive summary data'), i.e. a read/query operation, while the annotations declare destructiveHint=true, readOnlyHint=false and idempotentHint=false. The description therefore contradicts the declared behavioral profile and adds no reconciliation, so it scores 1 under the contradiction rule.
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 focused sentences with the main behavior front-loaded and no padding. The second sentence is slightly redundant with the first (both describe backlink summary data), keeping it below a 5.
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?
An output schema exists, so return-value explanation is correctly omitted, and the schema carries the parameter detail. However, for a tool sitting among many near-identical backlinks endpoints, the description omits the routing information an agent needs to select 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?
Schema description coverage for the single top-level 'body' parameter is reported as 0%, but the nested item schema documents every field (target, limit, filters, order_by, rank_scale, etc.) in detail. The description only restates the target domain/subdomain/page convention that the schema already specifies, so it neither compensates nor detracts — a baseline 3.
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 concrete verb (provide summary data) and resource (backlinks/metrics for each page of a target domain or subdomain), and the phrase 'for each page' distinguishes it from the domain-level summary sibling. It stops short of naming the close siblings (e.g. summary_live, bulk_pages_summary_live) for an explicit contrast, so it lands at 4.
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 only usage cue is the implicit case 'if you indicate a single page as a target' — there is no guidance on when to pick this over post_dataforseo_backlinks_summary_live or post_dataforseo_backlinks_domain_pages_live, nor any note on prerequisites or alternatives among the ~30 sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_history_liveBacklinks HistoryCDestructiveInspect
This endpoint will provide you with historical backlinks data back to the beginning of 2019. You can receive the number of backlinks a given domain had in a specific time period, the number of new & lost backlinks, referring domains, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description presents a read-only data retrieval endpoint ('provide you with historical backlinks data'), but annotations declare readOnlyHint=false and destructiveHint=true. This is a direct contradiction, and the description adds no behavioral context such as cost, authentication, or side effects.
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 tightly written sentences with no wasted words. The main capability and time scope are front-loaded, making the definition easy to scan.
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?
An output schema exists, so return values need not be explained. However, for a tool annotated as destructive and non-read-only, the description omits any disclosure of costs, side effects, or usage constraints, and it does not help distinguish this endpoint from its many siblings.
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 reported as 0%, so the description must compensate. It mentions a 'given domain' and a 'specific time period,' but does not explain the required target format, date_from/date_to constraints, rank_scale, or tag semantics, leaving most parameter meaning undocumented.
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 resource and scope: historical backlinks data back to 2019, with metrics like backlinks, new/lost backlinks, and referring domains. It is clear what the tool does, though it does not explicitly differentiate itself from sibling history/timeseries tools.
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 no explicit when-to-use guidance, alternatives, or exclusions. It only implies historical data retrieval through the phrase 'historical backlinks data back to the beginning of 2019,' leaving the agent to infer when to choose this over other live backlinks endpoints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_page_intersection_livePage IntersectionCDestructiveInspect
This endpoint will provide you with the list of referring pages pointing to the specified targets. It is especially useful for finding the backlinks that point to your competitors but don’t point to your website.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the endpoint 'will provide you with the list,' implying a read-only informational operation. This directly contradicts the annotations, which declare destructiveHint=true and readOnlyHint=false. No destructive behavior or mutation is disclosed, making the description misleading about the tool's safety profile.
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 consists of two tightly written sentences that are front-loaded with the core purpose and immediately followed by a practical usage scenario. Every sentence adds value without redundancy.
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 complex endpoint with many nested body parameters and explicit behavioral annotations, the description is too sparse. It omits required parameter structure, intersection modes, target specification, and behavioral traits. Although an output schema exists, the description does not provide enough context for correct invocation.
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 reported as 0%, and the description provides no information about the required 'body' parameter, its nested targets, or any of its configuration options. The description fails to compensate for the lack of schema-level parameter documentation.
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 clearly states the tool provides a list of referring pages pointing to specified targets, and gives a use case for competitor gap analysis. It distinguishes itself from generic backlink tools by focusing on page intersection, though it does not explicitly name a sibling tool for comparison.
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 offers a specific use case ('finding the backlinks that point to your competitors but don’t point to your website'), which implies when to use it. However, it does not provide explicit when-not-to-use guidance or name alternative tools like domain intersection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_referring_domains_liveReferring DomainsCDestructiveInspect
This endpoint will provide you with a detailed overview of referring domains pointing to the target you specify.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, openWorldHint=true, and non-idempotent, which is the counterintuitive part an agent most needs warned about. The description adds nothing beyond that profile — no mention that this is a live, credit-consuming request or how the body array is processed.
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?
A single front-loaded sentence with no filler or redundancy. It is efficient, though for an endpoint of this complexity the brevity edges toward under-specification rather than elegant concision.
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 10+ nested request fields and an output schema handling return values, the description should still cover usage context and the array-wrapped body shape. As written, an agent learns nothing about request structure, routing versus siblings, or operational cost.
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 single `body` wrapper parameter is undocumented in the description, so the agent gets no signal that input must be an array of task objects rather than flat fields. The nested schema fields (target, filters, order_by, rank_scale, etc.) are thoroughly described in the schema itself, which partially compensates.
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 ('provide') and resource ('referring domains') scoped to 'the target you specify', so the core purpose is clear. However, it does no sibling differentiation, which matters here because several siblings (post_dataforseo_backlinks_bulk_referring_domains_live, referring_networks_live, get_semrush_referring_domains) cover closely adjacent ground.
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?
There is no when-to-use guidance, no conditions, and no mention of alternatives among the ~30 sibling tools. The agent must infer from the name alone whether this is the right tool versus the bulk or network variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_referring_networks_liveReferring NetworksCDestructiveInspect
This endpoint will provide you with a detailed overview of referring IPs and subnets pointing to the target you specify.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations exist but are generic (readOnly false, destructive true, openWorld true), and the description adds nothing beyond them — no note that this is a billed live POST task, no rate/cost context, no pagination hints despite limit/offset params. It also does not resolve the tension that this is a data-retrieval endpoint annotated as 'destructive'.
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?
A single front-loaded sentence with no filler. It is appropriately sized, though arguably too terse for the amount of behavior it should disclose.
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?
An output schema exists so return values need not be described, but for an endpoint with a rich body object of filters, sorting, and ranking options, the one-sentence description leaves the agent without enough context on invocation behavior.
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?
Only one top-level parameter (body) with 0% schema description coverage at that level, and the description says nothing about it beyond 'the target you specify.' The many nested optional fields (filters, order_by, backlinks_filters, etc.) are left entirely to 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?
States a specific verb-resource pair: it returns an overview of 'referring IPs and subnets pointing to the target.' The mention of IPs/subnets implicitly separates it from the sibling referring-domains endpoint, but it never names or contrasts with that sibling explicitly.
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?
No guidance on when to choose this over post_dataforseo_backlinks_referring_domains_live or the other backlink endpoints, and no prerequisites (auth, task cost, target format) are stated. Usage must be inferred entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_summary_liveBacklinks SummaryCDestructiveInspect
This endpoint will provide you with an overview of backlinks data available for a given domain, subdomain, or webpage.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames the endpoint as a passive data retrieval ('provide you with an overview of backlinks data'), implying a safe read, while the annotations declare readOnlyHint=false and destructiveHint=true. That is a direct mismatch in the direction opposite the canonical contradiction case, so the agent receives conflicting signals about side effects. No additional behavioral context (cost, request-body batching, effect of limit/status parameters) is supplied beyond 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?
One sentence with no filler and the scope is front-loaded, which is structurally clean. But for a tool whose request body is a batched array with eight configurable fields, a single generic sentence reads as under-specification rather than genuine conciseness.
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?
An output schema and annotations exist, so return-value explanation is not required. Even so, for a complex, high-fan-out POST endpoint the description omits what an agent most needs: when to prefer it over sibling endpoints and whether the call is a read or has side effects. Given the sibling density and the annotation tension, the description is not complete enough.
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 description contributes zero parameter information, and the top-level schema coverage metric is 0% (the single 'body' array parameter carries no description). However, the nested item properties (target, tag, rank_scale, backlinks_filters, include_subdomains, internal_list_limit, backlinks_status_type, etc.) are individually and thoroughly documented in the schema, so the agent is not actually left guessing. Baseline 3 is appropriate where the schema does the heavy lifting.
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 sentence names a resource ('backlinks data') and a scope ('a given domain, subdomain, or webpage'), so the agent knows the subject matter. But the verb is soft ('will provide you with an overview') and there is no differentiation from the roughly two dozen sibling backlink endpoints (referring_domains, anchors, timeseries_summary, domain_pages_summary, competitors, etc.). An agent cannot tell from this text why it should call this tool rather than a sibling summary variant.
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?
There is no when-to-use guidance, no prerequisites, no exclusions, and no named alternative. The only hint of applicability is the implicit 'use this for an overview of a target's backlinks,' which is inferred from the purpose rather than stated. In a family of 25+ similar backlink tools, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_timeseries_new_lost_liveNew & Lost Backlinks Timeseries SummaryCDestructiveInspect
This endpoint will provide you with the number of new and lost backlinks and referring domains for the domain specified in the target field.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry the safety profile (destructiveHint=true, readOnlyHint=false, openWorldHint=true, non-idempotent), and the description adds no behavioral context beyond the metric returned. It also doesn't reconcile the tension that a description of a data-reporting endpoint sits alongside destructiveHint=true, leaving the agent with no guidance on cost, rate limits, or data freshness.
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?
One front-loaded sentence with no filler and no repetition of the title. It is efficient, though the brevity is partly why other dimensions suffer.
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?
An output schema exists, so return formatting need not be explained, but the description leaves out the date-range and grouping semantics that define this tool's behavior and does not distinguish it from the near-identical timeseries_summary and bulk new/lost siblings. For a nested-array request body behind a live endpoint, the definition is not complete enough to call confidently.
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's top-level body parameter is undocumented (coverage 0%), and the description only gestures at 'the target field.' For a timeseries endpoint the most consequential parameters are date_from, date_to, and group_range, which determine what 'new' and 'lost' mean and how results are bucketed — none of these are surfaced in the description, so it does not compensate for the schema gap.
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 resource and metric set: number of new and lost backlinks and referring domains for a target domain. That is far more than a restatement of the title, but it offers no differentiation from close siblings such as post_dataforseo_backlinks_timeseries_summary_live or post_dataforseo_backlinks_bulk_new_lost_backlinks_live, which an agent must distinguish on its own.
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?
There is no statement of when to use this tool versus the many sibling backlink endpoints, no prerequisites, and no exclusions. The word 'timeseries' in the name suggests time-bucketed data, but the description never tells the agent to prefer this over the plain summary or the bulk new/lost variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_dataforseo_backlinks_timeseries_summary_liveBacklinks Timeseries SummaryCDestructiveInspect
This endpoint will provide you with an overview of backlink data for the target domain available during a period between the two indicated dates. Backlink metrics will be grouped by the time range that you define: day, week, month, or year.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true, yet the description frames the tool purely as data retrieval ('provide you with an overview') and never reconciles the destructive/non-idempotent flags, nor mentions cost, rate limits, or side effects of a live call. The grouping mechanics it does describe are useful but are not behavioral disclosure beyond the schema.
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 efficient sentences, front-loaded with the purpose and then the grouping behavior. No filler, though the second sentence restates grouping options that are already documented in the 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?
An output schema exists, so return-value explanation is not required, and the description covers the core concept. However, for a live, open-world, destructive-flagged endpoint with a fully undocumented top-level parameter and no usage routing, an agent is left without enough to call it correctly or confidently.
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?
Top-level schema description coverage is 0% (single 'body' parameter), so the description must carry the parameter burden and largely does not: it alludes to 'two indicated dates' and 'day, week, month, or year' grouping, but says nothing about target formatting, tag, rank_scale, or include_subdomains. It adds only marginal meaning beyond the nested schema fields.
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 action (overview of backlink data) on a specific resource (target domain) with a stated grouping dimension, and the 'timeseries' framing helps separate it from siblings like post_dataforseo_backlinks_summary_live and ..._history_live. It stops short of explicitly naming what distinguishes it from those near-neighbors, so it is clear but not fully disambiguating.
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?
There is no guidance on when to pick this endpoint over the many sibling backlink endpoints (summary, history, new_lost, anchors, referring_domains). No prerequisites, no exclusion criteria, no alternative named. The reader must infer the choice from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchFind AIsa operationsARead-onlyInspect
Find AIsa data operations across SEO & AI visibility, finance, social, web search & research, sales and agent mail — 950+ APIs — by describing the task. Free; no key needed.
Returns tool-router's SearchResponse: retrieval_mode (plan |
endpoint | clarification), an optional plan, and candidates with
operation_id, provider, method, path, summary, required_inputs,
price, match_reasons and details_ref — plus input_schema, so a
candidate can be passed to use without calling get_details, and
modules, the entry points that pin it.
Search spans the full AIsa catalogue, not only the category pinned
on this endpoint, so an operation is discoverable here even when it
is not in the current tools/list; a candidate whose modules does
not include the current one still runs. When more than one provider
offers the same metric, the candidates make that visible.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum candidates, 1-10 | |
| query | Yes | What you need, in plain language, e.g. 'backlinks of a domain', 'recent tweets by a user', 'insider trades for AAPL'. English works best. | |
| category | No | Restrict to one category (seo, finance, social, search, sales, mail). Omit to search everything. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses meaningful behavior beyond annotations: search spans the entire AIsa catalogue, candidates may belong to modules other than the current one, multiple providers for the same metric are surfaced, and no API key is required. This gives the agent a clear picture of scope and output behavior.
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 front-loaded with the core purpose and is dense with useful information: scope, no-auth requirement, response shape, and relationship to the catalogue. Each sentence adds operational value, and the structure makes the tool's behavior predictable.
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 complex discovery tool with output schema, the description is unusually complete: it explains the response modalities, candidate fields, direct pass-through to `use`, full-catalogue search behavior, and cross-provider visibility. An agent has enough context to invoke and interpret 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?
Schema coverage is 100%, so the schema already documents all parameters. The description adds value by explaining that the category parameter is not a hard boundary—search spans the full catalogue—and that queries are plain-language task descriptions, which clarifies how to use the tool effectively.
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 clearly states the tool finds AIsa data operations across many categories via a plain-language query. It distinguishes itself from siblings like get_details and use by emphasizing that search covers the full catalogue, not just the pinned category.
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 conveys when to use search: when you need to discover operations across the full catalogue, even those not in the current tools/list. It also implicitly contrasts with get_details by noting that returned candidates already include input_schema, so they can be passed directly to `use` without an extra call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
useRun an AIsa operationADestructiveInspect
Execute one AIsa operation. Billed per call to your AIsa key.
Answers in tool-router's BatchCallResult shape: successful, data or error {type, status, message, retryable}. Pinned tools in tools/list can also be called directly; this is the way to call anything found through search.
| Name | Required | Description | Default |
|---|---|---|---|
| arguments | No | Arguments matching input_schema / arguments_schema | |
| search_id | No | search_id from the search that found this operation | |
| operation_id | Yes | operation_id as returned by search | |
| max_price_usd | No | Refuse the call before any spend if it would cost more than this many USD |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnly=false, openWorldHint=true, and destructiveHint=true. The description adds valuable behavior beyond that: billing per call, the BatchCallResult response shape, and the error structure with retryable status. It does not spell out side effects, but the destructive flag is already carried by annotations, so the additional context is sufficient.
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 short sentences, each earning its place: purpose, cost, response shape, and routing guidance. Key behavioral facts are front-loaded, and nothing is redundant with the schema or annotations.
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 that an output schema exists and all parameters have descriptions, the tool description is complete enough for correct invocation. It covers cost, return/error contracts, and how routing to this tool differs from calling pinned tools directly, leaving no practical gap.
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 each parameter is already clearly documented: operation_id as returned by search, search_id provenance, arguments matching input_schema, and max_price_usd as a spend guard. The description does not need to add parameter detail, so 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?
The description opens with 'Execute one AIsa operation,' a specific verb+resource statement. The word 'one' distinguishes it from the sibling batch_use, and the closing note distinguishes it from calling pinned tools directly. An agent can tell what this tool is for immediately.
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: 'this is the way to call anything found through search.' It also gives the alternative: 'Pinned tools in tools/list can also be called directly.' This is clear when-versus-alternative guidance with no ambiguity.
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.
32 tool updates
- First observed
batch_use - First observed
get_dataforseo_backlinks_index - First observed
get_details - First observed
get_semrush_backlink_anchors - First observed
get_semrush_backlink_competitors - First observed
get_semrush_backlinks - First observed
get_semrush_backlinks_overview - First observed
get_semrush_indexed_pages - First observed
get_semrush_referring_domains - First observed
list_categories - First observed
post_dataforseo_backlinks_anchors_live - First observed
post_dataforseo_backlinks_backlinks_live - First observed
post_dataforseo_backlinks_bulk_backlinks_live - First observed
post_dataforseo_backlinks_bulk_new_lost_backlinks_live - First observed
post_dataforseo_backlinks_bulk_new_lost_ref_domains_live - First observed
post_dataforseo_backlinks_bulk_pages_summary_live - First observed
post_dataforseo_backlinks_bulk_ranks_live - First observed
post_dataforseo_backlinks_bulk_referring_domains_live - First observed
post_dataforseo_backlinks_bulk_spam_score_live - First observed
post_dataforseo_backlinks_competitors_live - First observed
post_dataforseo_backlinks_domain_intersection_live - First observed
post_dataforseo_backlinks_domain_pages_live - First observed
post_dataforseo_backlinks_domain_pages_summary_live - First observed
post_dataforseo_backlinks_history_live - First observed
post_dataforseo_backlinks_page_intersection_live - First observed
post_dataforseo_backlinks_referring_domains_live - First observed
post_dataforseo_backlinks_referring_networks_live - First observed
post_dataforseo_backlinks_summary_live - First observed
post_dataforseo_backlinks_timeseries_new_lost_live - First observed
post_dataforseo_backlinks_timeseries_summary_live - First observed
search - First observed
use
Publisher details
- Operator
- AIsa · Publisher source
- Operator website
- https://aisa.one
- Vendor relationship
- Independent
- Documentation
- https://mcp.aisa.one/servers
- Trust center
- Not available
- Restrictions
- No paid plan, admin approval, regional limit or custom OAuth app is needed to connect. Sign-in is OAuth against auth.aisa.one with dynamic client registration (RFC 7591), or an Authorization: Bearer AIsa API key. search, get_details and list_categories are free. use and batch_use are billed per call to the caller's own AIsa key, and max_price_usd refuses anything above a cap before any spend. Some operations are subscription-only on the gateway and answer 402 without the Hive GTM Growth plan.
Related MCP Connectors
Your agent needs the derived numbers — domain authority, what a site ranks for, related and relevant keywords, search intent, and who the real competitors are — for Google, Amazon and the app stores. **What you can ask for** • "What is this domain's authority, and how has its rank history moved?" • "Which keywords does this site rank for, and with what intent?" • "Who are this domain's organic competitors, and where do we overlap?" • "Which keywords does this Amazon product rank for?" • "Compare these two domains keyword by keyword." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-labs/mcp and sign in with OAuth — there is no key to create or paste. 46 tools: ranked, related and relevant keywords, keyword ideas and intent, domain authority and rank history, competitor and intersection analysis, bulk metrics, plus the same shapes for Amazon products and Apple and Google Play apps. **Why this rather than the source** Ahrefs domain rating, Semrush rank history and DataForSEO Labs answering the same questions side by side. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Size the competitor here, then ask the same agent for their traffic mix or their contacts — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
Your agent needs the whole search picture — what you rank for, who outranks you, who links to them, what is broken on the site, and whether ChatGPT names you at all. Normally that is three SEO vendors and three subscriptions. **What you can ask for** • "What does this domain rank for, and which competitors take the same keywords?" • "Who links to my competitor and not to me?" • "Crawl this site and list the pages with broken tags or duplicate content." • "Does Perplexity cite us when asked about this category?" • "How hard is this keyword, and what does the SERP look like today?" **How to use it** Point any MCP client at https://mcp.aisa.one/seo/mcp and sign in with OAuth — there is no key to create or paste. 60 tools spanning DataForSEO, Semrush and Ahrefs: SERPs, keywords and difficulty, backlinks and referring domains, on-page crawling, domain authority, and answers from ChatGPT, Claude, Gemini and Perplexity. **Why this rather than the source** Three indexes behind one account, so you can cross-check a number instead of trusting one vendor's version of it. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Check the ranking here, then ask the same agent for that competitor's traffic mix, its ad spend, or the person to email — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** Narrower endpoints: https://mcp.aisa.one/seo-serp/mcp · /seo-keywords/mcp · /seo-backlinks/mcp · /seo-onpage/mcp · /seo-labs/mcp · /seo-ai-visibility/mcp · /seo-content/mcp · /seo-domains/mcp · /seo-business/mcp · /seo-merchant/mcp · /seo-apps/mcp · /seo-serp-other-engines/mcp
Your agent needs to know what people actually search — volume, ideas, how hard the term is, and whether interest is rising or was a spike last March. **What you can ask for** • "What is the monthly volume and difficulty for these 200 keywords?" • "Give me keyword ideas around this seed, with questions people ask." • "Which keywords does this competitor rank for that we do not?" • "Is interest in this term growing, and where?" • "What does this page already rank for?" **How to use it** Point any MCP client at https://mcp.aisa.one/seo-keywords/mcp and sign in with OAuth — there is no key to create or paste. 49 tools: Google and Bing volume and suggestions, keywords for a site or a URL, clickstream volumes, Google Trends and Ads traffic estimates, plus Semrush difficulty, question keywords, broad match and paid keywords, and Similarweb's keyword and landing page sets. **Why this rather than the source** Three sources for the same number, so a suspicious volume can be checked rather than believed. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Size the demand here, then ask the same agent who ranks for it and who links to them — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
Your agent needs marketplace data — what a product costs on Amazon and Google Shopping, who the sellers are, what reviewers actually complain about. **What you can ask for** • "What is this ASIN's price history, rating and seller list?" • "Who else sells this product, and at what price?" • "Pull the reviews for this product and group the complaints." • "What comes up on Google Shopping for this query in the UK?" • "Compare these products across both marketplaces." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-merchant/mcp and sign in with OAuth — there is no key to create or paste. 22 tools: Amazon products, ASIN detail and sellers; Google Shopping products, product info, sellers and reviews; live and queued forms, with raw HTML where you need it. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Price the product here, then ask the same agent what the brand's site traffic or ad spend looks like — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once — rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
Related MCP Servers
- AlicenseAqualityAmaintenanceThe MCP server for SEO. Find prospects, draft outreach, and monitor backlinks from your AI agent.14MIT
- AlicenseAqualityBmaintenanceMCP server for the CrawlGraph backlink-intelligence API. Gives any MCP client - Claude Desktop, Claude Code, Cursor, Cline, Zed, Windsurf - backlink lookups and competitor gap analysis built on the public Common Crawl webgraph (4.4B edges, 120M domains).422 npm6MIT
- AlicenseAqualityDmaintenanceFind backlink opportunities, analyze competitors, discover similar domains with AI embeddings, and manage prospecting projects directly from any MCP client.15MIT
- AlicenseNot gradedqualityFmaintenanceClassic SEO suites charge heavily for link indexes. This MCP gives individuals and agencies a free, automatable path to: surface pages that mention a brand (linked or not), narrow guest-post and resource-page angles, see who links to competitors, verify whether a page links to you, and pull contact signals for outreach—all orchestrated by Claude or Cursor through typed tools instead of brittle copMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.