Skip to main content
Glama
chouayb123

Haloscan MCP Server

by chouayb123

Haloscan MCP Server

A Model Context Protocol (MCP) server for interacting with the Haloscan SEO API.
This server allows easy integration with Claude for Desktop, N8N, and other MCP-compatible clients.

Features

  • Exposes Haloscan SEO API functionality through MCP tools

  • Provides prompts for common SEO tasks

  • Easy integration with workflow automation tools like N8N

Related MCP server: Atlassian Confluence MCP Server

Tools

1. User Tools

  • get_user_credit

    • Retrieves the remaining credit for the user identified by the provided API key.

2. Keyword Explorer Tools

  • get_keywords_overview

    • Retrieves an overview of a specific keyword, providing key performance indicators such as search volume, competition level, and trends over time.

    • Inputs:

      • keyword (string): Requested keyword.

      • requested_data (string[]): Any combination of [keyword_match, related_search, related_question, similar_category, similar_serp, top_sites, similar_highlight, categories, synonyms, metrics, volume_history, serp ].

  • get_keywords_match

    • Retrieves keyword data based on an exact match search, providing detailed insights into how the specific keyword performs in search engines.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_similar

    • Retrieves the list of keywords that are semantically or topically similar to a given keyword.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_highlights

    • Retrieves the key performance highlights from a given keyword.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_related

    • Retrieves the list of keywords that are contextually or topically related to a given keyword.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_questions

    • Retrieves a list of question-based keywords related to a given keyword.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_synonyms

    • Retrieves a list of synonyms related to a given keyword.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_find

    • Retrieves comprehensive data for a given keyword or list of keywords, including search volume, competition, and trend analysis.

    • Inputs:

      • keyword (string): Requested keyword.

      • keywords (string[]): Requested keywords.

      • keywords_sources (string[]): Which strategies to use to find keywords from input (Any combination of [match, serp, related, highlights, categories, questions]).

  • get_keywords_site_structure

    • Retrieves the site structure data for a given domain, including the keywords associated with the site's pages, hierarchical organization, and relevant metadata for SEO optimization.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_serp_compare

    • Retrieves a comparison of search engine results pages (SERP) for two or more keywords, providing insights into how they perform in search rankings.

    • Inputs:

      • keyword (string): Requested keyword.

      • period (string): The comparison period for SERPs (1 month, 3 months, 6 months, 12 months, custom).

  • get_keywords_serp_availableDates

    • Retrieves the available dates for historical SERP data of a given keyword at a given period.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_serp_pageEvolution

    • Retrieves the evolution of SERP rankings for a specific keyword over time, showing how a page's position in search results has changed.

    • Inputs:

      • keyword (string): Requested keyword.

      • first_date (string): Date in YYYY-MM-DD format.

      • second_date (string): Date in YYYY-MM-DD format.

      • url (string)

  • get_keywords_bulk

    • Retrieves keyword data for multiple keywords at once in a bulk request.

    • Input:

      • keywords (string[]): Array containing the requested keywords.

  • get_keywords_scrap

    • Retrieves keyword data by scraping the search engine results pages (SERP) for a given keyword.

    • Input:

      • keywords (string[]): Array containing the requested keywords.

3. Site Explorer Tools

  • get_domains_overview

    • Retrieves a comprehensive SEO performance summary for a specific domain.

    • Inputs:

      • input (string): Requested url, domain or root domain.

      • requested_data (string[]): Requested data for the given url or domain, corresponding to the content of different sections of the haloscan overview page.

  • get_domains_positions

    • Retrieves the search engine ranking positions of a specified domain for one or more keywords.

    • Input:

      • input (string): Requested url, domain or root domain.

  • get_domains_top_pages

    • Retrieves the top-performing pages of a specified domain based on organic search metrics such as traffic, number of ranking keywords, and visibility.

    • Input:

      • input (string): Requested url, domain or root domain.

  • get_domains_history_positions

    • Retrieves historical ranking positions for a specific domain across selected keywords.

    • Inputs:

      • input (string): Requested url or domain.

      • date_from (string): Date in YYYY-MM-DD format.

      • date_to (string): Date in YYYY-MM-DD format.

  • get_domains_history_pages

    • Retrieves historical SEO performance data for the top pages of a specified domain.

    • Inputs:

      • input (string): Requested url or domain.

      • date_from (string): Date in YYYY-MM-DD format.

      • date_to (string): Date in YYYY-MM-DD format.

  • get_page_best_keywords

    • Retrieves the top-performing keywords for a specific URL, showing which search queries drive the most traffic and visibility to that page.

    • Input:

      • input (string[]): Requested urls.

  • get_domains_keywords

    • Retrieves all the keywords a domain ranks for in organic search results, along with their associated metrics such as ranking position, traffic, and search volume.

    • Inputs:

      • input (string): Requested url or domain.

      • keywords (string[]): Array containing the requested keywords.

  • get_domains_bulk

    • Retrieves SEO performance metrics for multiple domains in a single request.

    • Input:

      • inputs (string[]): Array containing the requested urls or domains.

  • get_domains_competitors

    • Retrieves a list of organic search competitors for a given domain based on overlapping keywords.

    • Input:

      • input (string): Requested url or domain.

  • get_domains_competitors_keywords_diff

    • Compares the keyword differences between a given domain and its competitors, highlighting keywords that one domain ranks for but the other does not.

    • Inputs:

      • input (string): Requested url or domain.

      • competitors (string[]): List of competitors to compare the input to.

  • get_domains_competitors_best_pages

    • Retrieves the best-performing pages of competitors for a given domain.

    • Inputs:

      • input (string): Requested url or domain.

      • competitors (string[]): List of competitors to compare the input to.

  • get_domains_competitors_keywords_best_positions

    • Retrieves the best-ranking keywords for a given domain compared to its competitors.

    • Inputs:

      • competitors (string[]): List of competitor domains or root domains.

      • keywords (string[]): List of keywords to look for.

  • get_domains_visibility_trends

    • Retrieves the visibility trend for a specific domain over time, showing how its search engine visibility has evolved.

    • Input:

      • input (string[]): Array containing the requested urls or domains.

  • get_domains_expired

    • Retrieves the visibility trend for a specific domain over time, showing how its search engine visibility has evolved.

Configuration

  1. Sign up for an Haloscan account.

  2. Choose a plan.

  3. Generate your API key from Configuration API page.

  4. Use the API key for the Haloscan server in the Claude Desktop configuration file.

Usage with Claude Desktop

Add this server to your Claude Desktop configuration file claude_desktop_config.json:

NPX

{
  "mcpServers": {
    "haloscan": {
      "command": "npx",
      "args": [
        "-y",
        "@occirank/haloscan-server",
        "start"
      ],
      "env": {
        "HALOSCAN_API_KEY": "YOUR API KEY"
      }
    }
  }
}

License

MIT

Available Tools

32 tools
get_domains_bulkC

Obtenir des domaines en masse.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputsYes
lineCountNoMax number of returned results.
modeNo
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
total_top_100_maxNo
total_top_100_minNo
total_top_10_maxNo
total_top_10_minNo
total_top_3_maxNo
total_top_3_minNo
total_top_50_maxNo
total_top_50_minNo
total_traffic_maxNo
total_traffic_minNo
unique_keywords_maxNo
unique_keywords_minNo

TDQS

C2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility for behavioral disclosure. It fails to mention any side effects, authentication needs, rate limits, or pagination behavior, leaving the agent uninformed about the tool's execution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is overly terse—a single phrase with no structure or elaboration. While conciseness is valued, this under-specification undermines its utility for a complex tool with 17 parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (17 parameters, no output schema, no annotations), the description is severely incomplete. It fails to cover parameter constraints, return data shape, or operational context, making it inadequate for proper agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 18%, but the description adds no parameter-level meaning. It does not explain the purpose of the many input parameters, forcing reliance on their names alone, which is insufficient for correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtenir des domaines en masse' indicates the tool retrieves domains in bulk, which is clear but vague. It does not distinguish from sibling tools like get_domains_overview or get_domains_keywords, making it ambiguous what specific domain data is returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided. The description does not specify when to use this tool versus alternatives, nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_competitorsD

Obtenir les concurrents des domaines.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
lineCountNo
modeNo
pageNo

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose any behavioral traits like pagination, rate limits, required permissions, or output format. This is a severe gap for a tool with no other behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but insufficiently detailed. It fails to earn its place by providing minimal value; it is under-specified rather than appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool complexity (4 parameters, no output schema, many siblings), the description is completely inadequate. It does not explain parameters, output, or how it fits among similar tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema defines four parameters (input, mode, lineCount, page) with 0% description coverage. The description offers no explanation of their semantics, leaving the agent without necessary information to use the tool correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtenir les concurrents des domaines' clearly indicates the tool retrieves domain competitors, but it lacks specificity on what kind of competitors and how it differs from sibling tools like get_domains_competitors_best_pages or get_domains_competitors_keywords_diff.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as get_domains_competitors_best_pages or get_domains_competitors_keywords_diff. The context for use is entirely absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_competitors_best_pagesC

Obtenir les meilleures pages des concurrents des domaines.

ParametersJSON Schema
NameRequiredDescriptionDefault
bested_keywords_maxNo
bested_keywords_minNo
besting_keywords_maxNo
besting_keywords_minNo
competitorsNo
exclusive_keywords_maxNo
exclusive_keywords_minNo
inputYes
keywords_maxNo
keywords_minNo
lineCountNo
modeNo
order_byNoField used for sorting results. Default sorts by descending volume.
pageNo
positions_maxNo
positions_minNo
total_traffic_keep_naNo
total_traffic_maxNo
total_traffic_minNo

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavioral traits such as data freshness, pagination, rate limits, or destructive effects. The description simply restates the function without any such details. For a tool with 19 parameters and no output schema, this lack of transparency hinders safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise. However, conciseness sacrifices completeness and structure. It lacks any breakdown or organization that would aid understanding. It is not overly verbose, but the extreme brevity is detrimental to utility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (19 parameters, no output schema, 30 sibling tools), the description is grossly incomplete. It does not explain what the output contains, how the 'best' metric is defined, or how filtering works. The tool likely returns a list of pages with metrics, but this is omitted, making the tool almost unusable without external knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only 5% of parameters have descriptions in the schema (order_by). The description adds no additional parameter meaning. With 19 parameters including filters like total_traffic_min, positions_min, etc., the agent has no insight into how these affect results. The description should at least explain the role of key parameters or the expected input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it gets 'best pages of competitors of domains', which indicates the tool retrieves top-performing pages from competitor domains. However, the term 'best' is vague and does not define the criteria (e.g., traffic, keywords). With many sibling tools (e.g., get_domains_top_pages, get_domains_competitors_keywords_best_pos), it is unclear how this tool differs, reducing clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 or under what conditions it is appropriate. The description does not mention prerequisites, limitations, or scenarios where other tools would be preferred. This omission leaves the agent without context for proper selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_competitors_keywords_best_posC

Obtenir les meilleures positions des mots-clés des concurrents des domaines.

ParametersJSON Schema
NameRequiredDescriptionDefault
allintitle_keep_naNo
allintitle_maxNo
allintitle_minNo
best_competitor_position_maxNo
best_competitor_position_minNo
best_competitor_traffic_keep_naNo
best_competitor_traffic_maxNo
best_competitor_traffic_minNo
competition_keep_naNo
competition_maxNo
competition_minNo
competitorsYes
competitors_positions_maxNo
competitors_positions_minNo
cpc_keep_naNo
cpc_maxNo
cpc_minNo
keyword_excludeNo
keyword_includeNo
keyword_word_count_maxNo
keyword_word_count_minNo
keywordsYes
kgr_keep_naNo
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
lineCountNoMax number of returned results.
modeNo
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
unique_competitors_count_maxNo
unique_competitors_count_minNo
volume_keep_naNo
volume_maxNo
volume_minNo

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, and the description does not disclose behavioral traits such as whether the tool is read-only, destructive, rate-limited, or requires authorization. For a complex tool with 37 parameters, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it lacks structure and is under-specified for the tool's complexity. While not verbose, it does not earn its place by providing necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's 37 parameters, low schema coverage, no output schema, and missing annotations, the description is woefully incomplete. An AI agent cannot effectively determine inputs, outputs, or behavior from this description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at only 8%, the description does not compensate. It fails to explain the meaning or relationship of the 37 parameters, many of which have no descriptions in the schema, leaving the AI agent guessing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool retrieves 'best positions' of competitors' keywords, providing a specific verb and resource. However, it is vague about what 'best positions' means and does not differentiate from sibling tools like 'get_domains_competitors_keywords_diff' or 'get_domains_competitors_best_pages'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 lacks any context about prerequisites, use cases, or exclusions given the numerous sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_competitors_keywords_diffD

Obtenir la différence de mots-clés entre les domaines et leurs concurrents.

ParametersJSON Schema
NameRequiredDescriptionDefault
acceptedTypesNo
allintitle_keep_naNo
allintitle_maxNo
allintitle_minNo
best_competitor_traffic_keep_naNo
best_competitor_traffic_maxNo
best_competitor_traffic_minNo
best_reference_position_maxNo
best_reference_position_minNo
best_reference_traffic_keep_naNo
best_reference_traffic_maxNo
best_reference_traffic_minNo
bestedNo
bestingNo
competition_keep_naNo
competition_maxNo
competition_minNo
competitorsNo
competitors_positions_maxNo
competitors_positions_minNo
cpc_keep_naNo
cpc_maxNo
cpc_minNo
exclusiveNo
google_indexed_keep_naNo
google_indexed_maxNo
google_indexed_minNo
inputYes
keyword_excludeNo
keyword_includeNo
keyword_word_count_maxNo
keyword_word_count_minNo
kgr_keep_naNo
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
lineCountNoMax number of returned results.
missingNo
modeNo
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
pageNo
unique_competitors_count_maxNo
unique_competitors_count_minNo
volume_keep_naNo
volume_maxNo
volume_minNo

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only says 'get difference' with no mention of side effects, rate limits, authentication, or what the output represents. This is a critical gap for a tool with 49 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise but under-specified. It is a single sentence that adds no value beyond the name, missing necessary details to be effectively used.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high parameter count, lack of annotations, and absent output schema, the description is severely incomplete. It fails to provide enough context for an agent to understand the tool's function or how to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 6%, and the tool description adds no information about parameters. The description does not explain the many filter and sorting parameters, leaving the agent blind to their meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool gets keyword differences between domains and competitors, which matches the name. However, it does not distinguish it from sibling tools like get_domains_competitors or get_domains_competitors_keywords_best_pos, and the description is essentially a translation of the name without additional specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 prerequisites, context, or exclusions, leaving the agent without direction for proper invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_expiredD

Obtenir les domaines expirés.

ParametersJSON Schema
NameRequiredDescriptionDefault
fb_comments_maxNo
fb_comments_minNo
fb_shares_maxNo
fb_shares_minNo
first_seen_maxNo
first_time_available_maxNo
first_time_available_minNo
firstseen_minNo
keywordNo
last_seen_maxNo
last_seen_minNo
last_time_available_maxNo
last_time_available_minNo
lineCountNo
matching_keywords_maxNo
matching_keywords_minNo
matching_most_recent_position_maxNo
matching_most_recent_position_minNo
matching_pages_maxNo
matching_pages_minNo
matching_top_100_positions_maxNo
matching_top_100_positions_minNo
matching_top_10_positions_maxNo
matching_top_10_positions_minNo
matching_top_3_positions_maxNo
matching_top_3_positions_minNo
matching_top_50_positions_maxNo
matching_top_50_positions_minNo
matching_traffic_maxNo
matching_traffic_minNo
orderNoField used for sorting results. Default sorts by descending volume.
order_byNoField used for sorting results. Default sorts by descending volume.
pageNo
pinterest_pins_maxNo
pinterest_pins_minNo
referring_domains_maxNo
referring_domains_minNo
root_domain_excludeNo
root_domain_includeNo
total_domains_maxNo
total_domains_minNo
total_keywords_maxNo
total_keywords_minNo
total_pages_maxNo
total_pages_minNo
total_top_100_positions_maxNo
total_top_100_positions_minNo
total_top_100_traffic_maxNo
total_top_100_traffic_minNo
total_top_10_positions_maxNo
total_top_10_positions_minNo
total_top_10_traffic_maxNo
total_top_10_traffic_minNo
total_top_3_positions_maxNo
total_top_3_positions_minNo
total_top_3_traffic_maxNo
total_top_3_traffic_minNo
total_top_50_positions_maxNo
total_top_50_positions_minNo
total_top_50_traffic_maxNo
total_top_50_traffic_minNo
total_traffic_maxNo
total_traffic_minNo

TDQS

D1.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only states the action without mentioning output format, pagination, rate limits, authentication needs, or whether it's a read-only or mutating operation. For a tool with 63 parameters, this lack of behavioral context is severely inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in French, which is appropriately concise. However, it's under-specified rather than truly concise, as it lacks necessary details. Still, it avoids redundancy and is front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (63 parameters, no output schema, no annotations), the description is completely inadequate. It doesn't cover parameter meanings, behavioral traits, or usage context, making it insufficient for effective tool invocation. The agent would struggle to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 3%, with most parameters undocumented in the schema. The description adds no information about parameters, failing to explain the purpose of numerous filters (e.g., 'fb_comments_min', 'total_traffic_max') or how they relate to expired domains. This leaves the agent unable to understand parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtenir les domaines expirés' (Get expired domains) states the basic action but is vague about scope and functionality. It doesn't specify whether this retrieves a list, filters, or analyzes expired domains, nor does it distinguish this tool from sibling tools like 'get_domains_expired_reveal' or other domain-related tools. The purpose is clear at a surface level but lacks specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. With many sibling tools (e.g., 'get_domains_expired_reveal', 'get_domains_bulk'), the description fails to indicate context, prerequisites, or exclusions. This leaves the agent without direction on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_expired_revealC

Révéler les domaines expirés.

ParametersJSON Schema
NameRequiredDescriptionDefault
root_domain_keysYesSeed keyword

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It only states the action without disclosing read-only nature, permissions, or side effects. The description adds no behavioral context beyond the title.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (one sentence) but lacks substantive information. It is under-specified, not achieving conciseness with completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description should explain input expectations and output. It fails to describe what 'reveal' means operationally, what the output looks like, or any edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but the parameter description 'Seed keyword' is vague and does not clarify that 'root_domain_keys' expects an array of numbers. The description fails to explain the semantic meaning of the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Révéler les domaines expirés') with verb and resource. However, it does not distinguish this tool from the sibling 'get_domains_expired' tool, missing 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_domains_expired. No context about prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_history_pagesC

Obtenir l’historique des positions des domaines.

ParametersJSON Schema
NameRequiredDescriptionDefault
date_fromYes
date_toYes
inputYes
known_versions_maxNo
known_versions_minNo
lineCountNoMax number of returned results.
modeNo
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
total_top_100_maxNo
total_top_100_minNo
total_top_10_maxNo
total_top_10_minNo
total_top_3_maxNo
total_top_3_minNo
total_top_50_maxNo
total_top_50_minNo
total_traffic_maxNo
total_traffic_minNo
unique_keywords_maxNo
unique_keywords_minNo

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits (e.g., read-only, side effects, permissions). The agent gains no insight beyond the tool name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single vague sentence. While concise, it fails to provide necessary detail; it does not earn its place because it adds little value beyond the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex schema with 21 parameters and no output schema or annotations, the description is severely incomplete. It fails to explain filtering, output format, or usage context, leaving the agent with almost no useful information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 14% (3 out of 21 parameters have descriptions). The tool description adds no parameter information, leaving the agent to infer meaning from parameter names alone, which is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool retrieves the history of domain positions, which is a clear verb+resource. However, it is vague and does not distinguish from similar siblings like 'get_domains_history_positions' or 'get_domains_positions'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidelines on when to use this tool versus alternatives. With many similar sibling tools, the description fails to provide any context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_history_positionsD

Obtenir l’historique des positions des domaines.

ParametersJSON Schema
NameRequiredDescriptionDefault
allintitle_maxNo
allintitle_minNo
best_position_maxNo
best_position_minNo
competition_maxNo
competition_minNo
cpc_maxNo
cpc_minNo
date_fromYes
date_toYes
first_time_seen_maxNo
first_time_seen_minNo
inputYes
keyword_excludeNo
keyword_includeNo
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
last_time_seen_maxNo
last_time_seen_minNo
lineCountNoMax number of returned results.
modeNo
most_recent_position_maxNo
most_recent_position_minNo
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
page_count_maxNo
page_count_minNo
still_thereNo
subdomain_count_maxNo
subdomain_count_minNo
volume_maxNo
volume_minNo
word_count_maxNo
word_count_minNo
worst_position_maxNo
worst_position_minNo

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full responsibility for behavioral disclosure. It only states the action without any details on side effects, authentication needs, rate limits, output format, or whether the operation is read-only. This is a complete lack 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.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but at the expense of essential information. It does not front-load critical details like required parameters, output format, or behavioral notes. The brevity reduces its utility significantly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 39 parameters, no output schema, and no annotations, the description is severely incomplete. It fails to explain the tool's purpose, filtering capabilities, or return data. The agent cannot understand how to use the tool effectively based solely on this description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning to the 39 parameters. With only 8% schema description coverage (only 3 parameters have descriptions), the description fails to compensate by explaining key parameters like 'mode', 'still_there', or filter ranges. The agent is left to infer from parameter names alone, which are often ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get the history of domain positions' indicates a specific verb and resource, but it lacks differentiation from sibling tools like get_domains_positions (likely current positions) and get_domains_history_pages (history of pages). It does not clarify what 'positions' means (e.g., search engine rankings), making the purpose somewhat vague among many 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 Guidelines2/5

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 such as get_domains_positions or get_domains_overview. The agent receives no contextual cues about prerequisites, typical use cases, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_keywordsD

Obtenir les mots-clés des domaines.

ParametersJSON Schema
NameRequiredDescriptionDefault
allintitle_maxNo
allintitle_minNo
competition_maxNo
competition_minNo
cpc_maxNo
cpc_minNo
inputYes
keyword_excludeNo
keyword_includeNo
keywordsYes
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
lineCountNoMax number of returned results.
modeNo
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
position_maxNo
position_minNo
serp_date_maxNo
serp_date_minNo
title_excludeNo
title_includeNo
title_word_count_maxNo
title_word_count_minNo
traffic_maxNo
traffic_minNo
volume_maxNo
volume_minNo

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as rate limits, output format, or side effects. The minimal description fails to inform the agent about what the tool does beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but severely under-specified. It lacks any structure or critical details, making it insufficient for correct tool usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 31 parameters, no output schema, and no annotations, the description is completely inadequate. The agent has no information about how to invoke the tool correctly or what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 10% schema description coverage, the description does not add meaning beyond the input schema. It provides no context for the 31 parameters, many of which are undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtenir les mots-clés des domaines' indicates the tool retrieves keywords for domains, but it is vague and does not differentiate from many sibling tools like get_keywords_find or get_keywords_related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description lacks any context about prerequisites, filters, or comparison with similar tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_positionsD

Obtenir les positions des domaines.

ParametersJSON Schema
NameRequiredDescriptionDefault
allintitle_maxNo
allintitle_minNo
competition_maxNo
competition_minNo
cpc_maxNo
cpc_minNo
inputYes
keyword_excludeNo
keyword_includeNo
keyword_word_count_maxNo
keyword_word_count_minNo
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
lineCountNoMax number of returned results.
modeNo
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
position_maxNo
position_minNo
serp_date_maxNo
serp_date_minNo
title_excludeNo
title_includeNo
traffic_maxNo
traffic_minNo
volume_maxNo
volume_minNo

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose any behavioral traits such as data freshness, mutation effects, rate limits, or other side effects. The agent has no insight into what the tool does besides the minimal description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but lacks structure. It is too minimal for a tool with 30 parameters and many siblings.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (30 params, no output schema, many siblings), the description is woefully incomplete. It does not describe return values, filtering behavior, or any contextual details needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 10%, and the description adds no information about the 30 parameters. The required 'input' parameter is not explained. The description fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtenir les positions des domaines' gives a verb and resource, but it is vague and does not distinguish from sibling tools like get_domains_history_positions. The schema includes many keyword metrics (volume, cpc), suggesting the tool might not simply return positions. The purpose is unclear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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 its many siblings. There is no mention of use cases, prerequisites, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_domains_top_pagesD

Obtenir les pages principales des domaines.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
known_versions_maxNo
known_versions_minNo
lineCountNoMax number of returned results.
modeNo
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
total_top_100_maxNo
total_top_10_maxNo
total_top_10_minNo
total_top_3_maxNo
total_top_3_minNo
total_top_50_maxNo
total_top_50_minNo
total_traffic_maxNo
total_traffic_minNo
unique_keywords_maxNo
unique_keywords_minNo

TDQS

D1.8/5.0
Behavior1/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 of behavioral disclosure. The description only states it retrieves pages without any information about what the tool returns (e.g., format, structure, or content), whether it's a read-only operation, potential rate limits, authentication requirements, or error conditions. For a tool with 18 parameters and no output schema, this lack of behavioral context is critically inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in French that directly addresses the tool's function without unnecessary words. It's appropriately sized for its limited content, though this conciseness comes at the expense of completeness. There's no wasted language or redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (18 parameters, 83% without schema descriptions, no output schema, and no annotations), the description is severely incomplete. It doesn't explain the tool's purpose in detail, provide usage guidelines, disclose behavior, or clarify parameters. For a data retrieval tool with extensive filtering options and many sibling alternatives, this minimal description leaves the agent with insufficient information to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17% (3 out of 18 parameters have descriptions), so the description must compensate significantly. However, the description adds no parameter information beyond what's implied by the tool name—it doesn't explain what 'input' represents (e.g., domain names), what filtering the numerous min/max parameters apply to, or how 'mode' affects results. With 15 parameters completely undocumented, the description fails to provide meaningful semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtenir les pages principales des domaines' (Get the main pages of domains) is a tautology that essentially restates the tool name 'get_domains_top_pages' in French. It doesn't specify what 'main pages' means (e.g., top-performing pages by traffic, ranking, or other metrics) or what resource is being accessed. While it indicates a retrieval action, it lacks the specificity needed to distinguish it from sibling tools like 'get_domains_history_pages' or 'get_domains_competitors_best_pages'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. With 18 sibling tools, including several domain-related ones like 'get_domains_competitors' and 'get_domains_keywords', there's no indication of the specific context, prerequisites, or scenarios where this tool is appropriate. The agent receives no help in distinguishing this tool's use case from similar domain analysis tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_bulkD

Obtenir des mots-clés en masse.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderNoWhether the results are sorted in ascending or descending order.
cpc_maxNo
cpc_minNo
excludeNo
includeNo
kgr_maxNo
kgr_minNo
kvi_maxNo
kvi_minNo
keywordsYes
order_byNoField used for sorting results. Default sorts by descending volume.
lineCountNoMax number of returned results.
volume_maxNo
volume_minNo
exact_matchNo
kvi_keep_naNo
allintitle_maxNo
allintitle_minNo
word_count_maxNo
word_count_minNo
competition_maxNo
competition_minNo

TDQS

D1.9/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, and the description fails to disclose any behavioral traits (e.g., read-only nature, sorting behavior, pagination). The terse phrase 'Obtenir des mots-clés en masse' adds no behavioral insight beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one short clause), which is efficient, but at the expense of necessary detail. It is front-loaded but lacks substantive content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (22 parameters, no output schema, no annotations), the description is grossly insufficient. It fails to explain return values, parameter usage, or how this 'bulk' keyword tool differs from siblings despite a large sibling group.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 14% schema description coverage, the description does not clarify any of the 22 parameters. The required 'keywords' parameter is not explained, nor are filtering fields like cpc_min, exclude, etc.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description translates the name into French, indicating bulk keyword retrieval, but lacks specificity about what 'bulk' entails (e.g., batch lookup by keyword list) and does not differentiate from siblings like get_keywords_find or get_keywords_match.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 over alternative keyword tools. Context about prerequisites, filtering logic, or the intended bulk operation is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_findD

Trouver des mots-clés.

ParametersJSON Schema
NameRequiredDescriptionDefault
allintitle_maxNo
allintitle_minNo
competition_maxNo
competition_minNo
cpc_maxNo
cpc_minNo
exact_matchNo
excludeNo
includeNo
keep_seedNo
keywordNoSeed keyword
keywordsNo
keywords_sourcesNo
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
lineCountNoMax number of returned results.
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
volume_maxNo
volume_minNo
word_count_maxNo
word_count_minNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits (e.g., read-only, destructive, rate limits) beyond the verb 'find', which is already obvious from the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While short, the description is severely underspecified, not concise. It lacks any front-loaded essential information and contains no meaningful content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 25 parameters, no output schema, and no annotations, the description is completely inadequate. It fails to explain what the tool returns, how to use filters, or any operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 16%, and the tool description adds no parameter explanations whatsoever. The 84% of undocumented parameters lack any context from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Trouver des mots-clés' is a tautology of the tool name (get_keywords_find), restating it in French. It fails to specify what kind of keyword finding operation this performs, especially given numerous sibling tools like get_keywords_related, get_keywords_similar, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance provided; there is no mention of when to use this tool versus alternatives, no prerequisites, and no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_highlightsD

Obtenir les points forts des mots-clés.

ParametersJSON Schema
NameRequiredDescriptionDefault
allintitle_maxNo
allintitle_minNo
competition_maxNo
competition_minNo
cpc_maxNo
cpc_minNo
exact_matchNo
excludeNo
includeNo
keywordYesSeed keyword
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
lineCountNoMax number of returned results.
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
similarity_maxNo
similarity_minNo
volume_maxNo
volume_minNo
word_count_maxNo
word_count_minNo

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description fails to disclose behavioral traits such as read/write nature, rate limits, or any 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but lacks essential detail and structure to be helpful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 24 parameters, no output schema, and no annotations, the description is severely incomplete; it does not explain return values, filtering, or behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 17% schema description coverage, the description adds no meaning to the 24 parameters; many parameters remain undocumented and the description does not clarify them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get the highlights of keywords' is vague; it does not specify what constitutes 'highlights' or distinguish it from siblings like get_keywords_overview or get_keywords_bulk.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 lacks context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_matchD

Obtenir la correspondance des mots-clés.

ParametersJSON Schema
NameRequiredDescriptionDefault
allintitle_maxNo
allintitle_minNo
competition_maxNo
competition_minNo
cpc_maxNo
cpc_minNo
exact_matchNo
excludeNo
includeNo
keywordYesSeed keyword
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
lineCountNoMax number of returned results.
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
volume_maxNo
volume_minNo
word_count_maxNo
word_count_minNo

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for behavioral disclosure. It does not mention side effects, data requirements, rate limits, or any behavioral traits beyond the vague purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (one phrase), which might seem concise, but it lacks substance. It fails to convey necessary details, making it under-specification rather than efficient conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 22 parameters and no output schema or annotations, the description is severely incomplete. An agent cannot understand the tool's purpose, parameters, or behavior from this definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 18%, meaning most parameters lack descriptions. The description does not add any information about what parameters like 'include', 'exclude', or range filters are used for, leaving agents underinformed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtenir la correspondance des mots-clés.' is vague; it does not specify what 'match' means or what the tool actually returns. Given the large set of sibling tools (e.g., get_keywords_find, get_keywords_similar), there is no differentiation, making it hard for an agent to select correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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 over its siblings or alternatives. There is no context about prerequisites, scenarios, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_overviewD

Obtenir un aperçu des mots-clés.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesSeed keyword
langNoSeed keyword
requested_dataNoSpecific data fields to request

TDQS

D1.9/5.0
Behavior1/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 of behavioral disclosure. The description reveals nothing about what the tool actually does beyond 'get an overview' - no indication of whether it's a read-only operation, what data it returns, whether it has rate limits, authentication requirements, or any behavioral characteristics. This is completely inadequate for a tool with 3 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - a single French sentence. While this is efficient, it's arguably under-specified rather than appropriately concise. There's no wasted language, but it fails to provide necessary information. The structure is simple but doesn't front-load critical details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (3 parameters, no annotations, no output schema, and 25 sibling tools including many keyword alternatives), the description is completely inadequate. It doesn't explain what the tool returns, how it differs from similar tools, or what 'overview' actually means. For a tool that presumably returns keyword analysis data, this minimal description leaves the agent guessing about fundamental behavior and appropriate usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (keyword, lang, requested_data) with descriptions. The description adds no additional meaning about what these parameters do or how they affect the 'overview' result. The baseline of 3 is appropriate when the schema does the heavy lifting, though the description doesn't compensate with any parameter context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtenir un aperçu des mots-clés' (Get an overview of keywords) is a tautology that essentially restates the tool name 'get_keywords_overview' in French. It doesn't specify what kind of overview this provides (metrics, related terms, SERP data, etc.) or how it differs from sibling tools like get_keywords_find, get_keywords_related, or get_keywords_similar. The purpose is vague and lacks differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. With 25 sibling tools including many keyword-related ones (get_keywords_find, get_keywords_related, get_keywords_similar, etc.), there's no indication of what makes this tool distinct or when it's the appropriate choice. No context, exclusions, or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_questionsC

Obtenir les questions liées aux mots-clés.

ParametersJSON Schema
NameRequiredDescriptionDefault
allintitle_maxNo
allintitle_minNo
competition_maxNo
competition_minNo
cpc_maxNo
cpc_minNo
depth_maxNo
depth_minNo
exact_matchNo
excludeNo
includeNo
keep_only_paaNo
keywordYesSeed keyword
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
lineCountNoMax number of returned results.
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
question_typesNo
volume_maxNo
volume_minNo
word_count_maxNo
word_count_minNo

TDQS

C2.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations and a one-sentence description, the tool's behavioral traits are completely undisclosed. The agent does not know about pagination, rate limits, data freshness, or the nature of 'questions' returned. This is a critical gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While extremely concise, the description is too minimal to be useful. It sacrifices essential information for brevity, resulting in a single vague sentence that does not earn its place given the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 26 parameters, minimal schema coverage, no annotations, and no output schema, the description is grossly incomplete. An agent cannot infer required parameters beyond 'keyword', nor understand the filters, return format, or limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no value beyond the schema for 26 parameters. With only 15% schema description coverage, the burden on the description is high, but it fails to clarify any parameter's meaning, purpose, or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get questions related to keywords' clearly states the tool's function and distinguishes it from sibling tools that return keywords, domains, or other data. However, it lacks specificity about the source of questions (e.g., SERP People Also Ask, forums) which slightly reduces clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like get_keywords_find or get_keywords_related. There is no mention of prerequisites or typical use cases, leaving the agent without context for correct invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_scrapD

Extraire les mots-clés.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYes

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description gives no behavioral details such as whether the tool performs reading or mutation, its side effects, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short but under-specified; it sacrifices clarity for brevity and does not earn its place as a complete explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simple structure but many siblings, the description is severely incomplete, failing to convey the tool's unique function or output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description does not explain the purpose or expected format of the 'keywords' parameter beyond its name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Extraire les mots-clés' (extract keywords) indicates a basic verb+resource, but it lacks specificity about what is extracted (e.g., search volume, SERP data) and does not distinguish the tool from many siblings like get_keywords_overview or get_keywords_related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor any conditions or prerequisites for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_serp_availableDatesB

Obtenir les dates disponibles des mots-clés dans les SERP.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesSeed keyword

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Aucune annotation fournie, la description doit compenser. Elle ne mentionne pas le comportement (ex: format des dates, gestion des erreurs, limites de requêtes). Pour un outil sans annotations, c'est insuffisant.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Phrase unique, sans information superflue. Efficace mais pourrait inclure davantage de détails sans nuire à la concision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Outil simple avec un seul paramètre et sans schéma de sortie. La description reste trop minimaliste : elle n'explique pas ce que l'agent peut attendre en retour ni comment interpréter les dates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

La couverture du schéma est de 100% (paramètre 'keyword' décrit comme 'Seed keyword'). La description n'ajoute pas de valeur sémantique au-delà du schéma. Baseline 3 justifié.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Le verbe 'Obtenir' et le nom 'dates disponibles des mots-clés dans les SERP' décrivent précisément l'action et la ressource. Cette description se distingue clairement des outils frères comme get_keywords_serp_compare qui compare des SERP.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Aucune indication sur quand utiliser cet outil par rapport aux alternatives (ex: get_keywords_serp_compare, get_keywords_overview). L'absence de contexte d'utilisation ou de contre-indications limite l'aide à l'agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_serp_compareC

Comparer les mots-clés dans les SERP.

ParametersJSON Schema
NameRequiredDescriptionDefault
first_dateNo
keywordYesSeed keyword
periodYes
second_dateNo

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, and the description only states 'compare keywords'. It does not disclose whether the tool is read-only, any destructive actions, authentication needs, or output nature. The brief description leaves significant behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, but it sacrifices essential information for brevity. It is too minimal to be useful for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and minimal parameter descriptions, the description is insufficient for complete understanding. It lacks return value info, usage context, and behavioral details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only 'keyword' has a description). The description adds no explanation for 'period', 'first_date', or 'second_date', failing to clarify their roles or format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Comparer les mots-clés dans les SERP' clearly indicates comparing keywords in search engine results pages. It aligns with the tool name and distinguishes from siblings like get_keywords_serp_availableDates and get_keywords_serp_pageEvolution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 other SERP-related tools (e.g., get_keywords_serp_availableDates, get_keywords_serp_pageEvolution). The agent has no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_serp_pageEvolutionC

Obtenir l'évolution des pages SERP des mots-clés.

ParametersJSON Schema
NameRequiredDescriptionDefault
first_dateYes
keywordYesSeed keyword
second_dateYes
urlYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility. It only says 'get evolution', but does not disclose if this is a read-only operation, any side effects, or authentication needs. The behavior is implied but 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence and concise. However, it sacrifices informativeness for brevity, missing key details that would make it more useful without being longer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 required parameters, no output schema, and no annotations, the description is incomplete. It does not explain the return format, date semantics, or how the URL is used, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only 'keyword' described). The description adds no meaning to 'first_date', 'second_date', or 'url', leaving their purpose ambiguous. This is a critical gap for a tool with 4 required parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it retrieves SERP page evolution for keywords, which is clear. However, it does not distinguish from sibling tools like get_keywords_serp_compare or get_keywords_serp_availableDates, missing an opportunity 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description is minimal and provides no context about prerequisites or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_similarD

Obtenir la correspondance des mots-clés.

ParametersJSON Schema
NameRequiredDescriptionDefault
allintitle_maxNo
allintitle_minNo
competition_maxNo
competition_minNo
cpc_maxNo
cpc_minNo
excludeNo
includeNo
keywordYesSeed keyword
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
lineCountNoMax number of returned results.
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
p1_score_maxNo
p1_score_minNo
score_maxNo
score_minNo
similarity_maxNo
similarity_minNo
volume_maxNo
volume_minNo
word_count_maxNo
word_count_minNo

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for disclosing behavioral traits. It provides none—no mention of read-only nature, side effects, limitations, or output characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short but not concisely helpful—it is under-specified. A single vague phrase does not earn its place, as it fails to convey essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high parameter count (27), no output schema, and no annotations, the description is utterly incomplete. It provides no context about return values, filtering logic, or how the tool operates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 15%, yet the description adds no value by explaining any of the 27 parameters or their interplay. The single phrase does not help interpret the many filter options.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtenir la correspondance des mots-clés' (Get the correspondence of keywords) is vague and does not clarify what 'correspondence' means. It fails to distinguish this tool from siblings like get_keywords_related or get_keywords_match, which likely have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, nor does it describe prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keywords_site_structureC

Obtenir la structure du site des mots-clés.

ParametersJSON Schema
NameRequiredDescriptionDefault
exact_matchNo
granularityNo
keywordNoSeed keyword
keywordsNo
manual_common_10No
manual_common_100No
modeNo
multipartite_modesNo
neighbours_sample_max_sizeNo
neighbours_sourcesNo

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It does not disclose whether the tool is read-only, requires authentication, has rate limits, or what the output structure is. The minimal description adds no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but insufficient. It lacks structure, front-loading critical information, and does not provide enough detail to be useful. The brevity sacrifices clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, no output schema, many siblings), the description is severely incomplete. It does not explain return values, parameter usage, or the meaning of 'site structure,' leaving the agent with little actionable information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is only 10% (only 'keyword' has a description). The tool description does not explain any parameters beyond the schema, failing to compensate for the low coverage. Agents cannot infer parameter roles or combinations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool gets the site structure of keywords, indicating a verb and resource. However, it is vague and does not clarify what 'site structure' means (e.g., sitemap, URL hierarchy). It fails to distinguish this tool from similar siblings like get_keywords_overview or get_keywords_bulk.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. No examples, context, or conditions are mentioned, leaving the agent to infer usage 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.

get_keywords_synonymsD

Obtenir les synonymes des mots-clés.

ParametersJSON Schema
NameRequiredDescriptionDefault
allintitle_maxNo
allintitle_minNo
competition_maxNo
competition_minNo
cpc_maxNo
cpc_minNo
exact_matchNo
excludeNo
includeNo
keywordYesSeed keyword
kgr_maxNo
kgr_minNo
kvi_keep_naNo
kvi_maxNo
kvi_minNo
lineCountNoMax number of returned results.
orderNoWhether the results are sorted in ascending or descending order.
order_byNoField used for sorting results. Default sorts by descending volume.
volume_maxNo
volume_minNo
word_count_maxNo
word_count_minNo

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description fails to disclose any behavioral traits beyond the basic purpose. With 22 parameters and no behavioral context, the description is severely lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, but it is under-specified and lacks necessary detail. It does not earn its place, as it provides minimal utility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 22 parameters, no output schema, and no annotations, the description is woefully incomplete. It fails to cover essential aspects like filtering, sorting, or result interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 18%, and the description adds no meaning to any parameter. Critical parameters like volume_min, cpc_min, etc., remain unexplained. The description does not compensate for the schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Get synonyms of keywords,' which identifies a verb and resource, but it is vague and does not distinguish from sibling tools like get_keywords_related or get_keywords_similar. With many similar keyword tools, the purpose is unclear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Sibling tools suggest overlapping functionality, but the description offers no exclusions or context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_page_best_keywordsC

Obtenir les meilleurs mots-clés de la page.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYes
lineCountNo
strategyNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden. It states 'get best keywords' but fails to disclose that this is a read operation, what 'best' means, or any side effects, rate limits, or permissions needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, achieving conciseness but lacking structure. It is not front-loaded with critical details beyond the purpose. Every word is necessary given the brevity, but the description is underspecified rather than efficiently informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has three parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain input format, lineCount, strategy, or return values, leaving major gaps for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has three parameters (input, lineCount, strategy) with 0% description coverage. The description does not mention or explain any parameter meaning, usage, or expected values, leaving the agent entirely in the dark.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the best keywords of a page. The verb 'obtenir' and resource 'meilleurs mots-clés de la page' are specific, and the tool name mirrors this. However, it does not differentiate from siblings like 'get_keywords_find' or 'get_domains_top_pages'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 its many siblings, such as 'get_keywords_find' or 'get_domains_top_pages'. No context, exclusions, or alternatives are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_creditA

Obtenir les informations de crédit de l'utilisateur.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose behavioral traits such as read-only nature, side effects, or authentication requirements. The description fails to compensate for missing annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence that is front-loaded with the action. No extraneous content; every word is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description provides the minimal information needed. However, it lacks details about what the credit info contains (e.g., balance, usage) and the response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has zero parameters, so baseline is 4. Description adds no parameter-specific meaning but this is appropriate given the absence of parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves user credit information. Distinct from sibling tools which focus on domains/keywords, so no ambiguity about purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. However, given the distinct subject (user credit vs. domains/keywords), usage context is implied. Still lacks formal 'when-to-use' or 'when-not-to-use' instructions.

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.

  1. 32 tool updatesv1.0.0
    • First observedget_domains_bulk
    • First observedget_domains_competitors
    • First observedget_domains_competitors_best_pages
    • First observedget_domains_competitors_keywords_best_pos
    • First observedget_domains_competitors_keywords_diff
    • First observedget_domains_expired
    • First observedget_domains_expired_reveal
    • First observedget_domains_gmb_backlinks
    • First observedget_domains_gmb_backlinks_categories
    • First observedget_domains_gmb_backlinks_map
    • First observedget_domains_history_pages
    • First observedget_domains_history_positions
    • First observedget_domains_keywords
    • First observedget_domains_positions
    • First observedget_domains_top_pages
    • First observedget_domains_visibility_trends
    • First observedget_keywords_bulk
    • First observedget_keywords_find
    • First observedget_keywords_highlights
    • First observedget_keywords_match
    • First observedget_keywords_overview
    • First observedget_keywords_questions
    • First observedget_keywords_related
    • First observedget_keywords_scrap
    • First observedget_keywords_serp_availableDates
    • First observedget_keywords_serp_compare
    • First observedget_keywords_serp_pageEvolution
    • First observedget_keywords_similar
    • First observedget_keywords_site_structure
    • First observedget_keywords_synonyms
    • First observedget_page_best_keywords
    • First observedget_user_credit

TDQS

C2/5.0

Scored across 32 tools

Disambiguation2/5

Many tools have distinct purposes, but several have identical or near-identical descriptions (e.g., get_keywords_similar and get_keywords_match both say 'Obtenir la correspondance des mots-clés'; get_domains_history_positions and get_domains_history_pages both say 'Obtenir l’historique des positions des domaines'), creating significant ambiguity. The large number of similarly named keywords/domains tools increases the risk of misselection.

Naming Consistency4/5

The vast majority follow a consistent 'get_<resource>_<action>' snake_case pattern, which is easy to parse. Minor deviation: get_keywords_serp_pageEvolution uses camelCase in the action, but it's isolated. Overall naming is predictable and coherent.

Tool Count2/5

With 32 tools, the count exceeds the 25+ threshold that typically indicates an over-heavy surface. While an SEO platform might justify many endpoints, the sheer number makes it difficult for agents to navigate and select appropriately, especially with overlapping semantics.

Completeness3/5

The tool set covers a wide range of keyword and domain data (keywords, SERP, competitors, expired domains, GMB backlinks), suggesting a fairly complete read-only surface. However, the presence of redundant tools with identical descriptions and missing basic operations (e.g., a generic SERP fetch) leaves noticeable gaps and inefficiencies.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude to perform Google Custom Search operations by connecting to Google's search API.
    2
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Model Context Protocol server for interacting with the HaloPSA API, enabling AI assistants like Claude to manage tickets, users, and assets in HaloPSA through natural language.
    74 npm
    -
  • A
    license
    B
    quality
    A
    maintenance
    A Model Context Protocol server that enables Claude to interact with DataForSEO APIs, allowing access to SEO data including SERPs, keyword research, on-page metrics, and domain analytics.
    17
    5,555 npm
    246
    Apache 2.0