Skip to main content
Glama
fetchSERP

FetchSERP MCP Server

Official
by fetchSERP

FetchSERP MCP Server

A Model Context Protocol (MCP) server that exposes the FetchSERP API for SEO, SERP analysis, web scraping, and keyword research.

Features

This MCP server provides access to all FetchSERP API endpoints:

SEO & Analysis

  • Domain Analysis: Get backlinks, domain info (DNS, WHOIS, SSL, tech stack)

  • Keyword Research: Search volume, suggestions, long-tail keyword generation

  • SEO Analysis: Comprehensive webpage SEO analysis

  • AI Analysis: AI-powered webpage analysis with custom prompts

  • Moz Integration: Domain authority and Moz metrics

  • Search Results: Get SERP results from Google, Bing, Yahoo, DuckDuckGo

  • AI Overview: Google's AI overview with JavaScript rendering

  • Enhanced Results: SERP with HTML or text content

  • Ranking Check: Domain ranking for specific keywords

  • Indexation Check: Verify if pages are indexed

Web Scraping

  • Basic Scraping: Scrape webpages without JavaScript

  • JS Scraping: Execute custom JavaScript on pages

  • Proxy Scraping: Scrape with country-specific proxies

  • Domain Scraping: Scrape multiple pages from a domain

User Management

  • Account Info: Check API credits and user information

Related MCP server: Prysm MCP Server

Installation

No installation required! This MCP server runs directly from GitHub using npx.

Get your FetchSERP API token: Sign up at https://www.fetchserp.com to get your API token. New users get 250 free credits to get started!

Usage

Transport Modes

This MCP server supports two transport modes:

npx mode (Option 1):

  • ✅ Zero installation required

  • ✅ Always gets latest version from GitHub

  • ✅ Perfect for individual users

  • ✅ Runs locally with Claude Desktop

HTTP mode (Option 2):

  • ✅ Remote deployment capability

  • ✅ Multiple clients can connect

  • ✅ Better for enterprise/team environments

  • ✅ Centralized server management

  • ✅ Single API key authentication (FetchSERP token)

  • ✅ Scalable architecture

Configuration

Option 1: Using npx (Local/Remote GitHub) Add this server to your MCP client configuration. For example, in Claude Desktop using github registry :

{
  "mcpServers": {
    "fetchserp": {
      "command": "npx",
      "args": [
        "github:fetchSERP/fetchserp-mcp-server-node"
      ],
      "env": {
        "FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
      }
    }
  }
}

or using npm registry

{
  "mcpServers": {
    "fetchserp": {
      "command": "npx",
      "args": ["fetchserp-mcp-server"],
      "env": {
        "FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
      }
    }
  }
}

Option 2: Claude API with MCP Server For programmatic usage with Claude's API and your deployed MCP server:

const claudeRequest = {
  model: "claude-sonnet-4-20250514",
  max_tokens: 1024,
  messages: [
    {
      role: "user", 
      content: question
    }
  ],
  // MCP Server Configuration
  mcp_servers: [
    {
      type: "url",
      url: "https://mcp.fetchserp.com/sse",
      name: "fetchserp",
      authorization_token: FETCHSERP_API_TOKEN,
      tool_configuration: {
        enabled: true
      }
    }
  ]
};

const response = await httpRequest('https://api.anthropic.com/v1/messages', {
  method: 'POST',
  headers: {
    'x-api-key': CLAUDE_API_KEY,
    'anthropic-version': '2023-06-01',
    'anthropic-beta': 'mcp-client-2025-04-04',
    'content-type': 'application/json'
  }
}, JSON.stringify(claudeRequest));

Option 3: OpenAI API with MCP Server For programmatic usage with OpenAI's API and your deployed MCP server:

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

const res = await openai.responses.create({
  model: "gpt-4.1",
  tools: [
    {
      type: "mcp",
      server_label: "fetchserp",
      server_url: "https://mcp.fetchserp.com/sse",
      headers: {
        Authorization: `Bearer ${FETCHSERP_API_TOKEN}`
      }
    }
  ],
  input: question
});

console.log(res.choices[0].message);

Option 4: Docker Use the pre-built Docker image from GitHub Container Registry for containerized deployment:

{
  "mcpServers": {
    "fetchserp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "FETCHSERP_API_TOKEN",
        "ghcr.io/fetchserp/fetchserp-mcp-server-node:latest"
      ],
      "env": {
        "FETCHSERP_API_TOKEN": "your_fetchserp_api_token_here"
      }
    }
  }
}

Docker Features:

  • ✅ Containerized deployment

  • ✅ Cross-platform compatibility (ARM64 & AMD64)

  • ✅ Isolated environment

  • ✅ Easy scaling and deployment

  • ✅ Automated builds from GitHub

Manual Docker Usage:

# Pull the latest image
docker pull ghcr.io/fetchserp/fetchserp-mcp-server-node:latest

# Run with environment variable
docker run -i --rm \
  -e FETCHSERP_API_TOKEN="your_token_here" \
  ghcr.io/fetchserp/fetchserp-mcp-server-node:latest

# Or run in HTTP mode on port 8000
docker run -p 8000:8000 \
  -e FETCHSERP_API_TOKEN="your_token_here" \
  -e MCP_HTTP_MODE=true \
  ghcr.io/fetchserp/fetchserp-mcp-server-node:latest

Available Tools

Domain & SEO Analysis

Get backlinks for a domain

  • domain (required): Target domain

  • search_engine: google, bing, yahoo, duckduckgo (default: google)

  • country: Country code (default: us)

  • pages_number: Pages to search 1-30 (default: 15)

get_domain_info

Get comprehensive domain information

  • domain (required): Target domain

get_domain_emails

Extract emails from a domain

  • domain (required): Target domain

  • search_engine: Search engine (default: google)

  • country: Country code (default: us)

  • pages_number: Pages to search 1-30 (default: 1)

get_playwright_mcp

Use GPT-4.1 to remote control a browser via a Playwright MCP server

  • prompt (required): The prompt to use for remote control of the browser

This endpoint uses GPT-4.1 to remote control a browser via a Playwright MCP server.

get_webpage_seo_analysis

Comprehensive SEO analysis of a webpage

  • url (required): URL to analyze

get_webpage_ai_analysis

AI-powered webpage analysis

  • url (required): URL to analyze

  • prompt (required): Analysis prompt

generate_wordpress_content

Generate WordPress content using AI with customizable prompts and models

  • user_prompt (required): The user prompt

  • system_prompt (required): The system prompt

  • ai_model: The AI model (default: gpt-4.1-nano)

Generates SEO-optimized WordPress content including title and content (800-1500 words) with keyword targeting in the first 100 words.

generate_social_content

Generate social media content using AI with customizable prompts and models

  • user_prompt (required): The user prompt

  • system_prompt (required): The system prompt

  • ai_model: The AI model (default: gpt-4.1-nano)

Generates engaging social media content optimized for various platforms and audiences.

get_moz_analysis

Get Moz domain authority and metrics

  • domain (required): Target domain

Keyword Research

get_keywords_search_volume

Get search volume for keywords

  • keywords (required): Array of keywords

  • country: Country code

get_keywords_suggestions

Get keyword suggestions

  • url: URL to analyze (optional if keywords provided)

  • keywords: Array of seed keywords (optional if url provided)

  • country: Country code

get_long_tail_keywords

Generate long-tail keywords

  • keyword (required): Seed keyword

  • search_intent: informational, commercial, transactional, navigational (default: informational)

  • count: Number to generate 1-500 (default: 10)

get_serp_results

Get search engine results

  • query (required): Search query

  • search_engine: google, bing, yahoo, duckduckgo (default: google)

  • country: Country code (default: us)

  • pages_number: Pages to search 1-30 (default: 1)

get_serp_html

Get SERP results with HTML content

  • Same parameters as get_serp_results

get_serp_text

Get SERP results with text content

  • Same parameters as get_serp_results

get_serp_ai_mode

Get SERP with AI Overview and AI Mode response

  • query (required): Search query

  • country: Country code (default: us)

Returns AI overview and AI mode response for the query. Less reliable than the 2-step process but returns results in under 30 seconds.

check_page_indexation

Check if domain is indexed for keyword

  • domain (required): Target domain

  • keyword (required): Search keyword

get_domain_ranking

Get domain ranking for keyword

  • keyword (required): Search keyword

  • domain (required): Target domain

  • search_engine: Search engine (default: google)

  • country: Country code (default: us)

  • pages_number: Pages to search 1-30 (default: 10)

Web Scraping

scrape_webpage

Scrape webpage without JavaScript

  • url (required): URL to scrape

scrape_domain

Scrape multiple pages from domain

  • domain (required): Target domain

  • max_pages: Maximum pages to scrape, up to 200 (default: 10)

scrape_webpage_js

Scrape webpage with custom JavaScript

  • url (required): URL to scrape

  • js_script (required): JavaScript code to execute

scrape_webpage_js_proxy

Scrape webpage with JavaScript and proxy

  • url (required): URL to scrape

  • country (required): Proxy country

  • js_script (required): JavaScript code to execute

User Management

get_user_info

Get user information and API credits

  • No parameters required

API Token

You need a FetchSERP API token to use this server.

Getting your API token:

  1. Sign up at https://www.fetchserp.com

  2. New users automatically receive 250 free credits to get started

  3. Your API token will be available in your dashboard

Set the token as an environment variable:

export FETCHSERP_API_TOKEN="your_token_here"

Error Handling

The server includes comprehensive error handling:

  • Missing API token validation

  • API response error handling

  • Input validation

  • Proper MCP error responses

Docker deploy

docker build --platform=linux/amd64 -t olivier86/fetchserp-mcp-server-node:latest --push .
docker build --platform=linux/amd64 -t ghcr.io/fetchserp/mcp-server-node:latest --push .

docker run -p 8000:8000 olivier86/fetchserp-mcp-server-node:latest

To start tunneling

nohup ngrok http 8000 --domain guinea-dominant-jolly.ngrok-free.app > /var/log/ngrok.log 2>&1 &

npm login npm publish --access public

Available Tools

23 tools
check_page_indexationC

Check if a domain is indexed for a given keyword

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe domain to check
keywordYesThe keyword to check

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool's action ('check') but doesn't describe what 'indexed' means in this context, how the check is performed (e.g., via search engine queries), what the output might look like, or any limitations (e.g., rate limits, accuracy). For a tool with no annotations, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words. It is front-loaded with the core action and resources, making it easy to parse quickly. There is no wasted text, earning it a top score for conciseness.

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 lack of annotations and output schema, the description is incomplete for effective tool use. It doesn't explain what 'indexed' entails, the method of checking, potential outputs, or error handling. For a tool that likely interacts with external services (e.g., search engines), more context is needed to understand its behavior and limitations.

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?

The input schema has 100% description coverage, with clear descriptions for both parameters ('domain' and 'keyword'). The description adds no additional semantic details beyond what the schema provides, such as format examples or constraints. Given the high schema coverage, a baseline score of 3 is appropriate, as the schema adequately documents the parameters without extra help from the description.

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's purpose: 'Check if a domain is indexed for a given keyword.' It specifies the verb ('check') and the resources involved ('domain' and 'keyword'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate this tool from its siblings (e.g., get_serp_results or get_domain_ranking), which would be needed for a score of 5.

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. It doesn't mention any prerequisites, context for usage, or comparisons to sibling tools like get_serp_results or get_domain_ranking that might offer related functionality. This lack of guidance leaves the agent to infer usage based on the tool name alone.

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

generate_social_contentC

Generate social media content using AI with customizable prompts and models

ParametersJSON Schema
NameRequiredDescriptionDefault
ai_modelNoThe AI model (default: gpt-4.1-nano)gpt-4.1-nano
system_promptYesThe system prompt
user_promptYesThe user prompt

TDQS

C2.9/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 but only mentions AI usage and customizability. It lacks critical behavioral details: whether this creates new content (likely yes, but not stated), rate limits, authentication needs, output format, or any side effects. The description is insufficient for a mutation tool with zero annotation coverage.

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

Conciseness4/5

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

Single sentence that is efficient and front-loaded with the core purpose. No wasted words, though it could be slightly more structured by separating usage context from technical details.

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?

For a content generation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., generated text, format, length), error conditions, or important behavioral constraints. The description should compensate for missing structured data but fails to do so adequately.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters with clear descriptions. The description adds no additional parameter meaning beyond implying these are for AI customization, which is already evident from parameter names and schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

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 verb 'generate' and resource 'social media content', specifying it uses AI with customizable prompts and models. It distinguishes from most siblings focused on SEO/analysis/scraping, though not explicitly from 'generate_wordpress_content' which is similar but for a different content type.

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 'generate_wordpress_content' or other content creation methods. The description implies usage for social media content generation but doesn't specify scenarios, prerequisites, or exclusions.

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

generate_wordpress_contentC

Generate WordPress content using AI with customizable prompts and models

ParametersJSON Schema
NameRequiredDescriptionDefault
ai_modelNoThe AI model (default: gpt-4.1-nano)gpt-4.1-nano
system_promptYesThe system prompt
user_promptYesThe user prompt

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions AI generation but lacks details on permissions, rate limits, output format, or potential side effects. For a tool that likely creates content, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part of the sentence contributes directly to understanding the tool's function.

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?

For a tool with no annotations and no output schema, the description is inadequate. It doesn't explain what the generated content looks like, how it's delivered, or any behavioral traits, leaving critical gaps for an AI agent to understand the tool's full context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds minimal value by mentioning 'customizable prompts and models', which loosely maps to the parameters but doesn't provide additional syntax or usage details beyond what the schema provides.

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 ('Generate WordPress content using AI') and specifies the resource ('WordPress content'), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'generate_social_content', which might be a similar AI generation tool for different content types.

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. It doesn't mention prerequisites, ideal scenarios, or exclusions, leaving the agent with no contextual cues for selection among the many sibling tools, including other content generation tools.

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

get_domain_emailsC

Retrieve emails from a given domain

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoThe country to search from. Default: usus
domainYesThe domain to search emails from
pages_numberNoThe number of pages to search (1-30). Default: 1
search_engineNoThe search engine to use (google, bing, yahoo, duckduckgo). Default: googlegoogle

TDQS

C2.9/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 for behavioral disclosure. It states the tool retrieves emails but doesn't explain how (e.g., via search engines as indicated in the schema), what format the results come in, whether there are rate limits, authentication requirements, or potential privacy implications. The description is too vague about the actual behavior.

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

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose and efficiently communicates the essential action without unnecessary elaboration.

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?

For a tool with 4 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns (email addresses? email content? metadata?), how results are structured, or any behavioral constraints. The agent would be left guessing about important operational aspects.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents all parameters. The description adds no additional parameter information beyond what's in the schema, meeting the baseline expectation but not providing extra value.

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 ('Retrieve emails') and target resource ('from a given domain'), making the purpose understandable. However, it doesn't differentiate this tool from potential sibling email-related tools (none are listed among siblings, but the description doesn't explicitly confirm this uniqueness).

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. It doesn't mention any prerequisites, limitations, or scenarios where other tools might be more appropriate, leaving the agent to infer usage from the tool name alone.

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

get_domain_infoC

Get domain info including DNS records, WHOIS data, SSL certificates, and technology stack

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe domain to check

TDQS

C2.9/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 for behavioral disclosure. It mentions what data is retrieved but lacks critical details: whether this is a read-only operation, requires authentication, has rate limits, returns real-time or cached data, or handles errors. For a tool fetching potentially sensitive domain info, this gap is significant and could lead to misuse.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose ('Get domain info') and enumerates key data types without fluff. Every word earns its place, making it easy for an agent to parse quickly. No unnecessary details or repetition are present.

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 complexity of domain analysis (multiple data sources) and lack of annotations or output schema, the description is incomplete. It lists data types but doesn't cover behavioral aspects like permissions, data freshness, or response structure. For a tool with no structured safety or output info, more context is needed to ensure reliable use.

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?

The input schema has 100% description coverage, clearly documenting the single 'domain' parameter. The description adds no additional parameter semantics beyond implying the domain is checked for multiple info types. This meets the baseline of 3 since the schema does the heavy lifting, but the description doesn't enhance understanding (e.g., format examples like 'example.com').

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 verb 'Get' and resource 'domain info', specifying what information is retrieved (DNS records, WHOIS data, SSL certificates, technology stack). It distinguishes from siblings like 'get_domain_ranking' or 'scrape_domain' by focusing on comprehensive domain metadata rather than rankings or content scraping. However, it doesn't explicitly contrast with all siblings, so it's not a perfect 5.

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. It doesn't mention when-not scenarios (e.g., for real-time data vs. cached), prerequisites, or compare to siblings like 'get_domain_emails' or 'scrape_domain'. The agent must infer usage from the purpose alone, which is insufficient for optimal tool selection.

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

get_domain_rankingC

Get domain ranking for a given keyword

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoThe country to search from. Default: usus
domainYesThe domain to search
keywordYesThe keyword to search
pages_numberNoThe number of pages to search (1-30). Default: 10
search_engineNoThe search engine to use (google, bing, yahoo, duckduckgo). Default: googlegoogle

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'Get domain ranking' but doesn't disclose what ranking means (e.g., SERP position, score), whether this is a read-only operation, potential rate limits, authentication needs, or what the output format looks like. The description is too minimal to provide meaningful behavioral context beyond the basic action.

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

Conciseness5/5

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

The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a tool with good schema documentation and gets straight to the point with zero waste.

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 annotations and no output schema, the description is insufficient for a tool with 5 parameters that performs ranking analysis. It doesn't explain what 'domain ranking' means, what the output contains, or important behavioral aspects like whether this is a read operation, potential costs, or limitations. The description leaves too many contextual gaps for effective tool selection.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly with descriptions, defaults, and constraints. The description adds no additional parameter semantics beyond what's in the schema, maintaining the baseline score of 3 for adequate but not enhanced parameter documentation.

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 ('Get') and resource ('domain ranking') with the required input ('for a given keyword'). It distinguishes from most siblings by focusing on ranking rather than content generation, analysis, or scraping. However, it doesn't explicitly differentiate from similar ranking-related tools like 'get_serp_results'.

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. With siblings like 'get_serp_results', 'get_serp_html', and 'get_serp_text' that might provide related search engine data, there's no indication of when this specific ranking-focused tool is preferred or what distinguishes it from those alternatives.

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

get_keywords_search_volumeC

Get search volume for given keywords

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoThe country code to search for
keywordsYesThe keywords to search

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' data, implying a read-only operation, but doesn't specify whether it requires authentication, has rate limits, returns structured data, or handles errors. For a tool with zero annotation coverage, this leaves significant behavioral gaps, though it at least correctly implies a read operation.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose ('Get search volume'), making it easy to parse. Every word contributes directly to understanding the tool's function, achieving optimal conciseness.

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 lack of annotations and output schema, the description is incomplete. It doesn't explain what 'search volume' entails (e.g., monthly searches, trends), the format of the returned data, or any limitations. For a tool with two parameters and no structured output information, more context is needed to guide effective use, resulting in a low score.

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?

The description mentions 'keywords' and implies 'search volume', aligning with the 'keywords' parameter in the schema. However, it doesn't address the 'country' parameter or provide additional context beyond what the schema already describes (schema coverage is 100%). Since the schema fully documents both parameters, the description adds minimal value, meeting the baseline score of 3 for high schema coverage.

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 search volume for given keywords' clearly states the verb 'Get' and resource 'search volume', specifying what the tool does. It distinguishes from some siblings like 'get_keywords_suggestions' or 'get_long_tail_keywords' by focusing on volume metrics rather than keyword generation or analysis. However, it doesn't explicitly differentiate from all potential overlaps (e.g., 'get_serp_results' might also provide volume data), keeping it at a 4 rather than a 5.

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

Usage 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. It doesn't mention when this tool is appropriate, when to choose other keyword-related tools like 'get_keywords_suggestions' or 'get_long_tail_keywords', or any prerequisites. The agent must infer usage from the name and context alone, which is insufficient for clear decision-making.

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

get_keywords_suggestionsB

Get keyword suggestions based on a url or a list of keywords

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoThe country code to search for
keywordsNoThe keywords to search (optional if url provided)
urlNoThe url to search (optional if keywords provided)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get keyword suggestions', which implies a read-only operation, but doesn't clarify if it requires authentication, has rate limits, returns structured data, or handles errors. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior and constraints.

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

Conciseness5/5

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

The description is a single, efficient sentence: 'Get keyword suggestions based on a url or a list of keywords'. It's front-loaded with the core purpose and includes essential input options without unnecessary details. Every word earns its place, making it highly concise and well-structured for quick comprehension.

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 the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and input options but lacks details on behavior, output format, or error handling. Without annotations or an output schema, the description should do more to compensate, but it only meets the minimum viable threshold for understanding what the tool does.

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?

The schema description coverage is 100%, meaning all parameters are documented in the schema. The description adds minimal value by mentioning 'url or a list of keywords', which aligns with the schema's 'url' and 'keywords' parameters, but doesn't provide additional context like format examples or usage tips. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't significantly enhance parameter understanding.

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's purpose: 'Get keyword suggestions based on a url or a list of keywords'. It specifies the action ('Get keyword suggestions') and the input sources ('url or a list of keywords'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'get_long_tail_keywords' or 'get_keywords_search_volume', which might offer similar functionality.

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?

The description implies usage by mentioning the two input options ('url or a list of keywords'), suggesting it can be used in either scenario. However, it doesn't provide explicit guidance on when to choose this tool over alternatives like 'get_long_tail_keywords' or 'get_keywords_search_volume', nor does it mention any prerequisites or exclusions. The usage context is somewhat implied but not clearly defined.

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

get_long_tail_keywordsC

Generate long-tail keywords for a given keyword

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoThe number of long-tail keywords to generate (1-500). Default: 10
keywordYesThe seed keyword to generate long-tail keywords from
search_intentNoThe search intent (informational, commercial, transactional, navigational). Default: informationalinformational

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'generate' implies creation, it doesn't specify whether this is a read-only operation, if it requires API calls or external services, what the output format looks like, or any rate limits or authentication needs. The description is too minimal for a tool that likely involves algorithmic generation.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every word earns its place, though this conciseness comes at the cost of detail.

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 complexity of keyword generation and the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'long-tail keywords' means in this context, how they're generated, the output format, or any behavioral traits. For a tool with 3 parameters and no structured output information, more context is needed.

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?

The description mentions 'for a given keyword', which hints at the 'keyword' parameter, but adds no semantic context beyond what's already in the schema. With 100% schema description coverage, the baseline is 3, as the schema fully documents parameters like 'count' and 'search_intent' with their constraints and defaults.

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 verb 'generate' and the resource 'long-tail keywords for a given keyword', making the purpose understandable. However, it doesn't distinguish this tool from potential sibling tools like 'get_keywords_suggestions' or 'get_keywords_search_volume', which might also involve keyword generation or analysis.

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. With multiple sibling tools related to keywords, SEO, and content generation, there's no indication of specific use cases, prerequisites, or comparisons to tools like 'get_keywords_suggestions' or 'generate_social_content'.

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

get_moz_analysisC

Get Moz domain analysis data

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe domain to analyze

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does ('Get Moz domain analysis data') without mentioning any behavioral traits such as whether it's read-only, requires authentication, has rate limits, or what the output format might be. This leaves significant gaps in understanding how the tool behaves.

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

Conciseness5/5

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

The description is extremely concise with a single sentence ('Get Moz domain analysis data'), which is front-loaded and wastes no words. It efficiently conveys the core purpose without unnecessary elaboration, making it easy to parse quickly.

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 lack of annotations and output schema, the description is incomplete for a tool that likely returns complex analysis data. It doesn't explain what 'Moz domain analysis data' includes (e.g., metrics, reports, or insights), leaving the agent uncertain about the tool's capabilities and how to interpret results. This gap is significant for effective tool selection and invocation.

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?

The description adds no meaning beyond what the input schema provides. The schema has 100% coverage with a clear description for the single parameter ('domain': 'The domain to analyze'), so the baseline score is 3. The tool description does not elaborate on parameter usage, constraints, or examples.

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 Moz domain analysis data' states a clear verb ('Get') and resource ('Moz domain analysis data'), but it's vague about what specific analysis data is provided. It doesn't distinguish this tool from sibling tools like 'get_domain_info' or 'get_domain_ranking', which might also provide domain-related data from Moz or other sources.

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. With multiple sibling tools related to domain analysis (e.g., 'get_domain_info', 'get_domain_ranking', 'scrape_domain'), there's no indication of what makes this tool unique or when it should be preferred over others, leaving the agent to guess based on the tool name alone.

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

get_playwright_mcpC

Use GPT-4.1 to remote control a browser via a Playwright MCP server

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe prompt to use for remote control of the browser

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions using GPT-4.1 and remote control via Playwright, which implies AI-driven browser automation, but lacks details on permissions, rate limits, execution environment, or what 'remote control' entails (e.g., navigation, interactions, screenshots). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core functionality without unnecessary words. Every element ('Use GPT-4.1', 'remote control a browser', 'via a Playwright MCP server') contributes directly to understanding the tool's purpose, making it appropriately sized and well-structured.

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 complexity of browser remote control, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, return values, error handling, and how it integrates with sibling tools. For a tool that likely involves AI-driven automation and potentially significant side effects, more context is needed to ensure safe and effective use.

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?

The input schema has 100% description coverage, with the 'prompt' parameter documented as 'The prompt to use for remote control of the browser'. The description adds no additional parameter semantics beyond this, as it doesn't elaborate on prompt format, examples, or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

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's purpose: using GPT-4.1 to remote control a browser via a Playwright MCP server. It specifies the verb ('remote control'), resource ('browser'), and mechanism ('via Playwright MCP server'), distinguishing it from sibling tools that focus on SEO analysis, content generation, or web scraping. However, it doesn't explicitly differentiate from potential similar browser control tools that might exist in the sibling set.

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. It doesn't mention scenarios where browser remote control is appropriate compared to other sibling tools like scrape_webpage or get_serp_results, nor does it specify prerequisites or exclusions. Usage is implied by the purpose but not explicitly stated.

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

get_serp_ai_modeA

Get SERP with AI Overview and AI Mode response. Returns AI overview and AI mode response for the query. Less reliable than the 2-step process but returns results in under 30 seconds.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoThe country to search from. Default: usus
queryYesThe query to search

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: reliability concerns ('Less reliable than the 2-step process') and performance characteristics ('returns results in under 30 seconds'). However, it doesn't cover other important aspects like error handling, rate limits, authentication needs, or what 'AI Mode response' entails.

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

Conciseness5/5

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

The description is extremely concise and front-loaded: three sentences with zero waste. The first sentence states the core purpose, the second clarifies the return values, and the third provides crucial usage guidance. Every sentence earns its place.

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 annotations and no output schema, the description is moderately complete for a tool with 2 parameters. It covers purpose, return values, and trade-offs, but lacks details about output structure, error conditions, or deeper behavioral context. For a tool involving AI features and reliability concerns, more completeness would be beneficial.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters (query and country). The description doesn't add any parameter-specific information beyond what's in the schema, such as explaining how the country affects AI responses or query formatting. Baseline 3 is appropriate when schema does the heavy lifting.

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's purpose: 'Get SERP with AI Overview and AI Mode response' specifies the verb (get) and resource (SERP with AI features). It distinguishes from siblings like get_serp_html or get_serp_results by emphasizing AI-specific outputs, though it doesn't explicitly name alternatives.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool: 'Less reliable than the 2-step process but returns results in under 30 seconds' implies a trade-off between speed and reliability. It doesn't explicitly name the alternative 2-step process or specify when-not scenarios, but the guidance is practical.

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

get_serp_htmlC

Get search engine results with HTML content

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoThe country to search from. Default: usus
pages_numberNoThe number of pages to search (1-30). Default: 1
queryYesThe query to search
search_engineNoThe search engine to use (google, bing, yahoo, duckduckgo). Default: googlegoogle

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves search results with HTML content but doesn't mention rate limits, authentication needs, pagination behavior, error handling, or what 'HTML content' entails (e.g., raw HTML, structured data). For a tool with no annotation coverage, this leaves significant gaps in understanding its operational behavior.

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

Conciseness5/5

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

The description is a single, efficient sentence: 'Get search engine results with HTML content'. It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for the tool's complexity. Every part of the sentence contributes essential information.

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's moderate complexity (4 parameters, no output schema, no annotations), the description is incomplete. It lacks behavioral details (e.g., rate limits, error handling), usage guidelines compared to siblings, and clarification on the output format. Without annotations or an output schema, the description should provide more context to help an agent use the tool effectively.

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?

The input schema has 100% description coverage, with clear documentation for all four parameters (query, country, pages_number, search_engine), including defaults and constraints. The description adds no additional parameter semantics beyond what's in the schema, such as explaining how parameters interact or providing usage examples. With high schema coverage, the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Get search engine results with HTML content'. It specifies the verb ('Get'), resource ('search engine results'), and output format ('HTML content'), which is specific and actionable. However, it doesn't explicitly differentiate from sibling tools like 'get_serp_results' or 'get_serp_text', which likely provide different output formats or levels of detail.

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. It doesn't mention sibling tools like 'get_serp_results' or 'get_serp_text', nor does it specify scenarios where HTML content is preferred over other formats. There's no context about prerequisites, limitations, 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_serp_resultsC

Get search engine results

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoThe country to search from. Default: usus
pages_numberNoThe number of pages to search (1-30). Default: 1
queryYesThe query to search
search_engineNoThe search engine to use (google, bing, yahoo, duckduckgo). Default: googlegoogle

TDQS

C2.9/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 for behavioral disclosure. 'Get search engine results' implies a read operation but doesn't specify whether this is a live search, cached results, rate limits, authentication requirements, or what format the results come in. For a tool with 4 parameters and no annotations, this minimal description leaves significant behavioral questions unanswered.

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

Conciseness5/5

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

The description is maximally concise at just three words. It's front-loaded with the essential action and resource, with zero wasted words or unnecessary elaboration. This represents ideal conciseness for a tool with good schema documentation.

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 complexity of search operations, lack of annotations, and absence of an output schema, the description is insufficiently complete. It doesn't explain what format results come in, whether this is a live API call, rate limits, or how it differs from SERP sibling tools. For a tool with 4 parameters and no output schema, more context is needed.

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?

The input schema has 100% description coverage, with all 4 parameters well-documented including defaults, constraints, and allowed values. The description adds no parameter information beyond what's already in the schema, so it meets the baseline of 3 for high schema coverage without adding extra value.

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 search engine results' clearly states the verb ('Get') and resource ('search engine results'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_serp_html' or 'get_serp_text' that also retrieve search results in different formats, so it doesn't reach the highest score.

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. With multiple SERP-related siblings (get_serp_ai_mode, get_serp_html, get_serp_text), there's no indication of what distinguishes this tool from those or when it would be preferred. The description alone offers no usage context.

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

get_serp_textC

Get search engine results with text content

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoThe country to search from. Default: usus
pages_numberNoThe number of pages to search (1-30). Default: 1
queryYesThe query to search
search_engineNoThe search engine to use (google, bing, yahoo, duckduckgo). Default: googlegoogle

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read operation, the description doesn't address important behavioral aspects: whether this performs actual web searches (potentially rate-limited), what authentication might be required, what format the 'text content' returns (extracted snippets vs full pages), or any limitations beyond what the parameters suggest. The description is too minimal for a tool that likely makes external API calls.

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

Conciseness5/5

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

The description is maximally concise - a single 7-word sentence that communicates the core functionality. There's no wasted language or unnecessary elaboration. It's front-loaded with the essential information and doesn't bury key details.

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 complexity of a SERP tool (likely making external API calls, returning structured data) with no annotations and no output schema, the description is insufficient. It doesn't explain what 'text content' means in practice, how results are structured, whether pagination is handled, or any error conditions. For a tool with 4 parameters and likely complex behavior, this minimal description leaves too many questions unanswered.

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?

The input schema has 100% description coverage with clear documentation for all 4 parameters. The description adds no parameter-specific information beyond the tool's overall purpose. It doesn't explain how parameters interact (e.g., how 'country' affects results) or provide usage examples. With complete schema coverage, the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Get search engine results with text content'. It specifies the verb ('Get'), resource ('search engine results'), and key characteristic ('with text content'). However, it doesn't explicitly differentiate from sibling tools like 'get_serp_results' or 'get_serp_html', which likely provide different output formats.

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. With multiple SERP-related siblings (get_serp_results, get_serp_html, get_serp_ai_mode), there's no indication of what distinguishes this tool's 'text content' output from what those other tools provide. No context about appropriate use cases or exclusions is mentioned.

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

get_user_infoB

Get user information including API credit

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/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 for behavioral disclosure. It only states what data is returned ('user information including API credit') without describing authentication requirements, rate limits, error conditions, or response format. For a tool that likely accesses account-sensitive information, this represents significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that immediately communicates the core functionality. Every word contributes meaning without redundancy or unnecessary elaboration. The structure is front-loaded with the main purpose and includes the specific data point as additional detail.

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 likely accesses user account information (potentially sensitive), the description is incomplete. With no annotations, no output schema, and minimal behavioral disclosure, important context about authentication, response format, and usage constraints is missing. The description does the minimum for purpose but insufficiently supports safe, effective tool invocation.

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?

The tool has zero parameters with 100% schema description coverage, so the schema fully documents the parameter situation. The description appropriately doesn't discuss parameters since none exist, maintaining focus on the tool's purpose. This meets the baseline expectation for parameterless tools.

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's purpose with a specific verb ('Get') and resource ('user information'), including the specific data point 'API credit'. It distinguishes this from most siblings which focus on domains, webpages, SEO, or content generation rather than user account information. However, it doesn't explicitly differentiate from potential user-related tools that might exist in other contexts.

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. There's no mention of prerequisites, appropriate contexts, or comparison to other tools. While the purpose is clear, the complete lack of usage context leaves the agent guessing about optimal invocation timing.

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

get_webpage_ai_analysisC

Analyze a web page with AI

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe prompt to use for the analysis
urlYesThe url to analyze

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'with AI' but doesn't disclose behavioral traits like what AI model is used, rate limits, authentication needs, output format, or potential costs. This leaves significant gaps for an AI agent to understand how the tool behaves beyond basic functionality.

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

Conciseness5/5

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

The description is extremely concise at just four words, with zero wasted language. It's front-loaded with the core action and resource, making it easy to parse quickly despite its brevity.

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 complexity of AI analysis tools and lack of annotations or output schema, the description is incomplete. It doesn't explain what the analysis returns, how the AI is applied, or any constraints. For a tool with two parameters and no structured output documentation, this minimal description leaves too many unanswered questions.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters (url, prompt) clearly documented in the schema. The description adds no additional meaning about parameters beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.

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

Purpose3/5

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

The description 'Analyze a web page with AI' states the basic action (analyze) and resource (web page), but it's vague about what type of analysis is performed. It doesn't distinguish this tool from sibling tools like 'get_webpage_seo_analysis' or 'get_moz_analysis', leaving ambiguity about the specific purpose.

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. With multiple sibling tools for web analysis (e.g., get_webpage_seo_analysis, get_moz_analysis, scrape_webpage), there's no indication of what makes this AI analysis unique or when it's preferred over other options.

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

get_webpage_seo_analysisC

Get SEO analysis for a given url

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe url to analyze

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden but lacks behavioral details. It doesn't disclose whether this is a read-only operation, if it requires authentication, rate limits, what 'SEO analysis' entails (e.g., metrics, reports), or potential side effects. The description is minimal and fails to compensate for the absence of 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?

The description is a single, efficient sentence with zero waste: 'Get SEO analysis for a given url'. It is front-loaded and appropriately sized for its purpose, making it easy to parse without unnecessary elaboration.

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 complexity of SEO analysis and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the analysis includes (e.g., keywords, backlinks, performance metrics), the return format, or error handling. For a tool with no structured output and rich sibling context, more detail is needed to be fully helpful.

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

Parameters3/5

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

Schema description coverage is 100%, with the single parameter 'url' documented as 'The url to analyze'. The description adds no additional meaning beyond this, such as URL format requirements or validation rules. Baseline 3 is appropriate since the schema adequately covers the parameter semantics.

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's purpose: 'Get SEO analysis for a given url' specifies the verb ('Get'), resource ('SEO analysis'), and target ('url'). It distinguishes from some siblings like 'get_backlinks' or 'get_domain_info' by focusing on webpage-level SEO, though it doesn't explicitly differentiate from 'get_webpage_ai_analysis' which might overlap.

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. With many sibling tools like 'get_moz_analysis', 'get_serp_results', and 'get_webpage_ai_analysis', the description offers no context on selection criteria, prerequisites, or exclusions, leaving usage ambiguous.

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

scrape_domainD

Scrape a domain

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe domain to scrape
max_pagesNoThe maximum number of pages to scrape (up to 200). Default: 10

TDQS

D1.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Scrape a domain' reveals nothing about rate limits, authentication requirements, what data is extracted, whether this is a read-only operation, potential performance impacts, or any constraints beyond the implied action. This is inadequate for a tool that likely performs web crawling.

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 technically concise with only three words, this is under-specification rather than effective brevity. The description fails to provide necessary context about the tool's function, making it inefficient for agent understanding. Every sentence should earn its place, but here the single phrase doesn't provide sufficient value.

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 this is a scraping tool with no annotations, no output schema, and multiple similar sibling tools, the description is completely inadequate. It doesn't explain what 'scraping a domain' means, what data is returned, how it differs from page-level scraping tools, or any behavioral characteristics. The agent would be left guessing about fundamental aspects of the tool.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters clearly documented in the schema. The description adds no additional parameter information beyond what's already in the structured data. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even without parameter details in the description.

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 'Scrape a domain' is essentially a tautology that restates the tool name without providing meaningful detail. It specifies the verb 'scrape' and resource 'domain', but doesn't explain what scraping entails (e.g., extracting content, links, metadata) or how it differs from sibling tools like scrape_webpage or scrape_webpage_js.

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 about when to use this tool versus alternatives. With multiple scraping-related siblings (scrape_webpage, scrape_webpage_js, scrape_webpage_js_proxy), the description offers no differentiation regarding scope (domain-wide vs. single page), JavaScript rendering needs, or use cases.

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

scrape_webpageB

Scrape a web page without JS

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe url to scrape

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'without JS' which indicates a behavioral trait (no JavaScript execution), but doesn't disclose other important behaviors: whether it follows redirects, handles authentication, respects robots.txt, has rate limits, returns structured data vs. raw HTML, or error conditions. For a scraping tool with zero annotation coverage, 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.

Conciseness5/5

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

The description is extremely concise (4 words) and front-loaded with the core functionality. Every word earns its place: 'Scrape' defines the action, 'a web page' specifies the target, and 'without JS' adds crucial behavioral context. No wasted words or redundant information.

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 this is a scraping tool with no annotations, no output schema, and multiple sibling scraping tools, the description is incomplete. It doesn't explain what gets returned (HTML content? structured data?), error handling, limitations, or how it differs from other scraping tools beyond the JS aspect. For a tool in this context, more completeness is needed.

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?

The description doesn't mention parameters at all. However, schema description coverage is 100% (the single 'url' parameter is fully documented in the schema), so the baseline is 3. The description adds no additional parameter context beyond what's already in the structured schema.

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's purpose: 'Scrape a web page without JS' specifies the verb (scrape), resource (web page), and a key constraint (without JavaScript execution). It distinguishes from sibling 'scrape_webpage_js' by explicitly contrasting the JavaScript handling approach, though it doesn't mention other scraping alternatives like 'scrape_domain'.

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?

The description implies usage context by stating 'without JS', suggesting this tool is for static HTML scraping when JavaScript rendering isn't needed. However, it doesn't explicitly state when to use this vs. 'scrape_webpage_js' or 'scrape_domain', nor does it mention any prerequisites or exclusions. The guidance is present but incomplete.

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

scrape_webpage_jsC

Scrape a web page with custom JS

ParametersJSON Schema
NameRequiredDescriptionDefault
js_scriptYesThe javascript code to execute on the page
urlYesThe url to scrape

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions 'custom JS' execution but lacks critical behavioral details: whether it runs in a headless browser, handles dynamic content, respects robots.txt, has rate limits, requires authentication, or what the output format is. For a scraping tool with no annotation coverage, 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.

Conciseness5/5

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

The description is extremely concise with a single, front-loaded sentence that directly states the tool's purpose. Every word earns its place, making it efficient and easy to parse without unnecessary elaboration.

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 complexity of web scraping with JavaScript execution, no annotations, and no output schema, the description is incomplete. It fails to address key aspects like execution environment, error handling, performance constraints, or return values, leaving significant gaps for an AI agent to understand proper usage.

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

Parameters3/5

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

Schema description coverage is 100%, with clear descriptions for both parameters ('url' and 'js_script'). The description adds minimal value beyond the schema, only implying that 'js_script' is custom JavaScript code, which is already covered. Baseline 3 is appropriate when the schema does the heavy lifting.

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 ('scrape') and resource ('web page'), and specifies the distinctive feature ('with custom JS'). However, it doesn't explicitly differentiate from its sibling 'scrape_webpage' or 'scrape_webpage_js_proxy', which likely offer similar functionality without custom JavaScript execution.

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. It doesn't mention prerequisites, such as requiring JavaScript knowledge, or compare it to siblings like 'scrape_webpage' (likely for basic scraping) or 'scrape_webpage_js_proxy' (possibly for proxied execution).

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

scrape_webpage_js_proxyC

Scrape a web page with JS and proxy

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesThe country to use for the proxy
js_scriptYesThe javascript code to execute on the page
urlYesThe url to scrape

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions JS execution and proxy usage, it doesn't describe important behavioral aspects like rate limits, authentication requirements, error handling, what gets returned (HTML? structured data?), or performance characteristics. For a scraping tool with no annotation coverage, this leaves significant gaps in understanding how it behaves.

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

Conciseness5/5

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

The description is extremely concise at just 6 words, with zero wasted language. Every word contributes meaning: 'scrape' (action), 'web page' (resource), 'with JS' (capability), 'and proxy' (additional capability). It's perfectly front-loaded with the core functionality.

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?

For a scraping tool with 3 required parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns, how JavaScript execution works, proxy limitations, error conditions, or performance expectations. Given the complexity of web scraping with JS and proxies, more context is needed for the agent to use this tool effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so all parameters are documented in the schema. The description doesn't add any meaningful parameter semantics beyond what's already in the schema descriptions. It mentions 'proxy' which relates to the 'country' parameter, but doesn't provide additional context about proxy behavior, JS execution constraints, or URL requirements beyond the schema's basic descriptions.

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 ('scrape') and resource ('web page'), and specifies two key capabilities: using JavaScript execution and proxy support. However, it doesn't differentiate from sibling tools like 'scrape_webpage' or 'scrape_webpage_js', leaving some ambiguity about when this specific tool should be chosen over those alternatives.

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 about when to use this tool versus alternatives. With sibling tools like 'scrape_webpage' and 'scrape_webpage_js' available, the description doesn't explain what makes this proxy version different or when it's preferred over non-proxy scraping tools. No context about use cases or exclusions is mentioned.

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. 23 tool updatesv1.0.0
    • First observedcheck_page_indexation
    • First observedgenerate_social_content
    • First observedgenerate_wordpress_content
    • First observedget_backlinks
    • First observedget_domain_emails
    • First observedget_domain_info
    • First observedget_domain_ranking
    • First observedget_keywords_search_volume
    • First observedget_keywords_suggestions
    • First observedget_long_tail_keywords
    • First observedget_moz_analysis
    • First observedget_playwright_mcp
    • First observedget_serp_ai_mode
    • First observedget_serp_html
    • First observedget_serp_results
    • First observedget_serp_text
    • First observedget_user_info
    • First observedget_webpage_ai_analysis
    • First observedget_webpage_seo_analysis
    • First observedscrape_domain
    • First observedscrape_webpage
    • First observedscrape_webpage_js
    • First observedscrape_webpage_js_proxy

TDQS

C2.7/5.0
Disambiguation3/5

The tool set has clear distinctions in many areas, such as separate SERP retrieval methods (get_serp_results, get_serp_html, get_serp_text) and different scraping options (scrape_webpage, scrape_webpage_js, scrape_webpage_js_proxy). However, there is significant overlap between tools like get_serp_ai_mode and the other SERP tools, and between generate_social_content and generate_wordpress_content, which could cause confusion in selection despite descriptive names.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern with 'get_', 'check_', 'generate_', or 'scrape_' prefixes, making them predictable and readable. There are minor deviations, such as 'get_playwright_mcp' which includes an acronym and 'get_serp_ai_mode' that is more descriptive, but overall the naming is largely uniform and follows a clear convention.

Tool Count3/5

With 23 tools, the count is on the higher side for an SEO/SERP-focused server, bordering on heavy. While many tools serve distinct purposes, the overlap in SERP and scraping functionalities suggests some redundancy. This number is reasonable given the broad scope but could be streamlined for better coherence.

Completeness4/5

The tool set covers a wide range of SEO and web analysis tasks, including keyword research, domain analysis, content generation, and scraping. There are minor gaps, such as no explicit tools for updating or deleting data, but the surface is largely complete for the domain, allowing agents to perform comprehensive workflows without major dead ends.

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

  • A
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol server that enables AI assistants to perform real-time web searches, retrieving up-to-date information from the internet via a Crawler API.
    1
    62
    40
    ISC
  • A
    license
    C
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to search the web using Bocha AI's search API, supporting features like time filtering, domain inclusion/exclusion, and summarized results.
    1
    36
    3
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Model Context Protocol server that enables AI assistants to perform keyword research, SEO analysis, and content planning through natural language queries against kwrds.ai's SEO tools.
    7
    Apache 2.0

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/fetchSERP/fetchserp-mcp-server-node'

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