MCP DataForSEO Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation2/5
Several tools have overlapping purposes, especially in keyword research: get_keyword_suggestions, get_keyword_ideas, get_related_keywords, and research_keywords all return related keywords and can be easily confused. Additionally, get_serp_competitors and find_competitors both identify competitors but via different signals, adding to ambiguity.
Naming Consistency3/5Most tools follow a get_ prefix pattern, but there are notable deviations such as analyze_content_sentiment, check_serp_position, find_competitors, research_keywords, and estimate_traffic. The mix of verbs is not chaotic since all names are snake_case and readable, but the pattern is inconsistent.
Tool Count3/5With 24 tools, the count falls in the 16-25 range that feels heavy. While each tool covers a specific SEO data point, the significant overlap in keyword research tools adds unnecessary bulk and reduces the overall scoping quality.
Completeness4/5The server covers a comprehensive set of SEO capabilities including keyword research, rankings, backlinks, competitors, page audits, and traffic estimation. There are minor gaps such as the lack of a full SERP results retrieval tool, but agents can work around these with the existing tools.
Average 3.7/5 across 24 of 24 tools scored. Lowest: 3.1/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral transparency. It discloses the output fields but omits operational details such as read-only status, authentication requirements, rate limits, or error handling. The description is minimal and does not address potential side effects or data limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose and followed by the output details. Every word contributes value, with no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description adequately tells what it does and what it returns. However, given the large set of sibling tools and the lack of context around the 'Domain Rank' metric (e.g., scale, range, or domain format), completeness is only moderate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage for the single 'domain' parameter with the description 'The domain to check'. The tool description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get the Domain Rank (authority metric) for a domain' and lists specific return values (rank score, backlink count, referring domains). This provides more detail than the name alone and helps distinguish it from sibling tools that focus on individual metrics, though it doesn't explicitly contrast with alternatives like get_referring_domains or get_backlinks_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool versus any of the many sibling tools, nor does it give prerequisites or alternative suggestions. This leaves the agent without clear direction on selecting this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions the return fields but omits any side effects, permissions, rate limits, sorting, pagination, or whether the operation is read-only. The implied nature of a 'suggestion' tool suggests read-only use, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and resource, and contains no redundant or extraneous information. Every word contributes to the core message.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple suggestion tool, explaining the core function and return values. However, it lacks usage differentiation and behavioral details, and with no output schema it must cover return values, which it does. Still, the gaps in guidance and behavior make it only minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for all three parameters, including defaults and available country codes. The description does not add additional semantic meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: obtaining keyword suggestions from a seed keyword, and specifies the output (related keywords with volume, difficulty, CPC). However, it does not differentiate this from sibling tools like get_keyword_ideas or get_related_keywords, which appear to have overlapping purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. Sibling tools such as get_keyword_ideas and get_related_keywords are not mentioned, and there are no exclusions or contextual hints for ideal usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose that the tool returns position, URL, title, and SERP features, which is useful. However, it does not mention limitations (e.g., rate limits, localization behavior), authentication needs, or behavior when the domain/keyword is not found. The lack of these details makes it only partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the purpose and then the return value. Every word contributes meaning, with no redundancy or filler. This is an exemplary model of conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (four parameters, no output schema, no annotations), the description is adequate but not thorough. It explains the core function and return fields, but lacks contextual details such as edge-case behavior, country-specific implications, or how this tool compares to sibling rank tools. The schema fills some gaps, but the description itself could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides descriptions for all four parameters (100% coverage), so the baseline is 3. The tool's description adds no extra parameter semantics beyond mapping 'domain' and 'keyword' from the prose; it does not elaborate on depth or country_code, but the schema already covers them. Therefore, the description adds minimal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: checking the current Google ranking position for a domain and keyword. It specifies the verb 'Check' and the resource 'Google ranking position,' and lists the returned data (position, URL, title, SERP features), which helps distinguish it from related tools like get_domain_rank. However, it does not explicitly name alternatives, so it misses the top score for differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. It does not mention any context, prerequisites, exclusions, or comparative scenarios. This leaves the agent to infer usage from the name and schema alone, which is insufficient for a tool with many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral disclosure burden. It discloses that it uses DataForSEO's algorithm and that results include volume, difficulty, and intent, which adds transparency. However, it does not mention any limits, pagination, or data freshness, so some behaviors remain unknown.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loads the core action. It avoids redundancy and is efficient, though it could include more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with three parameters and no output schema. The description mentions that results include volume, difficulty, and intent, which helps fill the output gap. It doesn't cover pagination or return format, and it lacks usage context relative to siblings, so it's adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are described in the schema with defaults and allowed values (100% coverage). The description adds only that the algorithm uses 'seed keywords,' which aligns with the keywords parameter, but it does not provide additional semantics for limit or country_code beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates keyword ideas from seed keywords, using DataForSEO's algorithm, and specifies the output includes volume, difficulty, and intent. This gives it a distinct purpose, but it does not explicitly differentiate from sibling tools like get_keyword_suggestions or get_related_keywords.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a user has seed keywords and wants related keyword ideas, but provides no explicit guidance on when not to use it or what alternatives exist. No exclusions or sibling distinctions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It claims 'all keywords' but the schema includes a 'limit' parameter (default 100), which is not disclosed. It also omits any mention of pagination, data freshness, or other operational behavior, which is a gap for a retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the primary purpose, and includes the key output details without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description conveys the core function, it lacks any explanation of how this tool differs from the similarly named sibling 'get_keywords_for_site' or 'get_domain_rank'. Without an output schema or annotations, the agent receives insufficient detail about result format, limits, or selection criteria, making the context incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so the baseline is 3. The description does not add parameter-specific meaning beyond what the schema already provides, but it does imply that the result includes positions, URLs, and volumes, which aligns with parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: retrieving all keywords a domain ranks for in Google, with positions, URLs, and search volumes. This distinguishes it from sibling tools that focus on suggestions, ideas, or related keywords.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied: use when you need actual ranking keywords for a domain. However, there is no explicit guidance on when not to use it or which sibling alternative to choose, especially since 'get_keywords_for_site' sounds very similar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention the returned metrics (volume, CPC, competition level, monthly trends), giving some insight into output, but it omits any details about data freshness, limitations, or whether any action is taken on the system. The read-only nature is implied by 'Get' but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the action and directly lists the return values. It contains no redundant information or unnecessary words, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with only two parameters and no output schema. The description lists the returned metrics but does not elaborate on the structure or format of 'competition level' or 'monthly trends', nor the default country behavior (though the schema covers that). Given the absence of an output schema, a bit more detail on output shape would improve completeness, but the current description is functional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning both parameters (keywords and country_code) are already described in the input schema, including the list of available country codes. The description adds no parameter-specific meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and identifies the resource as 'search volume and competition metrics for keywords', listing the returned metrics (volume, CPC, competition level, monthly trends). This clearly differentiates it from unrelated tools, though it does not explicitly distinguish itself from overlapping siblings like get_keyword_trends or get_keyword_difficulty.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 only states what it does, with no mention of use cases, exclusions, or preferred scenarios, leaving the agent to infer its purpose relative to the many sibling keyword tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full transparency burden. It explains the basic output but leaves key behaviors ambiguous, such as whether a domain must rank for all keywords or any keyword, how results are ordered, and whether any pagination or limit constraints apply. The 'SERP overlap' mechanism is not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two focused sentences, front-loaded with the main purpose and immediately followed by the input/output relationship. Every word earns its place with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool shape and complete schema, the description is adequate but not fully complete. With no output schema, it only loosely describes the return value as 'domains' without specifying whether scores, ranks, or other metadata are included. It does not explain how multiple keywords are combined or how default parameters affect results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds minor meaning by clarifying that keywords are used to find domains ranking for 'the same keywords,' but it does not meaningfully elaborate on limit or country_code beyond the schema's own descriptions and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Find competitors based on SERP overlap.' It specifies the input (list of keywords) and output (domains that rank for the same keywords), making the purpose specific and distinct from generic sibling tools like find_competitors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you have a keyword list and want SERP-overlap competitors) but provides no explicit alternatives, exclusions, or comparison with sibling tools. The context is clear, but the guidance is implicit rather than directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states that the tool returns a summary with specific fields, implying a read-only operation, but it does not explicitly confirm the absence of side effects, data freshness, 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and resource. Every word contributes to clarifying the tool's purpose and output, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with no output schema, the description provides a useful list of returned metrics ('total backlinks, referring domains, domain rank, and more') and makes the tool's scope clear. It lacks use-case elaboration, but is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the lone 'domain' parameter with a clear example, and the description reinforces that it analyzes a domain. Since schema description coverage is 100%, the description adds minimal semantic value beyond restating the parameter context, earning the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get backlink profile summary for a domain.' It clearly distinguishes this tool from siblings like get_referring_domains or get_new_lost_backlinks by framing it as an aggregate summary rather than a granular detail tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to choose this tool over alternatives. Sibling tools exist for specific backlink aspects, but the description does not mention them or any exclusions, leaving the agent to infer usage context from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that the tool returns detection results (a read operation) and lists example output categories. However, it doesn't mention constraints like domain format requirements, rate limits, or whether the scan is live/historical. It adds some transparency but not rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action verb and resource. Every word earns its place—no fluff, no repetition. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (1 param, no output schema) and the description gives enough context for an agent to invoke it correctly: it knows what to pass (domain) and roughly what to expect (a list of technologies). It could be more explicit about the output structure, but for a detection tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the 'domain' parameter, which is already described as 'The domain to analyze.' The description doesn't add further meaning like formatting examples (e.g., with/without protocol). Baseline 3 is appropriate since the schema handles parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb+resource: 'Detect technologies used by a domain.' It lists concrete output categories (CMS, analytics, CDN, frameworks) which distinguishes it from all sibling tools (SEO/keyword focused). No ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 vs alternatives. It doesn't mention prerequisites, exclusions, or how it differs from siblings like get_page_lighthouse. The only implied usage is that it detects technologies, which is tautological with the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that it 'monitors' gained and lost backlinks, without revealing whether this is a read-only operation, the return format (list vs. counts), pagination, or any rate limits. This is a significant gap for a tool with no safety hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the primary action front-loaded and the use case as a secondary clause. There is no redundant or extra content, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description should clarify return values. It does not specify whether the tool returns a list of backlink URLs, dates, or aggregate counts. The description covers purpose and use cases but lacks essential detail about the result shape, making it incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% as each parameter (domain, date_from, date_to) has a description. The tool description adds no extra semantic detail beyond the schema, only referencing 'a time period' which aligns with the date parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb "Monitor" and identifies the resource "backlinks gained and lost" over a time period, clearly defining the tool's scope. It distinguishes itself from siblings like get_backlinks_summary and get_referring_domains by focusing on new and lost backlinks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear use-case context: 'tracking link building efforts and detecting negative SEO.' It implies when to use the tool but does not explicitly mention when not to use it or name alternatives among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses return values but omits behavioral traits such as whether it's a live audit with latency, any quota/cost implications, prerequisites like a valid URL format, or safety (read-only) status. The 'get' verb implies reading, but no explicit transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences, first states the purpose, second lists outputs. Every word earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter read-only tool with no output schema, the description lists the key returned metrics and specifies device options. It is mostly complete, though it lacks details like score ranges or data types, which would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% description coverage, including the enum and default for 'device'. The tool description adds no extra meaning beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' with a clear resource 'Lighthouse/Core Web Vitals metrics for a URL' and lists specific metrics returned, making it distinctly a performance audit tool compared to sibling tools like analyze_page_seo or get_keyword_trends.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for page speed/CWV analysis but provides no explicit when-to-use or alternative differentiation. Sibling tools like analyze_page_seo could overlap, and the description does not state when to choose this over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the full behavioral transparency burden. It does disclose that relatedness is based on similar search intent and SERP co-occurrence, which adds behavioral context. However, it doesn't mention any other traits like output format, rate limits, or permissions, which for a read-only tool is somewhat acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the main verb front-loaded. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with three well-documented parameters, the description gives the core idea. However, given the large set of sibling keyword tools, a bit more context on how this is distinct would increase completeness, so a 4 is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any parameter-specific information beyond what is already in the schema, so it remains at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool gets semantically related keywords, defining them as keywords with similar search intent that appear together in SERPs. This is specific, but it doesn't explicitly differentiate from sibling tools like get_keyword_suggestions or get_keyword_ideas, so not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit usage guidance or mention of alternatives is provided. The intended use is implied from the description, but there are no when-to-use versus when-not-to-use statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does reveal the output format (intent type with probability score) and the classification categories, but it does not explain edge cases, error behavior, or whether the result is per keyword in a list. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the action and resource. It conveys the core purpose and output without any wasteful words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple and has good schema coverage, but with no output schema, the description should clarify the return structure for multiple keywords. It does not specify whether the result is an array of objects or how the probability score is presented, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage, describing both 'keywords' and 'country_code' with clear meanings. The description adds no additional parameter context, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'classify' and clearly identifies the resource ('search intent of keywords'), listing the four intent categories. This unambiguously distinguishes it from sibling tools like analyze_content_sentiment or get_keyword_trends.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need to classify search intent), but it does not explicitly state alternatives or exclusions. There is no guidance on how this compares to related keyword research tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of transparency. It discloses the tool is 'instant' and lists the output categories, but does not mention any operational details like error handling, rendering requirements, or potential side effects. For a read-only audit, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and contains no filler. It efficiently conveys purpose and key output details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description covers the essential return values and purpose. It is reasonably complete for a low-complexity tool, though it could briefly mention what 'technical issues' entails or any limitations (e.g., requires accessible public URL).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'url' with a clear description. The tool description adds no extra meaning beyond the schema, which already fully documents the parameter, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Performs an instant on-page SEO audit of a URL,' using a specific verb and resource. It lists the returned elements (title, meta, headings, etc.), making it distinct from sibling tools like get_page_lighthouse or analyze_content_sentiment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through 'on-page SEO audit' but provides no explicit when-to-use or alternatives. It doesn't compare against sibling tools like get_page_lighthouse or get_search_intent, leaving the agent to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It notes the output is 'estimated' and lists the return fields, which is useful, but it omits any mention of limitations, data sources, rate limits, or whether results are deterministic. This is a moderate level of transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the verb and resource, and contains no irrelevant details. Every word contributes to understanding the tool's purpose and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two simple, fully documented parameters and no output schema, the description covers the essential elements: what it does and what it returns. It could be improved by noting the estimation methodology or default country, but it's adequate for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for both parameters (100% coverage), so the description adds no extra parameter-specific meaning. It only reiterates the high-level purpose, which doesn't elevate it beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'estimate' with a clear resource ('monthly organic traffic for one or more domains') and lists concrete return values (estimated visitors, keyword counts, traffic value). This distinguishes it from sibling tools like get_domain_rank or research_keywords.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for traffic estimation but provides no explicit guidance on when to prefer this tool over alternatives, nor any exclusions or prerequisites. It lacks phrases like 'use this when' or mentions of other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral disclosure burden. It adds useful context about score interpretation (higher = harder to rank) and mentions additional returned data (search volume, competition level). However, it lacks explicit safety guarantees (e.g., read-only nature) or details about request limits or handling beyond what is in 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: two sentences that front-load the primary purpose and immediately explain the scale meaning. There is no redundant information or unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description appropriately mentions key return values (search volume, competition level). It is sufficiently complete for a simple lookup tool, though it could hint at response format or error behavior. The schema fills the remaining parameter context, making this a well-rounded description overall.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers both parameters thoroughly, with descriptions for keywords and country_code (including the default and list of available codes). The description adds no extra parameter-specific meaning, so the baseline of 3 applies due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: getting keyword difficulty scores with a specific range (0-100). It uses a specific verb ('Get') and resource ('keyword difficulty scores'), and it distinguishes itself from sibling tools like get_keyword_trends or get_keyword_suggestions by focusing on difficulty.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need keyword difficulty data) but does not explicitly mention alternatives or exclusion scenarios. There is no guidance on when to prefer this over other keyword-related tools, leaving usage context to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It accurately describes a read operation and its output, but does not disclose details like response format, granularity, rate limits, or data source specifics. It adds some context beyond the schema but is not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. It front-loads the verb and resource, then elaborates on purpose. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema or annotations, so the description is the only context. It explains the core purpose and output type ('search interest over time'), which is sufficient for a simple read-only tool. However, it lacks details like the time series format or that the data points are weekly/monthly, but the schema covers date range. It's adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions, so the baseline is 3. The tool description does not add any extra meaning to the parameters; it merely mentions 'keywords' implicitly. Since the schema already documents each parameter well, this is adequate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Get') and resource ('Google Trends data for keywords'), and adds the output type ('search interest over time') and intended use ('for seasonality and trend analysis'). This distinguishes it from sibling keyword tools like get_keyword_difficulty or get_keyword_suggestions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use the tool: 'for seasonality and trend analysis'. This implies the use case without explicitly excluding alternatives or naming sibling tools. It's sufficient but lacks explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It states the return format but does not explicitly confirm that the tool is read-only, what data source is used, or any limitations. For a simple analysis tool, the implicit read-only nature may suffice, but there is minimal behavioral context beyond the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the core purpose and output; there is zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only 2 parameters, 1 required, and no output schema. The description adequately conveys the purpose and output format at a high level, though it could elaborate on the exact structure of the distribution or the nature of 'content' (e.g., search results, web pages). Overall, it is a complete-enough description for an agent to invoke the tool correctly on a basic task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters. The tool description adds no additional semantic context beyond what the schema provides, hence baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Analyze' with resource 'content related to a keyword' and names the output ('positive/negative/neutral distribution and connotations'), clearly distinguishing it from the myriad of other keyword/research tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when sentiment analysis is needed, but does not explicitly state when to use this vs alternatives or exclude other cases. Since no sibling tool directly overlaps, context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It does state the return format ('Returns competitor domains with relevance scores'), which adds value beyond the schema. However, it does not mention any limitations, prerequisites, or confirm the read-only nature, leaving some gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, consisting of two sentences that immediately convey the core purpose and output. No unnecessary words or redundancy; every phrase contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two parameters and no output schema, the description provides sufficient context: it states what it does, the method, and the return format. It does not explain the 'relevance scores' in detail or mention potential limitations, but these are not critical for basic understanding. Given the low complexity, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters (`domain` and `limit`) having descriptions in the schema. The tool description does not add parameter-specific semantics beyond the schema; it only restates that it finds competitors for a domain. Per the rubric, a baseline of 3 is appropriate when the schema fully documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Find SEO competitors for a domain based on shared backlinks.' It specifies the verb ('Find'), the resource ('SEO competitors for a domain'), and the method ('based on shared backlinks'), which distinguishes it from sibling tools like `get_serp_competitors`. It also describes the output, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'based on shared backlinks' provides clear context for when this tool is appropriate, implying a specific use case. However, it does not explicitly name alternatives or state when not to use it, so it falls short of fully explicit guidance but still conveys a distinct usage scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The word 'Get' implies a read-only operation, and 'distribution' suggests aggregated output, which adds some behavioral context. However, it does not explicitly state safety guarantees, pagination, or rate limits, leaving room for ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, each earning its place: the first states the function, the second provides practical value. There is no repetition or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool, the description covers the core function and practical use, while the schema covers parameter details. The mention of 'distribution' hints at the return format despite the lack of an output schema, but a more explicit return description would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents both parameters with full descriptions and default values, achieving 100% coverage. The description adds no parameter-specific detail beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and clearly identifies the resource ('anchor text distribution') and its scope ('domain's backlinks'). This distinctively differentiates it from sibling tools like get_backlinks_summary or get_referring_domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence identifies concrete use cases ('link profile analysis' and 'identifying over-optimization'), providing clear context for when to invoke this tool. However, it does not explicitly mention alternatives or exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must convey behavioral traits. It does disclose that the tool returns shared keyword opportunities with positions for both domains, which is useful context. However, it omits any mention of side effects, rate limits, or data freshness. For a read-only query tool this is acceptable but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the core action front-loaded in the first sentence. The second sentence adds value by highlighting use case and output. There is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While there is no output schema, the description partially explains the return value (shared keywords with positions). It does not mention default limits, pagination, or behavior when no intersections exist, but for a simple comparative tool with a well-documented schema, this is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already fully documents all four parameters. The description does not add extra semantic detail about parameters beyond what the schema provides, such as examples or constraints. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('keywords where both domains rank in the same SERP'), clearly distinguishing it from sibling tools like get_ranked_keywords (single domain) or get_serp_competitors (competitor discovery). It concisely conveys the core function and output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states 'Essential for competitive analysis' which provides clear context on when to use it. However, it does not explicitly name alternative tools or state when not to use it. This leaves the guidance at the level of implied usage rather than explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It reveals what the tool returns (traffic, keyword counts, position distribution) and implies it is a read-only operation ('Get'). However, it does not disclose potential behaviors like required permissions, rate limits, or whether the query is computationally heavy. The name itself suggests a safe read, so moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first states the purpose directly, and the second elaborates on what is shown without fluff. Every word earns its place, and the description is front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description adequately summarizes the return values and context. It lacks specifics like time range or data granularity, but these are not essential given the tool's simplicity. It is complete enough for an AI agent to select and invoke correctly, though slightly more detail would push it to a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'domain' and 'country_code' have descriptive text. The description does not add parameter-specific meaning beyond summarizing the output metrics. Baseline of 3 is appropriate since the schema already handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource combination: 'Get historical ranking overview for a domain.' It clarifies the scope by listing the key metrics shown ('traffic, keyword counts, position distribution'), which distinguishes it from sibling tools like get_domain_rank (likely current rank) or get_keyword_trends (keyword-specific trends).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: to see how organic presence changed over time. It implies a historical analysis use case, but does not explicitly state when not to use it or name alternatives, so it lacks explicit exclusions. This fits a 'clear context, no exclusions' rating.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the tool 'analyzes site content' and contrasts with get_ranked_keywords, giving some insight into its behavior. However, it does not disclose potential limitations such as the need for live crawling, output format, or any operational constraints, leaving room for ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose in the first sentence, followed by a useful differentiation from a sibling tool. Every sentence earns its place with no redundancy, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no nested objects, no output schema), the description provides adequate context by stating the purpose and differentiating from a similar tool. However, it does not mention return value characteristics or any prerequisites, which would make it complete. Still, for this simplicity level, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all three parameters, including defaults and a full list of country codes. The description adds no additional parameter semantics beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and resource 'keywords a site potentially targets', clearly indicating the tool's function of analyzing site content for keyword opportunities. It explicitly distinguishes itself from the sibling tool 'get_ranked_keywords', which helps differentiate it from similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context: use this tool to discover potential keyword targets from site content, not ranked keywords. It explicitly names an alternative (get_ranked_keywords) but does not elaborate on when not to use this tool beyond that single contrast, so it falls short of a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the return data (domain authority, backlink counts, dofollow ratio, dates) which is helpful. However, it does not disclose behavioral aspects such as whether it's a read-only operation, any rate limits, pagination behavior, or authentication requirements. More context would be expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that effectively communicates the tool's purpose and key return fields. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with only 3 well-documented parameters and no output schema, the description covers the essential return values. It doesn't mention any caveats or limitations, but the tool is straightforward. The description is adequate for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add significant meaning beyond what the schema already provides for parameters like 'domain', 'limit', and 'order_by'. It only reinforces that the tool analyzes 'a target' domain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'Get detailed list of domains linking to a target.' It uses a specific verb and resource, and clearly distinguishes from sibling tools like get_anchor_texts (anchor texts) and get_backlinks_summary (summary).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: this is for analyzing domains that link to a target. However, it does not explicitly mention when to use it over alternatives like get_backlinks_summary or get_new_lost_backlinks, nor does it provide exclusions. Lacks explicit alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kevinmaqueda/mcp-dataforseo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server