Skip to main content
Glama
occirank

Haloscan MCP Server

by occirank

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: SEO Insights 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, metrics, volume_history, serp ]. It is mandatory to specify at least one of the requested data. Here is what they mean:

        • keyword_match: Top 10 (wrt search volume) keywords that include the provided keyword in their search query (exact match).

        • related_search: Top 10 (wrt search volume) keywords that appear in SERP's "Related Searches" section for the provided keyword.

        • related_question: Top 10 (wrt search volume) keywords that appear in SERP's "People Also Ask" (or in "Related Searches if the keyword is obviously a question) section for the provided keyword.

        • similar_category: Top 10 (wrt search volume) keywords that have the same "Products & Services" category tree as the provided keyword. Careful, fetching this data significantly increases response time.

        • similar_serp: Top 10 (wrt SERP similarity) keywords that have a similar organic SERP as the provided keyword.

        • top_sites: Top 10 (wrt visibility) websites that rank for the provided keyword and similar ones.

        • similar_highlight: Top 10 (wrt search volume) keywords for which similar terms are highlighted in SERP result pages.

        • categories: List of Products & Services categories the provided keyword belongs to.

        • metrics: List of metrics for the provided keyword. Those metrics include:

          • Ads metrics: volume, competition, CPC. Your usual ads data.

          • SEO metrics: corrected search volume, keyword match count, allintitle, KGR, KVI (Keyword Visibility Index).

        • volume_history: Up to 2 years of search volume history for the provided keyword.

        • serp: Last organic SERP for the provided keyword.

  • get_keywords_match

    • Retrieves keywords/expressions including the provided keyword as a substring.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_highlights

    • Retrieves keywords/expressions for which similar terms are highlighted in SERP result pages.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_related

    • Retrieves keywords/expressions that appear in SERP's "Related Searches" section for the provided keyword.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_questions

    • Retrieves keywords/expressions that appear in SERP's "People Also Ask" (or in "Related Searches if the keyword is obviously a question) section for the provided keyword.

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_find

    • Retrieves comprehensive data for a given keyword OR list of keywords, including SEO metrics & ads metrics. This endpoint is a wrapper to call get_keywords_match, get_keywords_related, get_keywords_questions, get_keywords_highlights together.

    • Inputs:

      • keyword (string): Requested keyword.

      • keywords (string[]): Requested keywords. Ignored if keyword is provided.

      • keywords_sources (string[]): Which strategies to use to find keywords from input (Any combination of [match, serp, related, highlights, questions]). At least one is required. Here is what they mean:

        • match: Keywords/expressions that include the provided keyword in their search query (exact match).

        • serp: Keywords/expressions that have a similar organic SERP as the provided keyword.

        • related: Keywords/expressions that appear in SERP's "Related Searches" section for the provided keyword.

        • highlights: Keywords/expressions for which similar terms are highlighted in SERP result pages.

        • questions: Keywords/expressions that appear in SERP's "People Also Ask" (or in "Related Searches if the keyword is obviously a question) section for the provided keyword.

  • get_keywords_site_structure

    • Clustering endpoint. You can use it either in bulk (then provide a value for keywords) or in single request (then provide a value for keyword).

    • Input:

      • keyword (string): Requested keyword. Ignored if keywords is provided. If you only provide a value for keyword (without keywords), then an equivalent of get_keywords_find will run first, to fetch keywords to group.

      • keywords (string[]): Requested keywords.

      • mode (string): Clustering mode. Either manual or multi. In manual mode, keywords are grouped based on SERP similarity. In multi mode, hierarchical groups are made, based on graph link density.

  • get_keywords_serp_compare

    • Compares a given keyword/expression's SERP at 2 different dates.

    • Inputs:

      • keyword (string): Requested keyword/expression.

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

      • first_date (string): Date in YYYY-MM-DD format. Ignored if period is not custom. This date must be a valid date for the given keyword/expression. Valid search dates are returned in available_search_dates item in call response, or as a response for get_keywords_serp_available_dates.

      • second_date (string): Date in YYYY-MM-DD format. Ignored if period is not custom. This date must be a valid date for the given keyword/expression. Valid search dates are returned in available_search_dates item in call response, or as a response for get_keywords_serp_available_dates.

  • get_keywords_serp_availableDates

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

    • Input:

      • keyword (string): Requested keyword.

  • get_keywords_serp_pageEvolution

    • Retrieves the evolution of SERP rankings of a given URL for a specific keyword over time. All parameters are mandatory.

    • Inputs:

      • keyword (string): Requested keyword/expression.

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

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

      • url (string): URL to track rankings for.

  • get_keywords_bulk

    • Retrieves keyword data (SEO metrics, ads metrics, etc.) for multiple keywords at once in a bulk request.

    • Input:

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

  • get_keywords_scrap

    • Ask Haloscan to scrape the search engine results pages (SERP) for a given keyword/expression. The scrap will take around 24h to be completed.

    • 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): Target url, domain or root domain.

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root domain.

      • requested_data (string[]): At least one of (metrics, positions_breakdown, traffic_value, categories, best_keywords, best_pages, gmb_backlinks, visibility_index_history, positions_breakdown_history, positions_and_pages_history). Which data to fetch among:

        • metrics: SEO metrics for the given domain (VI, position count, keyword count, traffic, page count, ranks, etc.).

        • positions_breakdown: Search engine ranking positions for the given domain.

        • traffic_value: Traffic value for the given domain (may take a while to compute for large domains).

        • categories: Categories for the given domain (may take a while to compute for large domains).

        • best_keywords: Top-performing keywords for the given domain (may take a while to compute for large domains).

        • best_pages: Top-performing pages for the given domain (may take a while to compute for large domains).

        • gmb_backlinks: GMB backlinks for the given domain.

        • visibility_index_history: Visibility index history for the given domain.

        • positions_breakdown_history: Search engine ranking positions breakdown history for the given domain.

        • positions_and_pages_history: Search engine ranking positions and pages history for the given domain.

  • get_domains_positions

    • Retrieves the search engine ranking positions of a specified domain.

    • Input:

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

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root domain.

  • get_domains_top_pages

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

    • Input:

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

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root domain.

  • get_domains_history_positions

    • Retrieves historical ranking positions for a specific domain, between 2 specified dates. Very useful if you want to find lost positions.

    • Inputs:

      • input (string): Target url or domain.

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root domain.

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

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

  • get_domains_history_pages

    • Retrieves page-wise historical SEO performance data for a specified domain between 2 specified dates.

    • Inputs:

      • input (string): Target url or domain.

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root 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[]): Target urls.

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root domain.

      • strategy (string): Any of (both, only_active, only_lost). Whether to return all positioned keywords, only active ones or only lost ones.

  • get_domains_keywords

    • Retrieves current positions of a given domain for a list of given keywords.

    • Inputs:

      • input (string): Target url or domain.

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root domain.

      • keywords (string[]): Mandatory 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.

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root domains.

  • get_domains_competitors

    • Retrieves a list of organic search competitors for a given domain based on overlapping keywords (may take a while to compute for large domains).

    • Input:

      • input (string): Target url or domain.

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root 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 (may take a while to compute for large domains).

    • Inputs:

      • input (string): Target url or domain.

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root domain.

      • competitors (string[]): Mandatory list of (up to 20) competitors to compare the input to.

      • exclusive (boolean): Whether to include positions where only the search input is positioned, and none of the requested competitors is.

      • missing (boolean): Whether to include positions where the search input is not positioned, and at least one of the requested competitors is.

      • bested (boolean): Whether to include positions where the search input is positioned, and better positioned than at least one of the requested competitors.

      • besting (boolean): Whether to include positions where the search input is positioned, but at least one of the requested competitors is positioned better.

  • get_domains_competitors_best_pages

    • Retrieves the best-performing pages of (specified) competitors of a given domain (may take a while to compute for large domains).

    • Inputs:

      • input (string): Target url or domain.

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root domain.

      • competitors (string[]): Mandatory list of (up to 20) competitors to compare the input to.

  • get_domains_competitors_keywords_best_positions

    • Retrieves the best-ranking positions for a given list of domains on a given list of keywords.

    • Inputs:

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

      • keywords (string[]): Mandatory 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.

      • mode (string): Any of (auto, root, domain, url). How to interpret the input. Usually, you want to use root to get data about the root domain.

      • type (string): Any of (first, highest, trends, index). Should data be scaled, and how. Use index to get the raw visibility index.

  • get_domains_expired

    • Returns a list of available domains. Domains are returned without their url unless you have already revealed them (in which case root_domain is filled), and a call to domains/expired/reveal is required to reveal domains you are interested in.

    • Input:

      • keyword (string): Optional keyword on which the expired domain should have been positioned.

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

33 tools
get_domains_bulkC

Obtenir des domaines en masse.

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

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
modeNo
lineCountNo
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
inputYes
competitorsNo
modeNo
lineCountNo
pageNo
order_byNoField used for sorting results. Default sorts by descending volume.
total_traffic_minNo
total_traffic_maxNo
total_traffic_keep_naNo
positions_minNo
positions_maxNo
keywords_minNo
keywords_maxNo
exclusive_keywords_minNo
exclusive_keywords_maxNo
besting_keywords_minNo
besting_keywords_maxNo
bested_keywords_minNo
bested_keywords_maxNo

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

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

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
keywordNo
lineCountNo
pageNo
order_byNoField used for sorting results. Default sorts by descending volume.
orderNoField used for sorting results. Default sorts by descending volume.
total_pages_minNo
total_pages_maxNo
total_domains_minNo
total_domains_maxNo
referring_domains_minNo
referring_domains_maxNo
total_keywords_minNo
total_keywords_maxNo
total_traffic_minNo
total_traffic_maxNo
total_top_100_positions_minNo
total_top_100_positions_maxNo
total_top_50_positions_minNo
total_top_50_positions_maxNo
total_top_10_positions_minNo
total_top_10_positions_maxNo
total_top_3_positions_minNo
total_top_3_positions_maxNo
total_top_100_traffic_minNo
total_top_100_traffic_maxNo
total_top_50_traffic_minNo
total_top_50_traffic_maxNo
total_top_10_traffic_minNo
total_top_10_traffic_maxNo
total_top_3_traffic_minNo
total_top_3_traffic_maxNo
matching_keywords_minNo
matching_keywords_maxNo
matching_pages_minNo
matching_pages_maxNo
matching_traffic_minNo
matching_traffic_maxNo
matching_most_recent_position_minNo
matching_most_recent_position_maxNo
matching_top_100_positions_minNo
matching_top_100_positions_maxNo
matching_top_50_positions_minNo
matching_top_50_positions_maxNo
matching_top_10_positions_minNo
matching_top_10_positions_maxNo
matching_top_3_positions_minNo
matching_top_3_positions_maxNo
matching_top_100_traffic_minNo
matching_top_100_traffic_maxNo
matching_top_50_traffic_minNo
matching_top_50_traffic_maxNo
matching_top_10_traffic_minNo
matching_top_10_traffic_maxNo
matching_top_3_traffic_minNo
matching_top_3_traffic_maxNo
matching_count_minNo
matching_count_maxNo
count_minNo
count_maxNo
first_time_available_minNoDate in YYYY-MM-DD format
first_time_available_maxNoDate in YYYY-MM-DD format
last_time_available_minNoDate in YYYY-MM-DD format
last_time_available_maxNoDate in YYYY-MM-DD format
firstseen_minNoDate in YYYY-MM-DD format
first_seen_maxNoDate in YYYY-MM-DD format
last_seen_minNoDate in YYYY-MM-DD format
last_seen_maxNoDate in YYYY-MM-DD format
fb_comments_minNo
fb_comments_maxNo
fb_shares_minNo
fb_shares_maxNo
pinterest_pins_minNo
pinterest_pins_maxNo
root_domain_includeNoRegular expression for root domains to be included
root_domain_excludeNoRegular expression for root domains to be excluded

TDQS

D1.8/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 behavioral traits such as pagination, rate limits, or side effects. The description is minimalist and adds no value 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?

While the description is short, it is under-specified for a complex tool. Conciseness without essential information is not effective.

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?

The tool has 75 parameters, no output schema, and no annotations, yet the description provides no context about usage, output format, or parameter relationships. It is completely inadequate.

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%, but the description adds no meaning to any of the 75 parameters. With such low coverage, the description should compensate but fails to do so.

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' is a direct French translation of the tool name 'get_domains_expired', making it a tautology. It does not distinguish the tool from siblings like get_domains_bulk or get_domains_competitors.

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 scenarios or prerequisites.

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
inputYes
modeNo
date_fromYes
date_toYes
lineCountNoMax number of returned results.
order_byNoField used for sorting results. Default sorts by descending volume.
orderNoWhether the results are sorted in ascending or descending order.
known_versions_minNo
known_versions_maxNo
total_traffic_minNo
total_traffic_maxNo
unique_keywords_minNo
unique_keywords_maxNo
total_top_3_minNo
total_top_3_maxNo
total_top_10_minNo
total_top_10_maxNo
total_top_50_minNo
total_top_50_maxNo
total_top_100_minNo
total_top_100_maxNo

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

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

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_overviewC

Obtenir un aperçu des domaines.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesSeed keyword
modeNo
requested_dataNoSpecific data fields to request
langNoSeed keyword

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It only states 'get an overview' with no mention of read-only behavior, side effects, or any behavioral traits. This is insufficient for an agent to understand the tool's impact.

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 overly minimal. It front-loads the basic purpose but lacks structure and necessary details for effective use.

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 the tool has 4 parameters, no output schema, and no annotations, the description is incomplete. It fails to explain what the overview consists of, how parameters affect output, or what a typical response looks like.

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 75%, but the tool description adds no explanation of parameters. The schema itself has some descriptions (e.g., 'Seed keyword' for input and lang), but the overall description does not help an agent understand how to use parameters like 'mode' or 'requested_data' in context.

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 un aperçu des domaines' (Get an overview of domains) gives a general idea of retrieving domain overview data, but it is vague. It does not specify what data is included in the overview, making it hard to distinguish from sibling tools like get_domains_bulk or get_domains_competitors.

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. There is no mention of use cases, 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_domains_positionsD

Obtenir les positions des domaines.

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

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_pagesC

Obtenir les pages principales des domaines.

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

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are present, so the description must convey behavioral traits; it only implies a read operation without details on data source, freshness, or limitations.

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 under-specified; it borders on being too sparse for 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?

With 19 parameters, no output schema, and no annotations, the description provides virtually no context, making the tool very incomplete for effective 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 16%, and the description adds no parameter information, failing to compensate for low coverage. Many parameters like known_versions_min remain unexplained.

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 'get the main pages of domains', which indicates the tool retrieves top pages but does not define 'main' (e.g., by traffic or ranking) and does not distinguish from siblings like get_domains_history_pages or get_domains_keywords.

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; no exclusions or context provided.

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

get_keywords_bulkC

Obtenir des mots-clés en masse.

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

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 carries full transparency duty. It only states 'get keywords in bulk' without explaining what data is returned (e.g., volume, competition), how filtering works, or any behavior like pagination. Minimal disclosure.

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 short (one sentence), but it is too sparse to be considered appropriately sized. It is not front-loaded with critical information and reads more as a placeholder than a well-structured summary.

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 severely incomplete. It does not explain the tool's core functionality, the meaning of filters, or the expected output, making it nearly useless for an agent.

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 only 14% (3 of 22 parameters have descriptions). The description does not add any parameter-level meaning beyond the schema. It fails to explain the purpose of key parameters like volume_min, competition, or include/exclude, leaving the agent with insufficient context.

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 mots-clés en masse' (Get keywords in bulk) clearly identifies the verb and resource, but it lacks specificity about what 'bulk' means compared to siblings like get_keywords_find or get_keywords_match. It does not indicate whether it accepts multiple keywords as input or returns aggregated data, making it only adequate.

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 the many sibling keyword tools. No context about prerequisites, when it is appropriate, or when to avoid it. This is a significant gap.

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

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

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
lineCountNoMax number of returned results.
order_byNoField used for sorting results. Default sorts by descending volume.
orderNoWhether the results are sorted in ascending or descending order.
volume_minNo
volume_maxNo
cpc_minNo
cpc_maxNo
competition_minNo
competition_maxNo
kgr_minNo
kgr_maxNo
kvi_minNo
kvi_maxNo
kvi_keep_naNo
allintitle_minNo
allintitle_maxNo
word_count_minNo
word_count_maxNo
includeNo
excludeNo
keywordYesSeed keyword
exact_matchNo

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
requested_dataNoSpecific data fields to request
langNo

TDQS

D1.7/5.0
Behavior1/5

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

With no annotations, the description carries full burden but provides no behavioral details (e.g., read-only, data returned, side effects). The single sentence is insufficient.

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 concise but at the expense of informativeness. It is under-specified 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 no output schema and sibling diversity, the description is completely inadequate. It fails to convey what the overview includes or when to use the tool, making it unhelpful for an agent.

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 67%, but the description adds no extra meaning to the parameters. It does not explain the purpose of 'keyword', 'requested_data', or 'lang' beyond their schema descriptions.

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 almost a tautology of the tool name. It does not specify what kind of overview or distinguish it from sibling tools like get_keywords_bulk or get_keywords_find.

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 vs alternatives. The description lacks context for the intended use case.

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

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
keywordYesSeed keyword
periodYes
first_dateNo
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
keywordYesSeed keyword
first_dateYes
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
lineCountNoMax number of returned results.
order_byNoField used for sorting results. Default sorts by descending volume.
orderNoWhether the results are sorted in ascending or descending order.
volume_minNo
volume_maxNo
cpc_minNo
cpc_maxNo
competition_minNo
competition_maxNo
kgr_minNo
kgr_maxNo
kvi_minNo
kvi_maxNo
kvi_keep_naNo
allintitle_minNo
allintitle_maxNo
word_count_minNo
word_count_maxNo
includeNo
excludeNo
keywordYesSeed keyword
similarity_minNo
similarity_maxNo
score_minNo
score_maxNo
p1_score_minNo
p1_score_maxNo

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
keywordNoSeed keyword
keywordsNo
exact_matchNo
neighbours_sourcesNo
multipartite_modesNo
neighbours_sample_max_sizeNo
modeNo
granularityNo
manual_common_10No
manual_common_100No

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
lineCountNoMax number of returned results.
order_byNoField used for sorting results. Default sorts by descending volume.
orderNoWhether the results are sorted in ascending or descending order.
volume_minNo
volume_maxNo
cpc_minNo
cpc_maxNo
competition_minNo
competition_maxNo
kgr_minNo
kgr_maxNo
kvi_minNo
kvi_maxNo
kvi_keep_naNo
allintitle_minNo
allintitle_maxNo
word_count_minNo
word_count_maxNo
includeNo
excludeNo
keywordYesSeed keyword
exact_matchNo

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. Dates show when Glama detected each change.

  1. 33 tool updatesv2.0.13
    • 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_overview
    • 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.4/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap among keyword-related tools (e.g., get_keywords_match, get_keywords_similar) and between get_domains_history_pages and get_domains_history_positions, which could cause confusion.

Naming Consistency5/5

All tool names follow a consistent get_entity_action pattern using snake_case, making it easy to infer the purpose from the name.

Tool Count3/5

33 tools is on the high side, but the broad scope of SEO analysis (domains, keywords, competitors, SERPs) may justify the count. However, some tools seem redundant, so the count could be trimmed.

Completeness4/5

The tool set covers a wide range of SEO data retrieval needs (domains, keywords, competitors, SERP, backlinks). Minor gaps include lack of user management beyond credit info and potential redundancy between match and similar tools.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    C
    quality
    Not graded
    maintenance
    A Model Context Protocol server that exposes Haloscan SEO API functionality, allowing users to access keyword insights, domain analysis, and competitor research through Claude for Desktop and other MCP-compatible clients.
    32
    66
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    Connects AI assistants to SEO APIs for backlinks analysis, keyword research, and traffic analysis.
    16
    28
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables professional SEO/SEM research with geolocalized keyword discovery, competitor analysis, and SERP ranking insights using DataForSEO API.
    -
  • F
    license
    B
    quality
    C
    maintenance
    Enables SEO analysis and data retrieval through DataForSEO API, including keyword research, backlinks, competitor analysis, and on-page audits.
    24
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/occirank/Haloscan-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server