Skip to main content
Glama
SerpstatGlobal

Serpstat MCP Server

Official

Serpstat MCP Server

npm version MCP Badge License: MIT

A TypeScript server that integrates Serpstat SEO API with Anthropic's Model Context Protocol (MCP), enabling AI assistants like Claude to access comprehensive SEO data and analysis tools.

Table of Contents

Related MCP server: SE Ranking MCP Server

About MCP

The Model Context Protocol (MCP) is an open standard developed by Anthropic that enables AI assistants to securely connect to external data sources and tools. This server implements MCP to provide Claude and other compatible AI assistants with access to Serpstat's powerful SEO analytics API.

Description

This project implements a TypeScript server that provides an API interface for working with Serpstat tools via the MCP protocol. The server supports request handling, parameter validation, logging, and working with multiple SEO analysis tools.

Features

  • ๐Ÿ” Comprehensive SEO Analysis: Access domain info, keyword research, competitor analysis, and backlink data

  • โœ… Input Validation: Robust parameter validation using Zod schemas

  • ๐Ÿ“Š Event Logging: Detailed logging with Winston for debugging and monitoring

  • โš™๏ธ Flexible Configuration: Environment-based configuration with sensible defaults

  • ๐Ÿงช Well Tested: Jest tests for parameter validation and business logic

  • ๐Ÿš€ TypeScript: Full type safety throughout the codebase

Prerequisites

  • Node.js 18.0.0 or higher (Download Node.js)

  • Valid Serpstat API token (get one from Serpstat)

  • Compatible AI Assistant: Claude Desktop, Gemini CLI, or any MCP-compatible client

Installation

npm install -g @serpstat/serpstat-mcp-server

Local Installation

npm install @serpstat/serpstat-mcp-server

Configuration

Environment Variables

Set the following environment variables (can be in .env file):

  • SERPSTAT_API_TOKEN โ€” Your Serpstat API token (required)

  • SERPSTAT_API_URL โ€” Serpstat API URL (default: https://api.serpstat.com/v4)

  • LOG_LEVEL โ€” Logging level: error, warn, info, debug (default: info)

  • SERPSTAT_ENABLED_CATEGORIES โ€” Filter tools by categories (optional, comma-separated, default: all categories enabled)

Claude Desktop & Gemini CLI Configuration

Add to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

Add to your Gemini CLI config:

Linux: ~/.gemini/settings.json

{
   "mcpServers": {
      "serpstat": {
         "command": "npx",
         "args": ["-y", "@serpstat/serpstat-mcp-server"],
         "env": {
            "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE",
            "LANG": "en_US.UTF-8",
            "LC_ALL": "en_US.UTF-8"
         }
      }
   }
}

For local development, use the full path:

{
  "mcpServers": {
    "serpstat": {
      "command": "node",
      "args": ["/path/to/node_modules/serpstat-mcp-server/dist/index.js"],
      "env": {
        "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE"
      }
    }
  }
}

Filtering Tools by Category

You can limit which tools are available by specifying SERPSTAT_ENABLED_CATEGORIES environment variable. This is useful for:

  • Reducing context window usage in AI assistants

  • Focusing on specific SEO analysis areas

  • Creating specialized configurations for different use cases

Available categories:

  • domain - Domain analysis tools (domain info, competitors, domain keywords, etc.)

  • keywords - Keyword research tools (keyword suggestions, search volume, difficulty, etc.)

  • backlinks - Backlink analysis tools (backlink summary, anchors, referring domains, etc.)

  • url - URL analysis tools (URL traffic, competitors, keywords, etc.)

  • projects - Project management tools (create, list, delete projects)

  • credits - Credits and usage monitoring tools

  • rt - Rank tracking tools (rank history, SERP tracking, etc.)

  • audit - Site audit tools (full site SEO audit, error reports, etc.)

  • page-audit - One-page audit tools (single page analysis, on-page SEO, etc.)

Example: Enable only keyword and domain tools

{
  "mcpServers": {
    "serpstat": {
      "command": "npx",
      "args": ["-y", "@serpstat/serpstat-mcp-server"],
      "env": {
        "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE",
        "SERPSTAT_ENABLED_CATEGORIES": "keywords,domain"
      }
    }
  }
}

Example: Enable only backlink analysis

{
  "mcpServers": {
    "serpstat": {
      "command": "npx",
      "args": ["-y", "@serpstat/serpstat-mcp-server"],
      "env": {
        "SERPSTAT_API_TOKEN": "YOUR_SERPSTAT_API_TOKEN_HERE",
        "SERPSTAT_ENABLED_CATEGORIES": "backlinks"
      }
    }
  }
}

Default behavior (all tools enabled):

If SERPSTAT_ENABLED_CATEGORIES is not specified or is empty, all tools are available (65 total tools across all categories).

Usage Examples

After installation and configuration in Claude Desktop, you can ask Claude:

Domain Analysis

  • "Show me domain info for example.com"

  • "Find competitors for my-site.com in Google US"

  • "Get top 50 keywords that example.com ranks for"

Market Research

  • "Show me all available market research categories"

  • "Find top domains in 'E-commerce' category for Google US"

  • "Get top 20 domains in '/Arts & Entertainment/TV & Video' category sorted by traffic"

  • "Analyze competitive landscape in 'Business & Industrial' category with domains that have SDR above 50"

  • "Find leading players in 'Health & Fitness' market with minimum 100k monthly traffic"

Keyword Research

  • "Find related keywords to 'digital marketing'"

  • "Get keyword suggestions for 'iphone 15' excluding 'rent' keywords"

  • "Get comprehensive keyword data for [ iphone, samsung, googel pixel ] including search volume, CPC, and difficulty"

Competitor Analysis

  • "Show me competitor domains ranking for pizza delivery keyword with visibility metrics"

  • "Get top search results for laptop computers keyword showing positions, domains and SERP features"

  • "Get unique keywords for domain1.com vs domain2.com"

  • "Analyze backlinks summary for domain.com"

  • "Get anchor text analysis for domain.com backlinks"

  • "Get active backlinks for domain.com showing linking pages and target URLs"

  • "Get referring domains for domain.com with domain authority metrics"

  • "Get lost backlinks for domain.com showing removed links and deletion dates"

  • "Get top 10 anchors for domain.com with backlink counts and referring domains"

  • "Get backlinks intersection for domain.com vs competitor1.com and competitor2.com showing shared referring domains"

  • "Get threat backlinks for domain.com showing malicious links from sites flagged for security threats"

Project Management

  • "Create a new project for example.com named My SEO Project"

  • "List all my projects with pagination"

  • "Delete project with ID 1234567"

Credits & Usage Monitoring

  • "Show me my audit credits statistics"

  • "Check my API credits usage and remaining quota"

Rank Tracking

  • "List all my rank tracker projects"

  • "Check parsing status for project 12345 in region 2840"

Site Audit

  • "Get audit settings for project 1113915"

  • "Start site audit for project 1113915"

  • "Stop site audit for project 1113915"

MCP Tools

Domain Analysis Tools

Tool Name

Description

Key Parameters

get_domains_info

Get SEO information for multiple domains

domains, se, filters

get_domain_competitors

Get list of competitor domains

domain, se, size, filters

get_domain_keywords

Get keywords that domain ranks for

domain, se, page, size

get_domain_urls

Get URLs within a domain and their keyword counts

domain, se, page, size

get_domain_regions_count

Get keyword count by region for a domain

domain, sort, order

get_domain_uniq_keywords

Get unique keywords for two domains not ranked by a third domain

se, domains, minusDomain

get_market_categories

Get complete list of 1000+ market research categories

none

get_category_top_domains

Get top-performing domains in a specific market category with SEO metrics

category_id, se, filters, sort, page, size

Keyword Research Tools

Tool Name

Description

Key Parameters

get_keywords

Get related organic keywords for a given keyword

keyword, se, filters

get_related_keywords

Get semantically related keywords with frequency, CPC, competition, and difficulty data

keyword, se, filters, sort

get_keyword_suggestions

Get search suggestions for a keyword using full-text search with geographic names info

keyword, se, filters

get_keywords_info

Get keyword overview with volume, CPC, competition, difficulty, and SERP features

keywords, se, withIntents

get_keyword_full_top

Get Google's top-100 search results for analyzed keywords

keyword, se, size

get_keyword_top_urls

Get website pages that rank for the largest amount of analyzed keyword variations

keyword, se, page, page_size

get_keyword_competitors

Get domains that rank for the given keyword in Google top-20 results with competitor analysis

keyword, se, filters, sort

get_keyword_top

Get Google's top-100 search results for the analyzed keyword with position, URL, and SERP features

keyword, se, filters, size

URL Analysis Tools

Tool Name

Description

Key Parameters

get_url_summary_traff

Get traffic and keyword statistics for website pages matching a specific URL mask

se, domain, urlContains

get_url_competitors

Get list of URL competitors showing domains competing for same keywords in top-10 results

se, url, sort, page

get_url_keywords

Get keywords for which specified URL ranks in top-100 Google and top-50 Bing search results

se, url, filters, sort

get_url_missing_keywords

Get keywords that competitors rank for but the given URL does not, identifying keyword gaps

url, se, filters, sort

Tool Name

Description

Key Parameters

get_backlinks_summary

Get comprehensive backlinks summary with referring domains, quality metrics, and changes

domain, subdomain

get_anchors

Get anchor text analysis for backlinks with metrics on referring domains and backlinks

query, searchType, anchor, sort

get_active_backlinks

Get a list of active backlinks showing linking pages, target pages, and link attributes

query, searchType, sort, page

get_referring_domains

Get a list of referring domains with domain rank metrics and referring pages count

query, searchType, sort, page

get_lost_backlinks

Get a list of lost backlinks showing linking pages, target pages, and deletion dates

query, searchType, sort, page

get_top_pages_by_backlinks

Get a list of top pages by backlinks with various filtering and sorting parameters

query, searchType, sort, size

get_top10_anchors

Get TOP-10 anchors with the number of backlinks and referring domains

query, searchType

get_backlinks_intersection

Get backlinks from domains that link to multiple analyzed sites for competitive analysis

query, intersect, sort, page

get_active_outlinks

Get active outbound links from a domain or URL with target URLs and anchor text

query, searchType, sort, filters

get_active_outlink_domains

Get external domains that receive outbound links from analyzed domain

query, searchType, sort, filters

get_threat_backlinks

Get malicious backlinks pointing to analyzed domain from sites flagged for security threats

query, searchType, sort, filters

Project Management Tools

Tool Name

Description

Key Parameters

create_project

Create a new project in Serpstat for tracking SEO metrics and site audits

domain, name, groups

delete_project

Delete an existing project from Serpstat by project ID

project_id

list_projects

Retrieve a list of projects associated with the account with pagination

page, size

Credits & Usage Monitoring Tools

Tool Name

Description

Key Parameters

get_credits_for_audit_stats

Check available audit credits (one-page audit, JavaScript scanning, crawl limits) No cost

none

get_credits_stats

Check API credits usage, account info, and browser plugin limits No cost

none

Rank Tracking Tools

Tool Name

Description

Key Parameters

get_rt_projects_list

Get rank tracker projects with ID, name, domain, creation date, and tracking status No cost

page, pageSize

get_rt_project_status

Check if rank tracker project is parsing (true=processing, false=ready) No cost

projectId, regionId

get_rt_project_regions_list

Get list of regions for a rank tracker project with status, SERP type, device, and location No cost

projectId

get_rt_project_keyword_serp_history

Get Google's top-100 SERP history for rank tracker keywords with positions and URLs No cost

projectId, projectRegionId, page

get_rt_project_url_serp_history

Get ranking history of URLs for rank tracker keywords with historical position data No cost

projectId, projectRegionId, page

Site Audit Tools

Tool Name

Description

Key Parameters

get_site_audit_settings

Get audit settings for a project including scan parameters, scheduling, and error thresholds No cost

projectId

set_site_audit_settings

Update audit settings for a project with scan configuration, scheduling, and notifications No cost

projectId, mainSettings, ...

start_site_audit

Start audit session for a project and receive reportId for tracking progress (1 credit/page, 10 credits/page with JS rendering)

projectId

stop_site_audit

Stop active audit session for a project No cost

projectId

get_site_audit_results_by_categories

Get audit results statistics grouped by issue categories (pages status, meta tags, links, etc.) No cost

reportId

get_site_audit_history

Get historical error count data for a specific error type across multiple audit reports No cost

projectId, errorName, limit, offset

get_site_audits_list

Get list of all audit reports for a project with summary statistics and progress information No cost

projectId, limit, offset

get_site_audit_scanned_urls_list

Get list of URLs that will be scanned based on project scan settings No cost

projectId

get_site_audit_project_default_settings

Get default audit settings template to use when creating new projects No cost

-

get_site_audit_bref_info

Get essential summary information from latest audit including SDO score, issue counts by priority, scan progress, and completion status No cost

reportId

get_site_audit_deteailed_report

Get number of errors categorized by type with comparison to previous report showing countAll, countNew, and countFixed No cost

reportId, compareReportId (optional)

get_site_audit_pages_spec_errors

Get list of all pages where a specific error was detected with filtering by mode (all/new/solved) and pagination support No cost

reportId, compareReportId, projectId, errorName, mode, limit, offset

get_site_audit_elements_with_issues

Get list of sub-elements (URLs) containing specific errors using CRC from get_site_audit_pages_spec_errors response No cost

reportId, projectId, errorName, crc, compareReportId (optional), mode, limit, offset

One Page Audit Tools

Tool Name

Description

Key Parameters

page_audit_start_scan

Scan a single webpage with JavaScript rendering. Returns pageId and reportId for tracking. Use page_audit_get_reports_for_page to check progress via status and progress fields (10 credits per scan)

name, url, userAgent (recommended: 0 for Chrome), httpAuthLogin (optional), httpAuthPass (optional)

page_audit_get_last_scans

Get list of all one-page audit projects with pageId, url, name, status, lastActiveReport (latest scan results with SDO score), finishedReportCount, settings No cost

limit (optional, default 30), offset (optional, default 0), teamMemberId (optional)

page_audit_get_reports_for_page

Get history of all audit reports for a specific page with reportId, auditDate, status (1=in progress, 3=finalizing, 4=completed), SDO score (0-100), error counts, progress (0-100) No cost

pageId, limit (optional), offset (optional)

page_audit_get_results_report

Get detailed audit results with categories array (errors grouped by meta_tags, headings, content, multimedia, https, pagespeed_desktop/mobile, etc), hasAdditionRows flag for drill-down availability No cost

pageId (from page_audit_get_last_scans or page_audit_start_scan)

page_audit_rescan

Rescan existing one-page audit project and create new audit report. Returns reportId. Track progress via page_audit_get_reports_for_page (10 credits per rescan)

pageId, name, userAgent (recommended: 0 for Chrome), httpAuthLogin (optional), httpAuthPass (optional)

page_audit_stop

Stop active one-page audit scan. Returns boolean indicating success No cost

pageId

page_audit_delete

Remove one-page audit project from customer project list permanently. Returns boolean No cost

pageId

page_audit_get_report_by_categories

Get audit results by categories for specific report. Use compareReportId to see countNew (errors added) and countFixed (errors resolved) No cost

reportId, compareReportId (optional, enables change tracking)

page_audit_report_drill_down

Get detailed problematic elements list. ONLY works for errors with hasAdditionRows=true. Response varies by error type (e.g., image URLs for multimedia errors) No cost

reportId, error (must match error.key), mode (all/new/solved, optional), compareReportId (optional), page (optional), size (optional, max 1000)

page_audit_get_scan_names

Get list of all one-page audit project names with pageId, name, url, finishedReportCount for project discovery No cost

teamMemberId (optional)

page_audit_scan_logs

Get chronological log of scan events with message (event name), type (info/warning/error), params (event-specific data or []), created_at timestamp for debugging No cost

reportId (optional, all scans if not specified), page (optional, default 0), pageSize (optional, default 100)

Search Engines (se parameter)

Common search engine codes:

  • g_us - Google USA

  • g_uk - Google United Kingdom

  • g_ca - Google Canada

  • g_au - Google Australia

  • g_de - Germany

  • g_fr - Google France

  • g_es - Google Spain

  • g_it - Google Italy

  • g_pl - Google Poland

  • g_ua - Google Ukraine

See a full list of Search Engines Short Names

Troubleshooting

Common Issues

"Command not found: serpstat-mcp-server"

  • Make sure you installed the package globally with -g flag

  • Verify your PATH includes npm global binaries: npm config get prefix

  • Try reinstalling: npm uninstall -g @serpstat/serpstat-mcp-server && npm install -g @serpstat/serpstat-mcp-server

"API token error" or "Unauthorized"

  • Check that SERPSTAT_API_TOKEN is set correctly in your environment

  • Verify your token is valid and active in your Serpstat account

  • Ensure your token has sufficient API credits and permissions

"Module not found" errors

  • Make sure all dependencies are installed: npm install

  • Try rebuilding: npm run clean && npm run build

Claude Desktop doesn't recognize the server

  • Restart Claude Desktop after configuration changes

  • Check the config file path and JSON syntax

  • Verify the server starts correctly: run serpstat-mcp-server in terminal

"Can't find npx"

Rate limit errors

  • Most Serpstat plans have 1 RPS (1 request per second) limit

  • Wait between requests or contact Serpstat support for higher limits

  • Check your API usage in the Serpstat dashboard

Debug Mode

Enable debug logging by setting:

export LOG_LEVEL=debug

Or in your Claude Desktop config:

{
   "mcpServers": {
      "serpstat": {
         "command": "npx",
         "args": ["-y", "@serpstat/serpstat-mcp-server"],
         "env": {
            "SERPSTAT_API_TOKEN": "YOUR_TOKEN_HERE",
            "LANG": "en_US.UTF-8",
            "LC_ALL": "en_US.UTF-8",
            "LOG_LEVEL": "debug"
         }
      }
   }
}

Development

Getting Started

  1. Clone the repository:

    git clone git@github.com:SerpstatGlobal/serpstat-mcp-server-js.git
    cd serpstat-mcp-server-js
  2. Install dependencies:

    npm install
  3. Set environment variables:

    cp .env.example .env
    # Edit .env with your Serpstat API token
  4. Build the project:

    npm run build
  5. Start the server:

    npm start
  6. For development mode (auto-reload):

    npm run dev

Testing

To run tests:

npm test

Run specific test file:

npx jest src/__tests__/services/keyword_tools.test.ts

Run specific test by name:

npx jest --testNamePattern="methodName"

Scripts

  • npm run build โ€” Compile TypeScript sources to JavaScript (output in dist/)

  • npm start โ€” Run the compiled server from dist/

  • npm run dev โ€” Run the server in development mode with hot-reload

  • npm test โ€” Run all tests

  • npm run lint โ€” Run linting

  • npm run clean โ€” Clean build directory

Project Structure

serpstat-mcp-server/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ index.ts          # Entry point
โ”‚   โ”œโ”€โ”€ server.ts         # Main MCP server
โ”‚   โ”œโ”€โ”€ handlers/         # Tool handlers
โ”‚   โ”œโ”€โ”€ services/         # Services for Serpstat API
โ”‚   โ”œโ”€โ”€ types/            # Data types
โ”‚   โ”œโ”€โ”€ utils/            # Utilities (config, logger, validation)
โ”‚   โ””โ”€โ”€ __tests__/        # Tests
โ”œโ”€โ”€ dist/                 # Compiled JavaScript (after build)
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tsconfig.json
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ .env.example

API Rate Limits

By default, most Serpstat plans have 1 RPS (1 request per second) - this is sufficient for most tasks. If you need higher throughput, contact Serpstat support to discuss plan upgrades.

Important: The server respects rate limits automatically. If you encounter rate limit errors, wait before making additional requests.

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/amazing-feature

  3. Make your changes

  4. Add tests for new functionality

  5. Ensure tests pass: npm test

  6. Commit your changes: git commit -m 'Add amazing feature'

  7. Push to the branch: git push origin feature/amazing-feature

  8. Submit a pull request

Development Guidelines

  • Follow existing code style and TypeScript conventions

  • Add tests for new features

  • Update documentation as needed

  • Use conventional commit messages

  • Ensure all linting passes: npm run lint

Changelog

See CHANGELOG.md for details about changes in each version.

Support

The most effective way to receive support from Serpstat is to use their live chat feature directly within the platform. Alternatively, you can email them at support@serpstat.com.

Acknowledgments

License

MIT License

This project is under MIT license, which means you can copy, use, modify, and even sell any part of this code without any hassle.

  • See the LICENSE file for details

  • Want to grab a chunk for your project? Go for it

  • Want to rewrite half of it and ship a commercial product? Be my guest

  • The only thing you need to do is not delete the copyright and the license itself from the files you take, and remember the Serpstat team with a kind word when you get that paycheck

With love, Serpstat R&D Team

Available Tools

65 tools
create_projectC

Create a new project in Serpstat for tracking SEO metrics and site audits

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe domain associated with the project (e.g., example.com)
nameYesThe name of the project. Can be the same as the domain or a custom name
groupsNoOptional list of groups to associate with the project. Groups will be created if they don't exist

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 states 'Create a new project' which implies a write/mutation operation, but doesn't disclose behavioral traits like required permissions, rate limits, whether creation is idempotent, or what happens on failure. For a mutation tool with zero annotation coverage, 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 action ('Create a new project') and purpose. There's zero wasteโ€”every word contributes to understanding the tool's function. It's appropriately sized for a creation tool with good schema coverage.

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 mutation tool (creating projects) with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after creation (e.g., returns a project ID, triggers audits), error conditions, or system behavior. For a tool that modifies state, more contextual information is needed beyond the basic purpose statement.

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 parameter documentation in the schema (domain, name, groups). The description adds no parameter-specific information beyond what's already in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in 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 action ('Create a new project') and resource ('in Serpstat'), with specific purpose ('for tracking SEO metrics and site audits'). It distinguishes from siblings like 'list_projects' or 'delete_project' by focusing on creation, though it doesn't explicitly contrast with them. The purpose is specific but lacks explicit sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'list_projects' for viewing existing projects or 'delete_project' for removal. It mentions the general purpose but offers no context about prerequisites, timing, or exclusions. Usage is implied rather than explicitly stated.

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

delete_projectA

Permanently delete your project from Serpstat by project ID. CRITICAL: ALWAYS request explicit user confirmation before executing. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesThe unique ID of the project to delete

TDQS

A4.6/5.0
Behavior5/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 effectively describes key behavioral traits: the permanence of the action ('permanently delete'), the irreversible nature ('cannot be undone'), and the critical safety requirement ('request explicit user confirmation'). This covers essential aspects like destructiveness and user interaction needs.

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 concise and front-loaded, consisting of two sentences that directly convey the purpose and critical guidelines. Every sentence earns its place: the first states the action and resource, and the second provides essential safety instructions without unnecessary details.

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

Completeness4/5

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

Given the tool's high complexity (destructive deletion), lack of annotations, and no output schema, the description is mostly complete. It covers purpose, guidelines, and behavioral transparency effectively. However, it does not mention potential errors (e.g., invalid project ID) or response details, leaving minor gaps in 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?

The input schema has 100% description coverage, with the parameter 'project_id' well-documented as 'The unique ID of the project to delete.' The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the specific action ('permanently delete'), the resource ('your project from Serpstat'), and the method ('by project ID'). It distinguishes itself from sibling tools like 'create_project' and 'list_projects' by focusing on deletion rather than creation or listing.

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

Usage Guidelines5/5

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

The description explicitly provides usage guidelines with the critical instruction: 'ALWAYS request explicit user confirmation before executing.' It also warns 'This action cannot be undone,' which implicitly guides when not to use it (e.g., without confirmation or for reversible actions).

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

get_anchorsC

Get anchor text analysis for backlinks using Serpstat API. Returns anchor texts used in backlinks, with metrics including referring domains, total backlinks, and nofollow counts for domain or URL analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDomain, subdomain, or URL to analyze
searchTypeYesType of search query
anchorNoFilter by specific anchor text
countNoNumber of words in anchor text filter
sortNoSort results by field (total, refDomains, nofollow, anchor, lastupdate)lastupdate
orderNoSort order (asc, desc)desc
pageNoPage number for pagination
sizeNoNumber of results per page

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 states the tool 'Returns anchor texts used in backlinks, with metrics including referring domains, total backlinks, and nofollow counts,' which describes output content but lacks critical behavioral details. It doesn't mention rate limits, authentication requirements, pagination behavior (implied by 'page' and 'size' parameters but not explained), error handling, or whether it's a read-only operation. For a tool with 8 parameters and no annotation coverage, this is insufficient.

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

Conciseness4/5

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

The description is concise and well-structured in two sentences: the first states the purpose and technology, the second details the return metrics. It's front-loaded with the core function and avoids unnecessary fluff. However, it could be slightly more efficient by integrating the technology mention ('using Serpstat API') into the first clause without losing clarity.

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 complexity (8 parameters, no annotations, no output schema), the description is incomplete. It covers the basic purpose and output metrics but misses crucial context: no guidance on usage vs. siblings, limited behavioral transparency, and no explanation of how parameters like 'count' or 'sort' affect results. For a data retrieval tool in a crowded namespace of backlink-related tools, this leaves significant gaps for an agent to operate 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 description adds minimal parameter semantics beyond the input schema. It mentions 'domain or URL analysis' which relates to the 'query' and 'searchType' parameters, and 'anchor text' which relates to the 'anchor' parameter, but doesn't explain how these interact or provide usage examples. With 100% schema description coverage, the schema already documents all parameters thoroughly, so the baseline is 3. The description doesn't compensate with additional insights like parameter interdependencies or practical tips.

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 anchor text analysis for backlinks using Serpstat API.' It specifies the action ('Get'), resource ('anchor text analysis for backlinks'), and technology ('Serpstat API'). However, it doesn't explicitly differentiate from sibling tools like 'get_top10_anchors' or 'get_active_backlinks', which appear related to backlink analysis, leaving some ambiguity about when to choose this specific tool.

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

Usage Guidelines2/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 mentions 'domain or URL analysis' but doesn't specify scenarios, prerequisites, or comparisons with sibling tools (e.g., 'get_top10_anchors' for top anchors or 'get_active_backlinks' for active backlinks). This lack of context makes it difficult for an agent to select this tool appropriately among many backlink-related options.

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

get_category_top_domainsA

Get top-performing domains in a specific market category with SEO metrics (traffic, visibility, keywords, backlinks, SDR). Requires category_id from get_market_categories - call that method first to find the right category. Returns ranked domains for competitive landscape analysis with filtering and sorting options.

ParametersJSON Schema
NameRequiredDescriptionDefault
category_idYesCategory identifier in format .X.Y.Z. (e.g., '.2.' for Arts & Entertainment or '.2.13.1.' for Arts & Entertainment/TV & Video/Online Video). Get this from get_market_categories method.
seYesSearch engine database (e.g., g_us for Google US)
filtersNoFilter conditions. All filters support exact value, min threshold, and max threshold.
sortNoSort field (global_rank, category_rank, traffic, visibility, keywords, referring_domains, backlinks, sdr)global_rank
orderNoSort order (asc or desc)asc
pageNoPage number
sizeNoNumber of results per page (allowed values: 20, 50, 100, 200, 500)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions the tool 'Returns ranked domains' and includes 'filtering and sorting options,' which gives some behavioral insight. However, it lacks details on rate limits, authentication needs, pagination behavior (beyond parameters), or error handling, leaving gaps for a tool with 7 parameters and no output schema.

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

Conciseness4/5

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

The description is front-loaded with the core purpose, followed by prerequisites and return context. It uses three sentences efficiently, with no redundant information. However, it could be slightly more structured by separating usage notes from output details, but overall it's concise and well-organized.

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 complexity (7 parameters, nested objects, no output schema, and no annotations), the description is moderately complete. It covers purpose, prerequisites, and high-level output, but lacks details on behavioral traits like rate limits or error handling. Without annotations or output schema, it should provide more context on what the ranked domains output looks like, but it's adequate for basic understanding.

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 thoroughly. The description adds minimal value beyond the schema, mentioning 'SEO metrics (traffic, visibility, keywords, backlinks, SDR)' and 'filtering and sorting options,' but does not explain parameter interactions or provide additional context. Baseline 3 is appropriate as the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Get top-performing domains in a specific market category with SEO metrics (traffic, visibility, keywords, backlinks, SDR).' It specifies the verb ('Get'), resource ('top-performing domains'), and scope ('in a specific market category'), distinguishing it from sibling tools like 'get_domain_competitors' or 'get_domains_info' by focusing on category-based ranking with SEO metrics.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: 'Requires category_id from get_market_categories - call that method first to find the right category.' It names the prerequisite tool ('get_market_categories') and specifies when to use this tool ('for competitive landscape analysis'), offering clear context for selection over alternatives like general domain info tools.

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

get_credits_for_audit_statsA

Check available audit credits including one-page audit, JavaScript scanning, and page crawl limits. Use this before running site audits to verify available resources. This method does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/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 successfully communicates that this is a read-only operation ('check available audit credits') and explicitly states it doesn't consume API credits, which is crucial behavioral information. However, it doesn't mention response format, error conditions, or rate limits.

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

Conciseness5/5

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

The description is perfectly sized at two sentences with zero waste. The first sentence states the purpose and scope, while the second provides crucial usage guidance and behavioral information. Every word earns its place.

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

Completeness4/5

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

For a zero-parameter tool with no output schema, the description provides excellent context about what information is returned (audit credit types) and important behavioral characteristics (non-consumptive). The main gap is the lack of information about response format, but given the tool's simplicity, this is a minor omission.

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 0 parameters with 100% schema description coverage, so the baseline would be 3. The description adds value by explaining the semantic context of what credits are being checked ('audit credits including one-page audit, JavaScript scanning, and page crawl limits'), which provides useful information beyond the empty parameter schema.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('check available audit credits') and resources ('one-page audit, JavaScript scanning, and page crawl limits'). It distinguishes from sibling tools like 'get_credits_stats' by focusing specifically on audit-related credits rather than general credit statistics.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('Use this before running site audits to verify available resources') and includes an important exclusion ('This method does not consume API credits'), which helps differentiate it from potentially credit-consuming operations among siblings.

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

get_credits_statsA

Check available API credits, usage statistics, account information, and browser plugin limits. Perfect for monitoring API usage and planning resource-heavy operations. This method does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/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 discloses key behavioral traits: it 'does not consume API credits,' which is crucial for understanding its impact. However, it lacks details on rate limits, authentication needs, or response format, leaving some gaps in transparency for a tool with no 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 concise and well-structured: two sentences that efficiently convey the tool's function, usage context, and a key behavioral trait ('does not consume API credits'). Every sentence adds value without redundancy, making it easy to understand quickly.

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

Completeness4/5

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

Given the tool's complexity (simple, no parameters) and lack of annotations and output schema, the description is fairly complete. It covers purpose, usage, and a critical behavioral aspect. However, it could improve by detailing the response format or error handling, which would enhance completeness for a tool with no structured output documentation.

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 0 parameters with 100% schema description coverage, so the schema fully documents the inputs. The description does not need to add parameter information, and it appropriately focuses on the tool's purpose and behavior. A baseline of 4 is given as it compensates well for the lack of parameters by providing clear context.

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 available API credits, usage statistics, account information, and browser plugin limits.' It uses specific verbs ('check') and resources ('API credits,' 'usage statistics,' etc.), making the function evident. However, it does not explicitly differentiate from sibling tools like 'get_credits_for_audit_stats,' which might offer overlapping functionality, preventing a perfect score.

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 usage: 'Perfect for monitoring API usage and planning resource-heavy operations.' This gives practical guidance on when to use the tool. However, it does not specify when not to use it or name alternatives among siblings, such as 'get_credits_for_audit_stats,' which could be relevant for more specific scenarios.

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

get_domain_competitorsB

Get a list of competitor domains for a given domain, including visibility, traffic, and relevance.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to analyze
seYesSearch engine database ID
sizeNoNumber of results to return
filtersNoOptional filter conditions

TDQS

B3.1/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 what data is returned (visibility, traffic, relevance), it doesn't address critical aspects like whether this is a read-only operation, potential rate limits, authentication requirements, data freshness, or error conditions. For a tool with no annotation coverage, this leaves 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 front-loads the core purpose and key return data. Every word earns its place with no redundancy or unnecessary elaboration, making it easy for an agent to quickly understand the tool's function.

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 (4 parameters, nested objects, no output schema, and no annotations), the description is minimally adequate. It states what the tool does but lacks crucial context about when to use it, behavioral characteristics, and how it differs from similar sibling tools. The absence of output schema means the description should ideally provide more detail about return values.

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 thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it mentions 'domain' and the returned data fields but provides no additional context about parameter interactions, default behaviors, or practical usage examples.

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 a list of competitor domains for a given domain, including visibility, traffic, and relevance.' It specifies the verb ('Get'), resource ('competitor domains'), and key data points returned. However, it doesn't explicitly differentiate from sibling tools like 'get_url_competitors' or 'get_keyword_competitors', which appear to serve similar competitive analysis functions.

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 sibling tools like 'get_url_competitors' and 'get_keyword_competitors' available, there's no indication of whether this tool is for domain-level analysis specifically, nor any prerequisites or context for its application.

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

get_domain_keywordsC

Get keywords that domain ranks for in Google search results. Includes position, traffic, difficulty analysis with comprehensive SEO insights and performance metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to analyze
seYesSearch engine database IDg_us
withSubdomainsNoInclude subdomains in analysis
withIntentsNoInclude keyword intents (works for g_ua and g_us only)
urlNoSpecific URL to filter results
keywordsNoArray of keywords to search for
minusKeywordsNoArray of keywords to exclude from search
pageNoPage number
sizeNoNumber of results per page
sortNoSort configuration
filtersNoFilter conditions

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. While it mentions what data is returned (keywords with position, traffic, difficulty analysis), it lacks critical behavioral information: whether this is a read-only operation, any rate limits, authentication requirements, data freshness, or pagination behavior (despite having page/size parameters). The description doesn't contradict annotations since none exist, but it's insufficient for a complex 11-parameter tool.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core purpose. Every element ('Get keywords that domain ranks for', 'Google search results', 'position, traffic, difficulty analysis', 'comprehensive SEO insights and performance metrics') contributes meaning without redundancy. However, it could be slightly more structured by separating core function from included metrics.

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 complex tool with 11 parameters, nested objects, no annotations, and no output schema, the description is inadequate. It doesn't explain the relationship between parameters (e.g., how filters interact with keywords arrays), doesn't describe the return format despite rich filtering capabilities, and provides no behavioral context. The description fails to compensate for the lack of structured metadata about this sophisticated analysis 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%, so the schema already documents all 11 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema descriptions. It mentions 'comprehensive SEO insights and performance metrics' which aligns with the detailed filter and sort parameters, but provides no additional semantic context about parameter usage or relationships.

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 keywords that domain ranks for in Google search results' with specific details about included metrics (position, traffic, difficulty analysis, SEO insights, performance metrics). It distinguishes from siblings like 'get_keywords' by focusing on domain-specific ranking analysis, though it doesn't explicitly compare to alternatives like 'get_domain_uniq_keywords'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for keyword and domain analysis (e.g., 'get_keywords', 'get_domain_uniq_keywords', 'get_url_keywords'), there's no indication of when this specific domain-focused keyword ranking tool is preferred over other keyword-related tools.

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

get_domain_regions_countA

REQUIRED FIRST STEP ONLY IF DOMAIN ANALYSIS for domain analysis: Determines optimal regional database (se parameter) by analyzing domain keyword presence across all Google regions. This tool identifies which regional database contains the most keyword data for the domain, ensuring subsequent analysis uses the correct market context. Returns: keyword count by country, regional performance comparison, and identifies primary market for the domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to analyze
sortNoSort by field
orderNoSort order

TDQS

A4.1/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 of behavioral disclosure. It does well by describing what the tool returns ('keyword count by country, regional performance comparison, and identifies primary market'), which is valuable behavioral information. However, it doesn't mention potential limitations like rate limits, authentication requirements, data freshness, or error conditions that would be helpful for a tool with no 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?

The description is appropriately sized and front-loaded with the most critical information ('REQUIRED FIRST STEP...'). All sentences earn their place by explaining purpose, usage context, and return values. It could be slightly more concise by combining some clauses, but overall it's well-structured with no wasted words.

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

Completeness4/5

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

Given the tool's complexity (regional analysis with 3 parameters) and no output schema, the description does a good job explaining what the tool returns. However, with no annotations and no output schema, it could benefit from more detail about the format/structure of the return data (e.g., is it a list, object, or table?) and any behavioral constraints. The description is mostly complete but has minor gaps in fully documenting the tool's behavior.

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?

With 100% schema description coverage, the baseline is 3. The description doesn't add specific parameter semantics beyond what's in the schema (domain, sort, order). It mentions 'domain keyword presence' which relates to the domain parameter, but doesn't provide additional context about parameter interactions, default behaviors, or practical usage examples that would enhance understanding beyond the schema's technical definitions.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('determines optimal regional database', 'analyzing domain keyword presence', 'identifies which regional database contains the most keyword data') and distinguishes it from siblings by positioning it as a 'REQUIRED FIRST STEP ONLY IF DOMAIN ANALYSIS' for subsequent domain analysis tools. It goes beyond the name to explain the core function of regional optimization for keyword data analysis.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: it states this is a 'REQUIRED FIRST STEP ONLY IF DOMAIN ANALYSIS' and explains its role in 'ensuring subsequent analysis uses the correct market context.' This clearly indicates when to use this tool (as a prerequisite for domain analysis) versus when not to use it (for non-domain analysis tasks), and implies alternatives would be other domain analysis tools that follow this initial step.

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

get_domains_infoB

Get comprehensive SEO information for multiple domains including visibility, keywords, traffic, and dynamics

ParametersJSON Schema
NameRequiredDescriptionDefault
domainsYesList of domains to analyze (1-100 domains)
seYesSearch engine database (e.g., g_us for Google US)
filtersNoOptional filters for the results

TDQS

B3.1/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-only operation, it doesn't address critical aspects like rate limits, authentication requirements, data freshness, or error handling. For a tool that likely queries external SEO databases, this lack of behavioral context 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 a single, efficient sentence that front-loads the core purpose. Every word earns its place: 'Get' (action), 'comprehensive SEO information' (scope), 'multiple domains' (target), and the four specific data types. There's no wasted verbiage or redundant information.

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 tells what the tool does but lacks context about when to use it, behavioral constraints, or output format. For a tool that likely returns rich SEO data, the description should provide more guidance about the nature and structure of returned information.

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 fully documents all parameters. The description adds no parameter-specific semantics beyond what's in the schema. It mentions 'multiple domains' which aligns with the 'domains' parameter, but provides no additional context about the 'se' or 'filters' parameters. Baseline 3 is appropriate when the schema does all the work.

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 comprehensive SEO information for multiple domains including visibility, keywords, traffic, and dynamics.' It specifies the verb ('Get'), resource ('multiple domains'), and scope of information. However, it doesn't explicitly differentiate from sibling tools like 'get_domain_keywords' or 'get_domain_competitors' that might provide overlapping or related SEO data.

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 many sibling tools focused on specific SEO aspects (e.g., 'get_domain_keywords', 'get_backlinks_summary'), there's no indication of when this comprehensive tool is preferred over more targeted ones. It mentions 'multiple domains' but doesn't specify prerequisites or exclusions.

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

get_domain_uniq_keywordsC

Returns unique keywords of two domains for which a third domain does not rank. Equivalent to a Domain vs domain report.

ParametersJSON Schema
NameRequiredDescriptionDefault
seYesSearch engine database IDg_us
domainsYesArray of domains to analyze for unique keywords (min 1, max 2)
minusDomainYesDomain with keywords which must not intersect with domains parameter
pageNoPage number
sizeNoNumber of results per page
filtersNoFilter conditions for unique keywords

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 states the tool returns data ('Returns unique keywords'), implying a read-only operation, but doesn't mention any behavioral traits such as rate limits, authentication requirements, data freshness, or pagination behavior (though pagination parameters exist in the schema). This is inadequate for a tool with complex parameters and no 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?

The description is concise with two sentences that directly state the tool's purpose and provide a contextual analogy ('Equivalent to a Domain vs domain report'). It's front-loaded with the core functionality, though the second sentence could be more informative. There's no wasted text, making it efficient for an agent to parse.

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 complexity (6 parameters, nested objects, no output schema, and no annotations), the description is insufficient. It doesn't explain the output format, pagination behavior, or how filters interact with domain comparisons. Without annotations or an output schema, the agent lacks critical context for proper tool invocation and result interpretation.

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%, so the schema already documents all parameters thoroughly. The description adds minimal value by implying the tool compares domains ('two domains' vs 'third domain'), but doesn't explain parameter interactions or provide additional context beyond what's in the schema. This meets the baseline 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 clearly states the tool's purpose: 'Returns unique keywords of two domains for which a third domain does not rank.' It specifies the verb ('returns'), resource ('unique keywords'), and scope ('two domains' vs 'third domain'). However, it doesn't explicitly differentiate from sibling tools like 'get_domain_keywords' or 'get_keywords', which might have overlapping functionality.

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

Usage 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 mentions 'Equivalent to a Domain vs domain report,' which hints at a use case but doesn't specify prerequisites, exclusions, or compare it to sibling tools like 'get_domain_keywords' or 'get_keywords_info' that might serve similar purposes. This leaves the agent without clear usage context.

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

get_domain_urlsA

Get URLs within a domain and keyword count for each URL. Analyze URL structure, performance distribution, and identify top-performing pages. Each URL costs 1 API credit, minimum 1 credit per request.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to analyze
seYesSearch engine database IDg_us
filtersNoURL filtering options
sortNoSort configuration
pageNoPage number
sizeNoNumber of results per page

TDQS

A3.8/5.0
Behavior4/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 effectively describes key behavioral traits: it performs analysis (not just data retrieval), discloses cost implications ('Each URL costs 1 API credit, minimum 1 credit per request'), and implies pagination through parameters. However, it doesn't specify rate limits, authentication needs, or what happens with invalid domains, leaving some gaps for a tool with 6 parameters.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by analysis details and cost information. Every sentence adds value, with no redundant or vague phrasing. It could be slightly more structured by separating purpose from operational details, but it remains efficient and clear.

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 complexity (6 parameters, nested objects, no output schema, and no annotations), the description is moderately complete. It covers purpose, analysis scope, and costs, but lacks details on output format, error handling, or performance characteristics. Without annotations or output schema, the description should do more to guide the agent on what to expect from the tool's behavior and results.

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 thoroughly. The description adds no specific parameter semantics beyond what's in the schemaโ€”it doesn't explain how 'domain' interacts with 'filters' or how 'sort' affects the analysis. With high schema coverage, the baseline is 3, and the description doesn't compensate with additional insights.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs and resources: 'Get URLs within a domain and keyword count for each URL. Analyze URL structure, performance distribution, and identify top-performing pages.' It distinguishes itself from siblings by focusing on domain URL analysis with keyword counts, unlike tools like 'get_domain_keywords' or 'get_url_keywords' which focus on keywords rather than URL enumeration and analysis.

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 for analyzing domain URLs and performance, but does not explicitly state when to use this tool versus alternatives like 'get_url_summary_traff' or 'get_top_pages_by_backlinks'. It mentions API credit costs, which provides some operational context, but lacks clear guidance on scenarios where this tool is preferred over other domain or URL analysis tools in the sibling list.

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

get_keyword_competitorsB

Lists the domains that rank for the given keyword in Google top-20 results. Shows detailed competitor analysis including visibility metrics, traffic data, keyword dynamics, and relevance scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword to search for competitors
seYesSearch engine database ID
filtersNoFilters for search. Fields are combined using the AND logic
sortNoOrder of sorting the results in the format: field: order (e.g., {"region_queries_count": "desc"})
sizeNoNumber of results per page in response

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 the full burden of behavioral disclosure. While it mentions the tool lists domains and shows analysis metrics, it doesn't cover critical aspects like whether this is a read-only operation, potential rate limits, authentication requirements, data freshness, or pagination behavior. For a tool with 5 parameters and complex filtering, 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.

Conciseness4/5

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

The description is efficiently structured in two sentences that convey the core functionality and output details without unnecessary elaboration. It's appropriately front-loaded with the main purpose. However, it could be slightly more concise by combining related concepts.

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 5 parameters, complex nested filtering, no annotations, and no output schema, the description is inadequate. It doesn't explain the return format, error conditions, performance characteristics, or how the various metrics (visibility, traffic, relevance) are calculated or interpreted. The description leaves too many contextual gaps for effective agent 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 description mentions 'keyword' and implies filtering capabilities through 'detailed competitor analysis', but adds minimal semantic value beyond the schema. With 100% schema description coverage, the schema already documents all 5 parameters thoroughly. The description doesn't explain parameter interactions, default behaviors, or practical usage examples beyond what's in the schema.

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

Purpose5/5

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

The description clearly states the specific action ('Lists the domains that rank'), target resource ('for the given keyword in Google top-20 results'), and output details ('detailed competitor analysis including visibility metrics, traffic data, keyword dynamics, and relevance scores'). It distinguishes from siblings like 'get_domain_competitors' by focusing on keyword-based competitor analysis rather than domain-based.

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 like 'get_domain_competitors' or 'get_keyword_top', nor does it mention prerequisites, exclusions, or specific contexts. It simply states what the tool does without indicating when it's the appropriate choice.

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

get_keyword_full_topC

Shows Google's top-100 search results for the analyzed keyword. Returns detailed information about domains ranking for the keyword including their visibility, organic/PPC keywords count, SDR score, and backlink metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword to search for
seYesSearch engine database ID
sortNoOrder of sorting the results in the format: field: order
sizeNoNumber of results per page in response (minimum 10, maximum 100)

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 returns data (implying read-only) and specifies the scope (top-100 results), but doesn't mention rate limits, authentication needs, pagination behavior, data freshness, or error conditions. For a tool with 4 parameters and complex sorting options, this leaves 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.

Conciseness4/5

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

The description is efficiently structured in two sentences: the first states the core function, and the second details the return metrics. It's front-loaded with the main purpose and avoids unnecessary words, though it could be slightly more concise by integrating the two sentences.

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 complexity (4 parameters with nested sorting, no output schema, no annotations), the description is minimally adequate. It covers the purpose and return metrics but lacks behavioral context, usage guidelines, and output format details. The high schema coverage helps, but for a data retrieval tool with sibling alternatives, more contextual guidance 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 documents all parameters thoroughly. The description adds minimal value beyond the schema by implying the 'keyword' parameter is for analysis and mentioning metrics that correlate with sortable fields, but doesn't explain parameter interactions or provide usage examples. 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 'shows Google's top-100 search results for the analyzed keyword' and specifies it returns detailed domain metrics like visibility, organic/PPC keywords count, SDR score, and backlink metrics. It uses specific verbs ('shows', 'returns') and identifies the resource (search results/domains), but doesn't explicitly differentiate from sibling tools like 'get_keyword_top' or 'get_keyword_top_urls'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, exclusions, or compare it to sibling tools like 'get_keyword_top' (which might return less detailed data) or 'get_keyword_top_urls' (which might focus on URLs rather than domains). Usage is implied only by the tool's name and description.

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

get_keywordsC

Shows organic keywords related to the researched keyword for which domains rank in Google top 100. For each found keyword, displays its search volume, CPC, and competition level.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword for finding related keywords
seYesSearch database IDg_us
minusKeywordsNoKeywords to exclude from search
withIntentsNoWhether to include keyword intents
pageNopage number
sizeNoresults per page
sortNoSorting parameters for results
filtersNoResults filters

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 the output format ('displays its search volume, CPC, and competition level') but lacks critical details like pagination behavior, rate limits, authentication requirements, error conditions, or whether this is a read-only operation. For a tool with 8 parameters and complex filtering, this is insufficient.

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

Conciseness4/5

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

The description is appropriately concise with two clear sentences. The first sentence establishes the core purpose, and the second specifies the output metrics. There's no wasted verbiage, though it could be slightly more structured for complex parameter guidance.

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 8 parameters, complex nested objects, no annotations, and no output schema, the description is incomplete. It doesn't explain the relationship between parameters, how filtering/sorting works, what the response structure looks like, or any behavioral constraints. The agent would struggle to use this effectively without trial and error.

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 thoroughly. The description adds minimal value beyond the schema - it mentions the 'keyword' parameter implicitly and hints at output metrics that correlate with some filterable fields. No additional parameter semantics are provided beyond what's 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: 'Shows organic keywords related to the researched keyword for which domains rank in Google top 100.' It specifies the action ('shows'), resource ('organic keywords'), and scope ('Google top 100'), but doesn't explicitly differentiate from sibling tools like 'get_related_keywords' or 'get_keyword_suggestions'.

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

Usage 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, suggest scenarios for usage, or indicate prerequisites. The agent must infer usage from the purpose alone.

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

get_keywords_infoC

Get keyword overview showing volume, CPC, competition level, difficulty, and additional metrics for multiple keywords. Provides comprehensive analysis including search volume, cost per click, competition levels, SERP features, and keyword intents.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYesArray of keywords to analyze (1-1000 keywords)
seYesSearch engine database ID
withIntentsNoInclude keyword intents (works for g_ua and g_us only)
sortNoSort configuration
filtersNoFilter conditions

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. While it mentions what metrics are returned, it doesn't describe important behavioral aspects like rate limits, authentication requirements, whether this is a read-only operation, potential costs/credits usage, or how results are structured/paginated. For a tool with 5 parameters and complex filtering/sorting capabilities, 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.

Conciseness4/5

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

The description is appropriately concise with two sentences that efficiently convey the tool's purpose and scope. The first sentence clearly states what the tool does, and the second sentence elaborates on the types of metrics included. There's no wasted language or redundancy.

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 5 parameters (including complex nested objects for sorting and filtering), no annotations, and no output schema, the description is insufficient. It doesn't explain the relationship between parameters, how filtering/sorting affects results, what the output format looks like, or any limitations/constraints. The agent would need to rely heavily on the schema alone to understand how 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 the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema - it mentions 'multiple keywords' (implied by the array parameter) and 'keyword intents' (covered in the schema's withIntents description). The description doesn't provide additional context about parameter interactions or usage patterns that aren't already in the 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: 'Get keyword overview showing volume, CPC, competition level, difficulty, and additional metrics for multiple keywords.' It specifies the verb ('Get') and resource ('keyword overview'), and lists key metrics. However, it doesn't explicitly differentiate from sibling tools like 'get_keywords' or 'get_keyword_top', which appear to be related keyword analysis tools.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools like 'get_keywords', 'get_keyword_top', and 'get_keyword_suggestions', there's no indication of what makes this tool unique or when it's the appropriate choice. The description mentions 'comprehensive analysis' but doesn't clarify how this differs from other keyword tools.

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

get_keyword_suggestionsC

Shows search suggestions for the keyword you requested (they are found by the full-text search). Returns keyword suggestions with geographic names information.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword to search for suggestions
seYesSearch engine database ID
filtersNoFilter conditions
pageNoPage number in response
sizeNoNumber of results per page in response

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. While it mentions the tool 'shows' and 'returns' suggestions, it doesn't address important behavioral aspects: whether this is a read-only operation, if there are rate limits, authentication requirements, what happens with invalid inputs, or how the full-text search behaves. The description provides basic functional information but lacks operational context.

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

Conciseness4/5

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

The description is efficiently structured in two sentences that convey the core functionality. The first sentence states what the tool does, and the second specifies what it returns. There's no wasted language, though it could be slightly more front-loaded by mentioning the geographic information aspect earlier.

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 (5 parameters, nested objects, no output schema, no annotations), the description is minimally adequate. It explains what the tool does at a high level but lacks details about the return format, pagination behavior, error handling, or how the suggestions are ranked/ordered. Without annotations or output schema, more behavioral context would be helpful for proper 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?

The schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema - it mentions 'keyword' generically but doesn't explain the 'se' parameter's country codes or the 'filters' object. With complete schema coverage, the baseline score of 3 is appropriate as the description doesn't 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: 'Shows search suggestions for the keyword you requested' and specifies that these suggestions are 'found by the full-text search' and include 'geographic names information'. It uses specific verbs ('shows', 'returns') and identifies the resource (keyword suggestions), but doesn't explicitly differentiate from sibling tools like 'get_keywords' or 'get_related_keywords'.

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

Usage 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 many sibling tools like 'get_keywords', 'get_keywords_info', and 'get_related_keywords', there's no indication of when this specific keyword suggestion tool is appropriate versus those other keyword-related tools. No prerequisites, exclusions, or comparative context is provided.

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

get_keyword_topB

Shows Google's top-100 search results for the analyzed keyword. Returns position data, URLs, domains, subdomains, and SERP feature types. This method is deprecated but still functional.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword to search for
seYesSearch engine database ID
filtersNoFilters for search results
sizeNoNumber of results per page in response

TDQS

B3.2/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 the tool is 'deprecated but still functional,' which is useful context about its lifecycle, but fails to describe critical behaviors like rate limits, authentication needs, response format, pagination, or error handling for a tool with complex filtering parameters.

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

Conciseness4/5

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

The description is efficiently structured in two sentences: the first states the core functionality and return data, the second adds important behavioral context (deprecation). It's front-loaded with key information and has no wasted words.

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 complexity (4 parameters with nested objects, no output schema, no annotations), the description is minimally adequate. It covers the core purpose and deprecation status but lacks details on output structure, error cases, or integration with sibling tools, leaving gaps for an AI agent to use it correctly.

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 fully documents all parameters. The description adds no parameter-specific semantics beyond implying keyword analysis and Google search results, which are already covered by parameter descriptions. 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.

Purpose5/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 specific verbs ('Shows Google's top-100 search results') and resources ('for the analyzed keyword'), and distinguishes it from siblings like 'get_keyword_full_top' by specifying it returns position data, URLs, domains, subdomains, and SERP feature 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 like 'get_keyword_full_top' or 'get_keyword_top_urls', nor does it mention prerequisites or exclusions. The only contextual note is that it's deprecated but functional, which is not usage guidance.

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

get_keyword_top_urlsB

Returns website pages that rank for the largest amount of the analyzed keyword variations and have the highest traffic. Shows URLs with keyword count, estimated traffic, and Facebook shares.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYesKeyword to search for
seNoSearch engine database ID
sortNoSorting by parameters (any field in urls section of response: url, keywords, traff, fbShares)
orderNoSorting orderdesc
pageNoPage number
page_sizeNoNumber of results per page (allowed values: 10, 20, 30, 50, 100, 200, 500)

TDQS

B3.1/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 what data is returned ('URLs with keyword count, estimated traffic, and Facebook shares') but lacks critical behavioral details: whether this is a read-only operation, if it requires authentication, rate limits, pagination behavior beyond parameters, or potential errors. For a tool with 6 parameters and 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 concise and well-structured in two sentences: the first states the tool's purpose and selection criteria, and the second lists the returned data fields. Every sentence adds value without redundancy, making it easy to parse and understand quickly.

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 complexity (6 parameters, no annotations, no output schema), the description is moderately complete. It covers the tool's purpose and output fields but lacks behavioral context, usage guidelines, and detailed parameter explanations. For a data retrieval tool in a suite with many siblings, it should provide more guidance on when to use it and how results are structured, but it meets a basic threshold.

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 minimal parameter semantics beyond the input schema, which has 100% coverage with detailed descriptions for all parameters. It implies the 'keyword' parameter is used for searching and mentions output fields ('keyword count, estimated traffic, Facebook shares') that relate to sorting options, but doesn't explain parameter interactions or provide examples. With high schema coverage, the baseline is 3, and the description doesn't add substantial value to elevate it.

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: 'Returns website pages that rank for the largest amount of the analyzed keyword variations and have the highest traffic.' It specifies the verb ('returns'), resource ('website pages'), and criteria ('rank for keyword variations with highest traffic'). However, it doesn't explicitly differentiate from sibling tools like 'get_keyword_top' or 'get_keyword_full_top', which appear related but have unclear distinctions.

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 needing a project or specific data setup, or compare it to siblings like 'get_keyword_top' or 'get_keyword_full_top'. The usage context is implied but not explicitly stated, leaving the agent to infer based on the tool name and description alone.

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

get_market_categoriesA

Get complete list of available market research categories (1000+ categories). Use this method first to find the appropriate category_id for your analysis. Returns hierarchical categories like '/Arts & Entertainment/TV & Video/Online Video' with their IDs (e.g., '.2.13.1.'). The category_id is required for get_category_top_domains method.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does well by describing the return format ('hierarchical categories like /Arts & Entertainment/TV & Video/Online Video with their IDs e.g. .2.13.1.'), the scale ('1000+ categories'), and that it's a foundational lookup operation. It doesn't mention rate limits or authentication needs, but provides substantial behavioral context.

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

Conciseness5/5

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

Three tightly focused sentences with zero waste: first states purpose and scale, second provides usage guidance, third describes return format and connection to other tools. Every sentence earns its place and information is front-loaded.

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

Completeness5/5

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

For a zero-parameter lookup tool with no annotations and no output schema, the description provides complete context: purpose, scale, usage sequence, return format with examples, and connection to downstream tools. No additional information is needed for effective use.

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 0 parameters, and the description correctly states 'No parameters required - returns all available market categories' (mirroring the schema description). With 100% schema coverage and no parameters, the baseline would be 4, and the description appropriately confirms this.

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

Purpose5/5

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

The description clearly states the specific action ('Get complete list'), resource ('market research categories'), and scope ('1000+ categories'). It distinguishes from sibling tools like 'get_category_top_domains' by explaining this tool provides category IDs needed for that other tool.

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

Usage Guidelines5/5

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

Explicitly states 'Use this method first to find the appropriate category_id for your analysis' and mentions the specific sibling tool 'get_category_top_domains' that requires the output. This provides clear when-to-use guidance and references an alternative tool.

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

get_referring_domainsB

Get a list of referring domains using Serpstat API. Returns referring domains that link to the analyzed site with domain rank metrics, referring pages count, and filtering options for comprehensive backlink analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDomain to analyze for referring domains
searchTypeNoType of search query (domain, domain_with_subdomains)domain
sortNoSort results by field (domain_links, domain_from, domain_rank, check)check
orderNoSort order (asc, desc)
pageNoPage number for pagination
sizeNoNumber of results per page

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 the full burden. It mentions the API source (Serpstat) and return data (referring domains with metrics and filtering), but fails to disclose critical behavioral traits such as whether this is a read-only operation, potential rate limits, authentication needs, pagination behavior beyond parameters, or error handling. For a tool with 6 parameters and no annotation coverage, 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.

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core action ('Get a list of referring domains') and includes key details (API source, return metrics, filtering). There's no wasted text, but it could be slightly more structured by separating functional and contextual elements. Overall, it's appropriately sized and clear.

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 complexity (6 parameters, no output schema, no annotations), the description is moderately complete. It covers the purpose and high-level functionality but lacks details on behavioral aspects like pagination, errors, or API constraints. Without annotations or an output schema, the description should do more to compensate, but it provides a basic foundation that's adequate yet with clear gaps.

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 each parameter well-documented in the schema (e.g., 'query' as 'Domain to analyze for referring domains'). The description adds minimal value beyond the schema by mentioning 'filtering options' and 'comprehensive backlink analysis', which loosely relates to parameters like 'sort' and 'searchType', but doesn't provide additional syntax, format, or usage details. 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 tool's purpose: 'Get a list of referring domains using Serpstat API' with specific resources (referring domains) and metrics (domain rank, referring pages count). It distinguishes from siblings like 'get_active_backlinks' or 'get_backlinks_summary' by focusing on domains rather than individual backlinks or summaries. However, it doesn't explicitly contrast with all similar tools (e.g., 'get_active_outlink_domains'), keeping it from a perfect score.

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 for 'comprehensive backlink analysis' with filtering options, suggesting it's for detailed domain-level backlink insights. However, it lacks explicit guidance on when to use this tool versus alternatives like 'get_backlinks_summary' or 'get_active_backlinks', and doesn't mention prerequisites or exclusions. The context is clear but not fully directive.

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

get_rt_project_keyword_serp_historyA

Get complete Google top-100 SERP history for tracked keywords in a rank tracker project. Returns full competitor analysis with historical positions, URLs, domains, and search volumes for each date. WARNING: This method returns large datasets (full top-100 for each keyword/date combination). Recommended pageSize: 20-50 for most use cases. Use date filters and keyword filters to reduce response size. Supports keyword tagging for grouping and filtering. This method does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject identifier
projectRegionIdYesRegion ID for the project. Required. Get from get_rt_project_regions_list method. Each project can track multiple regions. See region reference: https://docs.google.com/spreadsheets/d/1LUDtm-L1qWMVpmWuN-nvDyYFfQtfiXUh5LIHE8sjs0k/edit?gid=75443986#gid=75443986
pageYesPage number for pagination. Starts at 1.
pageSizeNoNumber of keywords per page. Allowed values: 20, 50, 100, 500. RECOMMENDED: Use 20 or 50 to avoid response truncation due to large dataset sizes. Each keyword returns full top-100 SERP for all dates.
dateFromNoStart date of the period in YYYY-MM-DD format (e.g., '2025-09-01'). Use to filter historical data and reduce response size.
dateToNoEnd date of the period in YYYY-MM-DD format (e.g., '2025-09-30'). Use to filter historical data and reduce response size.
sortNoSort results by 'keyword' (alphabetically) or 'date' (chronologically). Default is 'date'.
orderNoSorting order: 'asc' (oldest first) or 'desc' (newest first). Default is 'desc'.
keywordsNoFilter by specific keywords (max 1000 keywords)
withTagsNoInclude keyword tags in the response. Tags are used to group and categorize keywords in the project. Set to true to receive tag IDs and values for each keyword.

TDQS

A4.2/5.0
Behavior4/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 effectively describes key behaviors: returns large datasets (full top-100 for each keyword/date), includes competitor analysis with historical data, does not consume API credits, and warns about response size management. It lacks details on error handling or rate limits, but covers essential operational traits.

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 well-structured and front-loaded with the core purpose, followed by important warnings and usage tips. Every sentence earns its place by adding critical information about dataset size, recommendations, filtering, tagging, and API credit impact, with no redundant or verbose content.

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

Completeness4/5

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

Given the complexity (10 parameters, no output schema, no annotations), the description does a strong job by explaining the tool's purpose, behavioral traits, and usage guidance. It could improve by detailing the output structure (e.g., format of returned data) since there's no output schema, but it adequately covers input handling and operational context for 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?

Schema description coverage is 100%, so the schema already documents all 10 parameters thoroughly. The description adds marginal value by mentioning keyword tagging (related to 'withTags') and filtering recommendations (implied for 'dateFrom', 'dateTo', 'keywords'), but does not provide significant additional semantics beyond what the schema descriptions already cover.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Get complete Google top-100 SERP history for tracked keywords in a rank tracker project.' It specifies the verb ('Get'), resource ('SERP history'), and scope ('tracked keywords in a rank tracker project'), distinguishing it from siblings like 'get_rt_project_url_serp_history' which focuses on URLs rather than keywords.

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 usage context with warnings about large datasets and recommendations for pageSize (20-50), plus advice to use date and keyword filters to reduce response size. It mentions keyword tagging for grouping/filtering but does not explicitly state when NOT to use this tool or name specific alternatives among siblings, though it implies it's for keyword-based SERP history.

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

get_rt_project_regions_listA

Get the list of regions configured for a rank tracker project, including region ID, status (active/inactive), SERP type (organic/paid), device type (desktop/mobile), search engine, and location details. This method does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject identifier

TDQS

A4/5.0
Behavior4/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 effectively describes the tool as a read operation ('Get') and explicitly states 'does not consume API credits', which is crucial behavioral context not inferable from the schema. However, it lacks details on error handling, rate limits, or authentication needs, leaving some 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, well-structured sentence that front-loads the core purpose and efficiently lists the returned data fields. The second sentence adds critical behavioral information without redundancy. Every part earns its place, making it appropriately sized and zero-waste.

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

Completeness4/5

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

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is largely complete: it specifies the purpose, data returned, and key behavioral trait (no API credit consumption). However, it lacks output format details (e.g., structure of the list) and error scenarios, which could be helpful despite the absence of an output schema.

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 single parameter 'projectId' documented as 'Project identifier'. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't enhance parameter understanding.

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

Purpose5/5

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

The description clearly states the verb ('Get') and resource ('list of regions configured for a rank tracker project'), specifying the exact data returned (region ID, status, SERP type, device type, search engine, location details). It distinguishes from siblings like 'get_rt_projects_list' (lists projects) and 'get_rt_project_status' (gets project status), making the purpose specific and well-differentiated.

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 when needing region details for a rank tracker project, but provides no explicit guidance on when to use this tool versus alternatives like 'get_domain_regions_count' or 'get_rt_project_status'. It mentions 'does not consume API credits', which offers some context but lacks clear when/when-not scenarios or named alternatives.

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

get_rt_projects_listA

Get a list of rank tracker projects including project ID, name, domain, creation date, and tracking status. This method does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number in the projects list
pageSizeNoNumber of results per page. Allowed values: 20, 50, 100, 500

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it's a read operation (implied by 'Get'), specifies the data fields returned, and importantly notes 'This method does not consume API credits'โ€”a critical piece of operational context not inferable from the schema alone.

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 two sentences, front-loaded with the core purpose, followed by an important behavioral note. Every word earns its place with zero waste, making it highly efficient and easy to parse.

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

Completeness4/5

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

Given the tool's low complexity (simple list retrieval), 100% schema coverage, and no output schema, the description is nearly complete: it states purpose, data fields, and a key behavioral trait (no API credit cost). It lacks details on pagination behavior or error handling, but for this context, it's sufficient.

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%, so the schema fully documents both parameters (page and pageSize). The description adds no parameter-specific information beyond what the schema provides, resulting in the baseline score of 3 for adequate but no extra value.

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

Purpose5/5

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

The description clearly states the verb 'Get' and resource 'list of rank tracker projects', specifying the exact data fields included (project ID, name, domain, creation date, tracking status). It distinguishes from siblings like 'list_projects' by explicitly mentioning 'rank tracker' projects and the no-API-credit consumption.

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 ('Get a list of rank tracker projects') and implicitly suggests an alternative (e.g., 'list_projects' might be for different project types). However, it doesn't explicitly state when not to use it or name specific alternatives, keeping it at a 4.

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

get_rt_project_statusA

Get the current status of position updates (parsing) for a rank tracker project and region. Use this to check if data is ready before requesting results. This method does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject identifier
regionIdYesSearch region ID (see https://docs.google.com/spreadsheets/d/1LUDtm-L1qWMVpmWuN-nvDyYFfQtfiXUh5LIHE8sjs0k/edit?gid=75443986#gid=75443986)

TDQS

A4.4/5.0
Behavior4/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 successfully communicates key behavioral traits: it's a read-only status check (implied by 'Get the current status'), it doesn't consume API credits (explicitly stated), and it serves as a prerequisite check before data requests. However, it doesn't mention potential rate limits, authentication requirements, or error conditions.

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 perfectly concise with three sentences that each serve distinct purposes: stating the tool's function, providing usage guidance, and disclosing cost behavior. There's zero wasted language, and the most important information (what the tool does) comes first.

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

Completeness4/5

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

For a simple status-check tool with 2 parameters and 100% schema coverage, the description provides excellent context. It explains the tool's purpose, when to use it, and key behavioral aspects (no API credit consumption). The main gap is the lack of output schema, but for a status check tool, the description adequately conveys what information will be returned (parsing status/readiness).

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. The description doesn't add any parameter-specific information beyond what's in the schema (projectId and regionId are clearly defined there). The baseline score of 3 is appropriate when the schema does all the parameter documentation work.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('Get the current status of position updates (parsing)') and identifies the target resource ('rank tracker project and region'). It distinguishes itself from sibling tools by focusing on status checking rather than data retrieval or project management operations.

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

Usage Guidelines5/5

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

The description explicitly provides usage guidance: 'Use this to check if data is ready before requesting results.' This gives clear context for when to use this tool (as a readiness check) versus when to use data retrieval tools. It also specifies 'This method does not consume API credits,' which helps with cost-aware decision making.

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

get_rt_project_url_serp_historyA

Get ranking history showing only YOUR domain's positions across all tracked keywords. Unlike get_rt_project_keyword_serp_history (which shows full top-100), this method returns only positions where your specified domain/URL ranks. Perfect for tracking your own performance over time without competitor noise. Returns historical position data, search volumes, and optional keyword tags. This method does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesRank tracker project ID. Required. Get from get_rt_projects_list method.
projectRegionIdYesRegion ID for the project. Required. Get from get_rt_project_regions_list method. Each project can track multiple regions. See region reference: https://docs.google.com/spreadsheets/d/1LUDtm-L1qWMVpmWuN-nvDyYFfQtfiXUh5LIHE8sjs0k/edit?gid=75443986#gid=75443986
pageYesPage number for pagination. Starts at 1.
pageSizeNoNumber of keywords per page. Allowed values: 20, 50, 100, 500. Recommended: 100 for most use cases (response is much smaller than get_rt_project_keyword_serp_history since it only shows your domain's positions).
dateFromNoStart date of the period in YYYY-MM-DD format (e.g., '2025-09-01'). Filters historical data to this date range.
dateToNoEnd date of the period in YYYY-MM-DD format (e.g., '2025-09-30'). Filters historical data to this date range.
sortNoSort results by 'keyword' (alphabetically) or 'date' (chronologically). Default is 'keyword'.
orderNoSorting order: 'asc' (oldest first) or 'desc' (newest first). Default is 'desc'.
keywordsNoFilter results by specific keywords (max 1000 keywords). Returns only data for the specified keywords where your domain ranks.
withTagsNoInclude keyword tags in the response. Tags are used to group and categorize keywords in the project. Set to true to receive tag IDs and values for each keyword.
domainNoDomain or URL to track. Accepts: 'domain.com' (tracks all URLs from this domain), 'subdomain.domain.com' (tracks specific subdomain), or full URL 'https://domain.com/page' (tracks specific page). Do NOT include protocol for domain-level tracking.

TDQS

A4.4/5.0
Behavior4/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 effectively communicates key behavioral traits: it's a read operation (implied by 'Get'), specifies what data is returned ('historical position data, search volumes, and optional keyword tags'), and importantly discloses that 'This method does not consume API credits' - a critical operational detail not captured elsewhere.

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 efficiently structured with three sentences that each serve distinct purposes: stating the core functionality, differentiating from alternatives, and providing additional behavioral context. There is no wasted text, and the most critical information (what the tool does and how it differs) appears first.

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

Completeness4/5

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

For a complex tool with 11 parameters and no output schema, the description provides strong contextual completeness. It clearly explains the tool's purpose, differentiation, and key behavioral aspects. The main gap is the lack of output format details (what the return structure looks like), but given the detailed parameter schema and clear functional description, it's mostly sufficient for agent understanding.

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%, so the schema already documents all 11 parameters thoroughly. The description adds minimal parameter-specific information beyond what's in the schema, mentioning only that it returns data 'where your specified domain/URL ranks' (related to the 'domain' parameter). This meets the baseline expectation when schema coverage is complete.

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

Purpose5/5

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

The description clearly states the specific action ('Get ranking history'), resource ('YOUR domain's positions'), and scope ('across all tracked keywords'). It explicitly distinguishes this tool from its sibling 'get_rt_project_keyword_serp_history' by contrasting their outputs (domain-only vs. full top-100), providing excellent differentiation.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('Perfect for tracking your own performance over time without competitor noise') and directly names the alternative sibling tool ('Unlike get_rt_project_keyword_serp_history'). It also includes a practical usage scenario that helps the agent understand the appropriate context.

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

get_site_audit_bref_infoA

Get quick summary of a single audit for dashboard display. Returns: sdo (0-100 score), highCount/mediumCount/lowCount/informationCount (errors by priority), checkedPageCount (pages scanned), progress (0-100), stoped flag, captchaDetected flag, redirectCount. Lightweight method, does not consume API credits. For detailed analysis use get_site_audit_results_by_categories or get_site_audit_deteailed_report.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportIdYesThe unique identifier for an audit report

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it's 'lightweight', 'does not consume API credits', and lists specific return fields like scores and flags. However, it doesn't mention error handling, rate limits, or authentication needs, leaving some 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 efficiently structured with two sentences: the first front-loads the purpose and return values, and the second provides usage guidelines and alternatives. Every sentence adds value without redundancy, making it appropriately sized and easy to parse.

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

Completeness4/5

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

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is largely complete: it explains the purpose, usage, behavior, and return values. However, without an output schema, it could benefit from more detail on return value formats or error cases, but it covers the essentials well.

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 'reportId' parameter. The description adds no additional parameter details beyond what the schema provides, so it meets the baseline of 3 without compensating for any gaps.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verb ('Get quick summary') and resource ('a single audit'), distinguishing it from siblings like 'get_site_audit_deteailed_report' and 'get_site_audit_results_by_categories' by emphasizing it's for 'dashboard display' and 'lightweight'. It explicitly contrasts with detailed analysis tools.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('for dashboard display', 'lightweight method') and when to use alternatives ('For detailed analysis use get_site_audit_results_by_categories or get_site_audit_deteailed_report'), including a clear exclusion for detailed scenarios.

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

get_site_audit_deteailed_reportA

Get COMPLETE error breakdown organized by categories. Main method for detailed audit analysis. Returns categories array, each with errors array containing: key (error identifier like 'no_desc', 'h1_missing'), priority (high/medium/low/information), countAll (total errors), countNew (new vs compareReportId), countFixed (fixed vs compareReportId). Use compareReportId parameter to track changes between audits. Use error.key with get_site_audit_history (track across all audits) or get_site_audit_pages_spec_errors (see affected pages). Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportIdYesThe unique identifier for an audit report
compareReportIdNoAnother unique identifier for an audit report from the same project to compare

TDQS

A4.5/5.0
Behavior4/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 effectively describes the return structure (categories array with errors containing specific fields like key, priority, countAll, countNew, countFixed) and explicitly states 'Does not consume API credits,' which is valuable operational context. However, it doesn't mention potential rate limits, error handling, or authentication requirements.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded, starting with the core purpose. Every sentence adds value: the first defines the tool, the second details the return structure, the third explains parameter usage, the fourth links to sibling tools, and the fifth provides API credit information. It could be slightly more structured with bullet points for the return fields.

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

Completeness4/5

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

Given the tool's complexity (detailed error analysis with comparison capabilities) and lack of output schema, the description does an excellent job explaining the return structure and how to use the parameters. It covers the key aspects needed for an agent to understand what the tool does and how to interpret results. The only minor gap is the absence of explicit error handling or pagination details.

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 schema description coverage is 100%, so the baseline is 3. The description adds significant value by explaining the semantic purpose of compareReportId ('to track changes between audits') and how it relates to the output fields (countNew, countFixed). This contextual information goes beyond the schema's technical documentation of parameter types and constraints.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('Get COMPLETE error breakdown organized by categories') and resource ('detailed audit analysis'). It distinguishes from siblings by specifying it's the 'Main method for detailed audit analysis' and mentions related tools like get_site_audit_history and get_site_audit_pages_spec_errors for different purposes.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool vs alternatives: 'Main method for detailed audit analysis' establishes primary use, and it specifies when to use sibling tools ('Use error.key with get_site_audit_history... or get_site_audit_pages_spec_errors...'). It also explains the purpose of the compareReportId parameter for tracking changes between audits.

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

get_site_audit_elements_with_issuesA

DRILL-DOWN STEP 2: Shows WHERE a problematic element is used. Use crc from get_site_audit_pages_spec_errors response. ONLY works for hierarchical errors (images, scripts, links). Does NOT work for page-level errors (no_desc, no_title, h1_missing) - returns 'Error don't have sub elements'. Example: Step 1 finds image without alt (imageCrc=12345), Step 2 shows which pages use that image. The crc parameter must match urlCrc/imageCrc from previous method. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportIdYesThe unique identifier for an audit report
compareReportIdNoAnother unique identifier for an audit report from the same project to compare
projectIdYesThe unique identifier for an audit site project
errorNameYesError name to filter by
modeNoError display mode: all (all errors), new (new errors), solved (fixed errors)all
limitNoCount of returned items in response
offsetNoBatch number required for pagination
crcYesURL CRC from get_site_audit_pages_spec_errors response

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by explaining the tool's limitations (only works for hierarchical errors, not page-level ones), its dependency on a previous step's output (crc parameter), and a key operational detail ('Does not consume API credits'). However, it lacks information on error handling beyond one example, response format, or pagination behavior, leaving some gaps.

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

Conciseness4/5

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

The description is well-structured and front-loaded with the core purpose. It uses clear bullet-like points and an example to illustrate usage. While slightly verbose due to the example and clarifications, every sentence adds value (e.g., distinguishing error types, explaining parameter linkage), making it efficient overall.

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

Completeness4/5

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

For a tool with 8 parameters, no annotations, and no output schema, the description does a good job covering the essential context: purpose, usage workflow, limitations, and key parameter semantics. It explains the tool's role in a two-step process and its constraints. However, it doesn't describe the output format or full error scenarios, which would be helpful given the lack of structured output information.

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 8 parameters thoroughly. The description adds value by explaining the 'crc' parameter's source and purpose (must match urlCrc/imageCrc from previous method), but doesn't provide additional context for other parameters like 'reportId', 'errorName', or pagination parameters. Given the high schema coverage, a baseline score of 3 is appropriate as the description compensates partially but not extensively.

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

Purpose5/5

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

The description clearly states the tool's purpose: it's a drill-down step that shows WHERE a problematic element is used, specifically for hierarchical errors like images, scripts, and links. It distinguishes itself from siblings by explicitly mentioning it's 'Step 2' and referencing 'get_site_audit_pages_spec_errors' as the previous step, making its role in a workflow evident.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool: as a follow-up to 'get_site_audit_pages_spec_errors' for hierarchical errors, using a crc from that response. It also clearly states when NOT to use it: for page-level errors like 'no_desc, no_title, h1_missing', specifying it returns an error in those cases. This covers both usage context and exclusions effectively.

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

get_site_audit_historyA

Track how a SPECIFIC error type changed over time across all audits in project. Returns array with reportId, date, and count for each audit. Use this to: verify if fixes are working (count should decrease), monitor if errors are growing, track specific problem areas. The errorName must be from the fixed enum list (same as error.key from get_site_audit_deteailed_report). Example: errorName='no_desc' shows trend of pages without meta description. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject ID to get error history for
errorNameYesError type name (e.g., h1_missing, no_desc, long_title)
limitNoNumber of history items to return
offsetNoOffset for pagination

TDQS

A4.4/5.0
Behavior4/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 effectively discloses key behavioral traits: it's a read-only operation (implied by 'track' and 'returns'), has no API credit consumption ('Does not consume API credits'), and clarifies scope ('across all audits in project'). However, it doesn't mention rate limits, authentication needs, or error handling.

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 efficiently structured with zero waste: it opens with the core purpose, states the return format, lists three specific use cases, provides parameter guidance with an example, and ends with a key operational note. Every sentence adds essential information.

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

Completeness4/5

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

For a read-only tool with no annotations and no output schema, the description is quite complete: it covers purpose, usage, parameters, and behavioral context. However, it could be slightly improved by explicitly stating the tool's read-only nature or mentioning pagination behavior given the limit/offset parameters.

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 baseline is 3. The description adds minimal value beyond the schema: it explains that errorName must be from 'the fixed enum list' and provides an example ('errorName='no_desc' shows trend of pages without meta description'), but doesn't elaborate on projectId, limit, or offset parameters.

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

Purpose5/5

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

The description clearly states the specific action ('track how a SPECIFIC error type changed over time'), resource ('across all audits in project'), and output format ('Returns array with reportId, date, and count for each audit'). It distinguishes from siblings like 'get_site_audit_deteailed_report' by focusing on temporal trends rather than detailed snapshots.

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

Usage Guidelines5/5

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

The description explicitly provides three use cases ('verify if fixes are working', 'monitor if errors are growing', 'track specific problem areas'), specifies when to use it (for tracking error trends over time), and references a related tool ('get_site_audit_deteailed_report') for context on errorName values.

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

get_site_audit_pages_spec_errorsA

DRILL-DOWN STEP 1: Get list of elements (pages/images) with specific error. Returns: url (problematic page or image URL), urlCrc/imageCrc (unique numeric ID for drill-down), count (occurrences). The CRC is used with get_site_audit_elements_with_issues for deeper analysis. Mode parameter: 'all' (all errors), 'new' (new vs compareReportId), 'solved' (fixed vs compareReportId). Example flow: get pages with 'image_no_alt' error โ†’ get imageCrc โ†’ use with get_site_audit_elements_with_issues to see which pages use that image. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportIdYesThe unique identifier for an audit report
compareReportIdYesAnother unique identifier for an audit report from the same project to compare
projectIdYesThe unique identifier for an audit site project
errorNameYesError name to filter by
modeNoError display mode: all (all errors), new (new errors), solved (fixed errors)all
limitNoCount of returned items in response
offsetNoBatch number required for pagination

TDQS

A4.3/5.0
Behavior4/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 successfully describes key behavioral traits: the tool is part of a drill-down workflow, returns specific fields (url, urlCrc/imageCrc, count), explains how the CRC is used for deeper analysis, describes the three mode options, and importantly discloses that it 'Does not consume API credits' - a crucial operational detail not evident from the schema alone.

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

Conciseness4/5

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

The description is well-structured and appropriately sized. It starts with the core purpose, explains the return values, describes the mode parameter, provides a workflow example, and ends with the API credit disclosure. Every sentence serves a clear purpose, though it could be slightly more concise by combining some explanatory elements.

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

Completeness4/5

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

For a tool with 7 parameters, no annotations, and no output schema, the description does an excellent job of providing context. It explains the return format, the workflow relationship with sibling tools, the meaning of key parameters, and important operational details (no API credit consumption). The main gap is not explicitly describing pagination behavior despite having limit/offset parameters, though the schema covers these.

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%, so the schema already documents all 7 parameters thoroughly. The description adds some value by explaining the 'mode' parameter options ('all', 'new', 'solved') and their meanings, but doesn't provide additional semantic context beyond what's in the schema descriptions. This meets the baseline of 3 when schema coverage is high.

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

Purpose5/5

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

The description clearly states the tool's purpose as 'Get list of elements (pages/images) with specific error' - a specific verb (get) and resource (elements with specific error). It distinguishes from sibling tools like 'get_site_audit_elements_with_issues' by explaining this is the first drill-down step that provides CRCs for deeper analysis with that sibling tool.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool vs alternatives: 'Example flow: get pages with 'image_no_alt' error โ†’ get imageCrc โ†’ use with get_site_audit_elements_with_issues to see which pages use that image.' It also explains the relationship with the sibling tool and provides a concrete workflow example.

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

get_site_audit_project_default_settingsA

Get DEFAULT TEMPLATE settings for creating new projects (NOT settings of existing project). Returns server-side recommended defaults. Use this to: populate new project form with sensible defaults, avoid hardcoding values, ensure settings stay current if Serpstat changes recommendations. Workflow: 1) Call this method, 2) Modify returned object (set domain, name, adjust limits), 3) Call set_site_audit_settings to save. Key differences from project settings: domain='' (must set), name='' (must set), pagesLimit=5000 (default), scheduleRepeatOption=3 (weekly). Does not consume API credits and does not require projectId.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/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 effectively describes key traits: it 'does not consume API credits and does not require projectId,' specifies it 'returns server-side recommended defaults,' and details differences from project settings (e.g., domain='', name='', pagesLimit=5000). This covers safety, cost, and output behavior comprehensively.

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 front-loaded with the core purpose, followed by usage scenarios, workflow steps, and behavioral details. Each sentence earns its place by providing essential information without waste, such as clarifying differences from project settings and API credit implications, making it efficient and well-structured.

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

Completeness5/5

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

Given the tool's complexity (retrieving default settings for project creation) and lack of annotations or output schema, the description is complete. It explains the purpose, usage workflow, behavioral traits (no credits required, no projectId), and key output fields, ensuring an AI agent has all necessary context to invoke the tool correctly.

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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately focuses on usage and output semantics, mentioning key fields in the returned object (domain, name, pagesLimit, scheduleRepeatOption) without redundancy. A baseline of 4 is applied since no parameters exist, and the description adds value beyond the schema.

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

Purpose5/5

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

The description explicitly states the tool retrieves 'DEFAULT TEMPLATE settings for creating new projects' and clarifies it's 'NOT settings of existing project,' providing a specific verb (get) and resource (default template settings). It clearly distinguishes from sibling tools like 'get_site_audit_settings' by emphasizing defaults versus existing project data.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool: to 'populate new project form with sensible defaults, avoid hardcoding values, ensure settings stay current.' It outlines a clear workflow (call this, modify returned object, call set_site_audit_settings) and names the alternative tool ('set_site_audit_settings') for saving modifications.

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

get_site_audit_results_by_categoriesA

Get AGGREGATED error statistics by category. Returns sum of errors grouped by priority for each category. Each category shows: highCount, mediumCount, lowCount, informationCount. Use this for quick overview to identify problematic categories. Categories are fixed: pages_status, meta_tags, headings, content, multimedia, indexation, redirects, links, server_params, https, hreflang, amp, markup, pagespeed_desktop, pagespeed_mobile. Does not consume API credits. For specific error breakdown use get_site_audit_deteailed_report.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportIdYesAudit report ID to get statistics for

TDQS

A4.4/5.0
Behavior4/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 effectively describes key behaviors: it returns aggregated statistics (not detailed data), lists the fixed categories, specifies the output structure (highCount, mediumCount, lowCount, informationCount), and notes it does not consume API credits. However, it lacks details on error handling, rate limits, or authentication needs.

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 front-loaded with the core purpose, followed by details on output structure, usage context, fixed categories, and a clear alternative. Each sentence adds value without redundancy, making it efficient and well-structured for quick understanding.

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

Completeness4/5

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

Given the tool's complexity (aggregated statistics with fixed categories) and lack of annotations and output schema, the description does a good job of covering purpose, usage, and output details. It could be more complete by mentioning potential errors or response formats, but it adequately informs the agent for correct 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 input schema has 100% description coverage, with the parameter 'reportId' clearly documented. The description does not add any additional semantic context about the parameter beyond what the schema provides, such as how to obtain a reportId or its format. Since schema coverage is high, the baseline score of 3 is appropriate.

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

Purpose5/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 ('AGGREGATED error statistics by category'), specifying it returns sum of errors grouped by priority for each category. It explicitly distinguishes from its sibling 'get_site_audit_deteailed_report' by stating this is for 'quick overview' versus 'specific error breakdown'.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('Use this for quick overview to identify problematic categories') and when to use an alternative ('For specific error breakdown use get_site_audit_deteailed_report'). It also mentions that it 'Does not consume API credits,' which is a practical consideration for usage.

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

get_site_audit_scanned_urls_listA

Get CONFIGURED URL list for scanning (not actual scan results). ONLY works when scanSetting.type is 2 (URL list) or 3 (sitemap list). Returns error 'Scan url list not found' when type=1 (scan all site) because no specific URLs are configured. This shows INPUT configuration, not OUTPUT of what was scanned. Check get_site_audits_list response for actual scanned page count. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject ID to get scanned URLs list for

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and does so effectively. It discloses critical behavioral traits: error conditions ('Returns error...'), operational constraints ('Does not consume API credits'), and clarifies the nature of returned data ('INPUT configuration, not OUTPUT'). It doesn't cover all possible edge cases like rate limits, but provides substantial context 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 efficiently structured with zero waste: every sentence adds critical information. It's front-loaded with the core purpose, followed by constraints, error conditions, differentiation from alternatives, and operational details. No redundant or vague phrasing exists.

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

Completeness5/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 (single parameter, no output schema, no annotations), the description is complete. It covers purpose, usage constraints, error handling, data nature, and operational impact. For a read-only tool with good parameter documentation, no additional information is needed for effective agent 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?

Schema description coverage is 100%, so the schema already documents the single parameter 'projectId' adequately. The description doesn't add any parameter-specific information beyond what's in the schema, but doesn't need to given the high coverage. 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.

Purpose5/5

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

The description clearly states the specific action ('Get CONFIGURED URL list for scanning') and resource ('URL list'), distinguishing it from siblings like 'get_site_audits_list' (actual scan results) and 'get_site_audit_settings' (settings). It explicitly clarifies this shows 'INPUT configuration, not OUTPUT of what was scanned,' preventing confusion with result-oriented tools.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: it specifies when to use ('ONLY works when scanSetting.type is 2 or 3'), when not to use (returns error 'Scan url list not found' when type=1), and names an alternative ('Check get_site_audits_list response for actual scanned page count'). This covers all key decision points for tool selection.

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

get_site_audit_settingsA

Get current configuration of EXISTING audit project. Returns: mainSettings (domain, name, pagesLimit, scanSpeed, scanDuration, userAgent, robotsTxt, etc), scan filters (keywords to include/exclude), authentication, email notifications, scheduling, error thresholds. Compare with get_site_audit_project_default_settings which returns template for NEW projects. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject ID to get settings for

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and effectively discloses key behavioral traits: it specifies the tool is for reading ('Get'), not modifying, settings; lists return components (e.g., mainSettings, scan filters); and adds context like 'Does not consume API credits' for cost implications. However, it lacks details on error handling or response format, leaving some gaps.

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

Conciseness4/5

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

The description is front-loaded with the core purpose, followed by return details and usage guidance, all in three sentences with minimal waste. It could be slightly more structured by separating return values into a list, but overall it's efficient and well-organized.

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

Completeness4/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 (read operation with detailed returns) and no annotations or output schema, the description does well by specifying return components and usage context. However, it doesn't fully explain the return structure or potential errors, leaving some completeness gaps for an agent to invoke it correctly without additional 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 the single parameter 'projectId' with its type and constraints. The description does not add meaning beyond this, as it doesn't explain parameter usage or nuances. Baseline 3 is appropriate when the schema handles parameter documentation adequately.

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

Purpose5/5

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

The description clearly states the verb ('Get') and resource ('current configuration of EXISTING audit project'), specifying it retrieves settings rather than creating or modifying them. It distinguishes from sibling 'get_site_audit_project_default_settings' by contrasting existing vs. new projects, making the purpose specific and differentiated.

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

Usage Guidelines5/5

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

Explicitly guides when to use this tool ('EXISTING audit project') vs. an alternative ('Compare with get_site_audit_project_default_settings which returns template for NEW projects'), providing clear context for selection. It also mentions 'Does not consume API credits' as a practical consideration for usage.

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

get_site_audits_listA

STARTING POINT for audit analysis. Returns list of all audit reports for a project. Use reportId from response with other audit methods. Returns: reportId (use with other methods), date, SDO score (0-100), pages scanned/limit, critical/non-critical issue counts, viruses, progress (0-100), completion status, hasDetailData flag (true=full data available, false=in progress/failed). Does not consume API credits. TIP: Sort by date to get most recent audit first.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject ID to get audits list for
limitNoNumber of audits to return
offsetNoOffset for pagination

TDQS

A4.3/5.0
Behavior4/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 effectively describes key behavioral traits: it 'Does not consume API credits' (important cost/rate limit information), explains the purpose of the hasDetailData flag, and details what the response contains. However, it doesn't mention error conditions, authentication requirements, or pagination behavior beyond the limit/offset parameters.

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

Conciseness4/5

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

The description is efficiently structured with purpose first, then output details, then behavioral notes, and ends with a practical tip. Every sentence adds value, though the output details section is somewhat dense. It could be slightly more streamlined but remains highly effective for its length.

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

Completeness4/5

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

For a list-retrieval tool with no output schema, the description provides excellent coverage of what the response contains (reportId, date, SDO score, etc.) and important behavioral context (no API credit consumption). It lacks details about error responses and doesn't explicitly mention the pagination mechanism, but given the tool's relative simplicity and the comprehensive output description, it's quite complete.

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%, so all parameters are documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It mentions sorting by date but doesn't connect this to any parameters. The baseline of 3 is appropriate when the schema does the heavy lifting for parameter documentation.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verb ('Returns list of all audit reports') and resource ('for a project'), and distinguishes it from sibling tools by positioning it as the 'STARTING POINT for audit analysis' and noting that its reportId output should be used with other audit methods. This differentiates it from other audit-related tools like get_site_audit_deteailed_report or get_site_audit_results_by_categories.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: it's the 'STARTING POINT for audit analysis' and specifies to 'Use reportId from response with other audit methods.' It also includes a practical tip: 'Sort by date to get most recent audit first.' This gives clear context for when to use this tool versus diving directly into detailed audit methods.

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

get_top10_anchorsB

Get TOP-10 anchors with the number of backlinks and referring domains for domain analysis, use this method is you need a fast brief way to get info about top 10 anchors

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesDomain name to analyze
searchTypeNoType of search: domain or domain_with_subdomainsdomain

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool is 'fast' and provides 'brief' information, which adds useful context about performance characteristics. However, it doesn't disclose critical behavioral aspects like whether this is a read-only operation, potential rate limits, authentication requirements, or what happens with invalid domains. For a tool with zero annotation coverage, this leaves significant gaps.

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

Conciseness4/5

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

The description is appropriately concise with two sentences that both add value. The first sentence states the core purpose, and the second provides important usage guidance. There's no redundant information, and the structure is front-loaded with the main functionality. It could be slightly more polished but earns a high score for efficiency.

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 (domain analysis with two parameters), no annotations, and no output schema, the description provides adequate but incomplete coverage. It explains what the tool does and when to use it, but lacks details about behavioral characteristics, error handling, and output format. The description is minimally viable but has clear gaps that could hinder 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 schema description coverage is 100%, with both parameters ('query' and 'searchType') well-documented in the schema. The description doesn't add any parameter-specific information beyond what the schema already provides. According to scoring rules, when schema coverage is high (>80%), the baseline score 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.

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 TOP-10 anchors with the number of backlinks and referring domains for domain analysis.' It specifies the verb ('Get'), resource ('TOP-10 anchors'), and key metrics ('backlinks and referring domains'). However, it doesn't explicitly distinguish this tool from sibling 'get_anchors' (which likely returns more comprehensive anchor data), so it doesn't reach the highest clarity level.

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 usage context: 'use this method if you need a fast brief way to get info about top 10 anchors.' This indicates when to use this tool (for quick, limited insights) versus potentially more comprehensive alternatives. However, it doesn't name specific alternative tools or explicitly state when NOT to use it, keeping it from a perfect score.

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

get_url_competitorsA

Returns competitor URLs that rank for the same keywords in Google top-10. The analyzed URL must rank for 10+ keywords in top-10 to have competitor data available. Returns 'Data not found' error for new or low-traffic pages with few ranking keywords, URLs not found in Serpstat database, or pages without sufficient top-10 keyword overlap with competitors. The URL parameter must include protocol https://. Best results for established pages with significant organic traffic. API cost: 1 credit per result row returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
seYesSearch database IDg_us
urlYesFull URL to analyze including protocol. Examples: 'https://example.com/' or 'https://example.com/page'. The URL must rank for keywords in Google top-10 to have competitor data. New or low-traffic pages may return 'Data not found' error.
sortNoSorting parameters
pageNoPage number in response
sizeNoNumber of results per page

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations provided, the description carries full burden and does an excellent job disclosing behavioral traits. It explains data availability requirements (10+ keywords in top-10), error conditions ('Data not found' for new/low-traffic pages), input format requirements (URL must include https://), and operational details (API cost: 1 credit per result row). This goes well beyond basic functionality description.

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

Conciseness4/5

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

The description is appropriately sized and front-loaded with the core purpose. Each sentence adds important information about constraints, errors, and costs. However, the final sentence about API costs feels somewhat tacked on and could be better integrated with the preceding content about data availability.

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

Completeness4/5

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

For a tool with 5 parameters, 100% schema coverage, but no annotations and no output schema, the description provides excellent context about behavioral constraints, error conditions, and cost implications. The main gap is the lack of information about return format or what 'competitor URLs' data structure looks like, which would be helpful given no output schema.

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 baseline is 3. The description adds some value by reinforcing the URL parameter requirements ('must include protocol https://') and linking URL quality to data availability, but doesn't provide significant additional parameter semantics beyond what's already well-documented in the schema descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Returns competitor URLs that rank for the same keywords in Google top-10.' It specifies the resource (competitor URLs), the context (Google top-10 rankings), and distinguishes it from siblings like 'get_domain_competitors' or 'get_keyword_competitors' by focusing on URL-level analysis.

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 the tool: 'Best results for established pages with significant organic traffic' and 'The analyzed URL must rank for 10+ keywords in top-10 to have competitor data available.' It also explains when it won't work (new/low-traffic pages). However, it doesn't explicitly mention when to choose this over sibling tools like 'get_domain_competitors' or 'get_keyword_competitors'.

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

get_url_keywordsA

Returns a list of keywords for which the specified URL ranks in top-100 Google search results. Provides comprehensive insights including current positions, estimated traffic per keyword, keyword difficulty, search volume, and SERP features. Use filters to narrow down by position range, search volume, difficulty, or keyword patterns. API cost: 1 credit per result row returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
seYesSearch database IDg_us
urlYesFull URL to analyze including protocol (https://). Returns keywords where this exact URL ranks in Google top-100 (Bing top-50). Examples: 'https://example.com/', 'https://example.com/blog/article'
withIntentsNoInclude keyword search intent classification (informational, navigational, commercial, transactional). When enabled, response includes intents array for each keyword.
sortNoSorting parameters
filtersNoFilter conditions
pageNoPage number in response
sizeNoNumber of results per page

TDQS

A4.2/5.0
Behavior4/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 effectively describes key behaviors: it's a read operation (implied by 'returns'), includes comprehensive data insights, supports filtering, and discloses the API cost ('1 credit per result row returned'). It also notes the ranking scope for Google vs. Bing. While it doesn't cover all potential behaviors like error handling or pagination details, it provides substantial context 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 efficiently structured in three sentences: the core purpose, the data returned, and usage/cost details. Every sentence adds value without redundancy. It's front-loaded with the main function and appropriately sized for the tool's complexity.

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

Completeness4/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 (7 parameters, nested objects) and lack of annotations or output schema, the description does well by covering purpose, data insights, filtering, and cost. However, it doesn't detail the response format or pagination behavior, which would be helpful for an agent to interpret results. It's largely complete but has minor gaps in output expectations.

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 thoroughly. The description adds some value by mentioning filters ('position range, search volume, difficulty, or keyword patterns') and the API cost implication, but it doesn't provide additional parameter semantics beyond what's in the schema descriptions. This meets the baseline for high schema coverage.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Returns a list of keywords for which the specified URL ranks in top-100 Google search results.' It specifies the verb ('returns'), resource ('keywords'), and scope ('top-100 Google search results'), distinguishing it from sibling tools like get_domain_keywords or get_keywords_info which have different scopes.

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: analyzing a specific URL's keyword rankings. It mentions 'Use filters to narrow down by position range, search volume, difficulty, or keyword patterns,' which gives practical guidance. However, it does not explicitly state when not to use it or name alternative tools for different use cases.

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

get_url_missing_keywordsA

Identifies keyword opportunities by finding keywords where your competitors rank in top-20 but your URL does not. The weight metric returned in results indicates how many competitor URLs from top-20 rank for that keyword. Higher weight means more competitors are targeting this keyword, suggesting it is valuable for your niche. Perfect for content gap analysis and finding quick wins. API cost: 1 credit per result row returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAnalyzed URL
seYesSearch database IDg_us
sortNoSorting parameters. Sort by `weight` to see keywords where most competitors rank (highest opportunity)
filtersNoFilter conditions
pageNoPage number in response
sizeNoNumber of results per page

TDQS

A4.2/5.0
Behavior4/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 effectively describes key behavioral traits: it's a read-only analysis tool (implied by 'identifies'), discloses the cost model ('API cost: 1 credit per result row returned'), and explains the meaning of the weight metric in results. However, it doesn't mention rate limits, authentication needs, or pagination 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 efficiently structured with four sentences that each earn their place: purpose statement, weight metric explanation, use case context, and cost disclosure. It's front-loaded with the core functionality and contains zero wasted words.

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

Completeness4/5

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

For a complex tool with 6 parameters, nested objects, and no output schema, the description provides good contextual completeness. It explains the tool's purpose, key metric interpretation, use cases, and cost implications. The main gap is lack of output format details, but given the complexity and absence of annotations, this is a reasonable compromise.

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 thoroughly. The description adds some value by explaining the 'weight' metric concept, but doesn't provide additional semantic context for parameters like 'url', 'se', or the various filters beyond what's in the schema. 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.

Purpose5/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 specific verbs ('identifies keyword opportunities') and resources ('keywords where your competitors rank in top-20 but your URL does not'). It distinguishes itself from siblings by focusing on missing keywords for a specific URL rather than general keyword analysis or other SEO functions.

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 the tool ('Perfect for content gap analysis and finding quick wins'), but does not explicitly state when not to use it or name specific alternative tools from the sibling list. The agent can infer alternatives from sibling names like 'get_keywords' or 'get_domain_keywords', but no direct comparison is made.

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

get_url_summary_traffA

Returns traffic and keyword statistics for website pages that match a specific URL mask. Shows organic traffic and number of keywords found for URLs matching the given pattern. HIGH-COST METHOD - EXPLICIT CONFIRMATION REQUIRED. Before executing, inform the user: This operation will cost 1000-2000 credits. API COST: 1000 credits per each of traffic|keywords output parameter

ParametersJSON Schema
NameRequiredDescriptionDefault
seYesSearch database IDg_us
domainYesThe domain for which to retrieve traffic and keyword data
urlContainsYesURL pattern to filter results. Must be at least 3 characters long. Method finds all URLs containing this substring and aggregates statistics. Examples: '/blog/' matches all blog pages, '/products/' matches product section, '/en/' matches English version. Cannot use '/' alone.
output_dataNoSpecify which data to return. 'traffic' returns only traffic estimates (1000 credits). 'keywords' returns only keyword counts (1000 credits). If not specified, returns both traffic and keywords (2000 credits). Specify this parameter unless both metrics are required.

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries full burden and excels by disclosing critical behavioral traits: high cost (1000-2000 credits), explicit confirmation requirement, API cost breakdown (1000 credits per metric), and aggregation behavior ('aggregates statistics' for URLs matching pattern). This goes well 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded with core functionality, though it could be slightly more concise. Every sentence earns its place: first states purpose, second explains scope, third highlights cost warning, fourth provides user confirmation instructions, and fifth details API costs.

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

Completeness5/5

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

Given the tool's complexity (costly API operation with 4 parameters), no annotations, and no output schema, the description provides excellent contextual completeness. It covers purpose, behavioral constraints, cost implications, parameter guidance, and distinguishes the tool's specific use case within the sibling tool ecosystem.

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?

Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the urlContains parameter's aggregation behavior ('Method finds all URLs containing this substring and aggregates statistics') and providing usage guidance for output_data parameter, elevating the score above baseline.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('Returns traffic and keyword statistics') and resources ('website pages that match a specific URL mask'), and distinguishes it from siblings by focusing on URL-based aggregation rather than domain-wide or keyword-specific analysis seen in tools like get_domain_keywords or get_url_keywords.

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

Usage Guidelines5/5

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

The description provides explicit usage guidelines by warning 'HIGH-COST METHOD - EXPLICIT CONFIRMATION REQUIRED' and specifying when to use alternatives through the output_data parameter explanation: 'If not specified, returns both traffic and keywords (2000 credits). Specify this parameter unless both metrics are required.'

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

list_projectsB

Retrieve a list of projects associated with the account, with pagination support

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoThe page number in the projects list
sizeNoNumber of results per page. Allowed values: 20, 50, 100, 200, 500

TDQS

B3.3/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 of behavioral disclosure. It mentions 'pagination support,' which is useful context not in the schema, but it doesn't describe other key behaviors like authentication requirements, rate limits, error handling, or the format/structure of the returned list. For a read-only list tool with zero annotation coverage, this leaves significant 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 front-loads the core purpose ('Retrieve a list of projects') and adds a key behavioral note ('with pagination support'). There's no wasted verbiage or redundancy, 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.

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 (a list operation with pagination), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and pagination but lacks details on authentication, error cases, return format, or how it fits among sibling tools. This leaves the agent with incomplete context for 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 schema description coverage is 100%, with clear descriptions for both parameters ('page' and 'size'), including defaults and allowed values. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain pagination mechanics or result ordering). According to the rules, with high schema coverage, the baseline is 3 even without param info in 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 action ('Retrieve a list') and resource ('projects associated with the account'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other project-related tools like 'create_project' or 'delete_project' beyond the list vs. create/delete distinction, which is why it doesn't reach a perfect 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 mentions 'with pagination support,' which provides some context about when to use this tool (for browsing large result sets). However, it doesn't explicitly state when to use this tool versus alternatives (e.g., whether it's for all projects or filtered ones, or how it differs from other list-like tools in the sibling set), and there's no guidance on prerequisites or exclusions.

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

page_audit_deleteB

Remove one-page audit project from customer project list. Returns boolean indicating success. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesPage ID to remove

TDQS

B3.3/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 of behavioral disclosure. It adds useful context beyond basic functionality: it specifies the return type ('boolean indicating success') and notes that it 'Does not consume API credits', which are important behavioral traits. However, it lacks details on permissions, error conditions, or side effects, leaving gaps for a deletion 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 highly concise and front-loaded, consisting of two sentences that efficiently convey the core action, return value, and a key behavioral note. Every sentence adds value without redundancy, making it easy for an agent to parse quickly.

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 complexity (a deletion operation with no annotations and no output schema), the description is moderately complete. It covers the basic action, return type, and a credit-related behavior, but lacks details on error handling, permissions, or what 'success' entails. For a deletion tool, more contextual information would be beneficial to ensure safe and correct 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 the single parameter 'pageId' documented as 'Page ID to remove'. The description doesn't add any meaning beyond this, as it doesn't clarify what constitutes a valid page ID or provide examples. The baseline score of 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 action ('Remove') and resource ('one-page audit project from customer project list'), making the purpose specific and understandable. It doesn't explicitly differentiate from sibling tools like 'delete_project', but the mention of 'one-page audit project' provides some distinction from general project deletion.

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 like 'delete_project' or other deletion-related tools. It mentions what it does but offers no context about prerequisites, appropriate scenarios, or exclusions, leaving the agent with minimal usage direction.

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

page_audit_get_last_scansA

Get list of all one-page audit projects. Returns page info including: pageId (use with other methods), url, name, status, lastActiveReport (latest scan results with SDO score and issue counts), finishedReportCount, settings. Use this as starting point to find pageId for other operations. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of items to return (optional, default 30)
offsetNoOffset for pagination (optional, default 0)
teamMemberIdNoFilter by team member ID (optional)

TDQS

A3.9/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 of behavioral disclosure. It adds useful context: it specifies that the tool 'does not consume API credits' (indicating no cost implications) and describes the return format. However, it lacks details on error handling, rate limits, or authentication requirements, leaving gaps for a tool with no 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.

Conciseness5/5

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

The description is efficiently structured in three sentences: it states the purpose, lists return fields, and provides usage and cost context. Each sentence adds value without redundancy, making it front-loaded and easy to parse.

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 does a decent job by explaining the return fields and cost behavior. However, for a tool with 3 parameters and many siblings, it could benefit from more detail on error cases or performance expectations to be fully complete.

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%, so the schema fully documents the three parameters (limit, offset, teamMemberId). The description does not add any parameter-specific information beyond what the schema provides, such as explaining how 'teamMemberId' filtering works in practice. This meets the baseline for high schema coverage.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Get list of all one-page audit projects' with specific return fields (pageId, url, name, status, etc.). It distinguishes from siblings like 'list_projects' by specifying it's for 'one-page audit projects' and mentions it 'does not consume API credits,' which differentiates it from potentially credit-consuming tools.

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

Usage Guidelines4/5

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

The description provides clear context on when to use this tool: 'Use this as starting point to find pageId for other operations.' However, it does not explicitly state when not to use it or name specific alternatives among the many siblings, such as 'list_projects' or 'get_site_audits_list,' which might serve similar purposes.

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

page_audit_get_report_by_categoriesA

Get audit results by categories for a specific report. Returns categories array with errors grouped by type (meta_tags, headings, content, multimedia, https, etc), page data, and report info. Use compareReportId to see changes between reports (countNew shows errors added since compareReportId, countFixed shows errors resolved since compareReportId). Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportIdYesReport ID to get audit results for
compareReportIdNoReport ID to compare with (optional). When provided, countNew and countFixed will show differences between the two reports.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: the return structure ('categories array with errors grouped by type'), the effect of 'compareReportId', and a non-functional aspect ('Does not consume API credits'). However, it lacks details on error handling, rate limits, authentication needs, or pagination, which are important for a tool with potential data volume. The description adds value but doesn't fully 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.

Conciseness4/5

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

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by details on returns and usage. Every sentence earns its place by adding necessary information. However, it could be slightly more structured (e.g., separating return details from parameter guidance) and is a bit dense, preventing a perfect score.

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 complexity (audit results with categories and comparison), no annotations, and no output schema, the description is moderately complete. It covers the purpose, return structure, parameter semantics, and a non-functional aspect. However, it lacks details on error types, data formats, or example outputs, which would be helpful for an agent to interpret results. The description is adequate but has clear gaps in contextual richness.

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 ('reportId' and 'compareReportId') well-documented in the schema. The description adds semantic context: it explains that 'compareReportId' is optional and clarifies its purpose ('see changes between reports') and the resulting fields ('countNew' and 'countFixed'). This provides useful meaning beyond the schema's basic descriptions. Since the schema does the heavy lifting, the baseline is 3, and the description adds moderate 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 tool's purpose: 'Get audit results by categories for a specific report.' It specifies the verb ('Get'), resource ('audit results'), and scope ('by categories'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_site_audit_results_by_categories' or 'page_audit_get_results_report', which appear to have overlapping functionality, preventing a perfect score.

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 usage: 'Use compareReportId to see changes between reports (countNew shows errors added since compareReportId, countFixed shows errors resolved since compareReportId).' This gives explicit guidance on when to use the optional parameter. However, it doesn't specify when to choose this tool over similar siblings like 'get_site_audit_results_by_categories' or mention any prerequisites or exclusions, which limits the score.

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

page_audit_get_reports_for_pageA

Get history of all audit reports for a specific page. Returns array of reports with: id (reportId), auditDate, status, sdo (0-100 score), high/medium/low/information error counts, viruses, progress (0-100). Use this to track scan completion and view historical results. Status values: 1=in progress, 3=finalizing, 4=completed. Sort by auditDate to get most recent first. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesPage ID to get reports for
limitNoNumber of reports to return (optional)
offsetNoOffset for pagination (optional)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it specifies the return format (array with detailed fields), explains status values, recommends sorting, and importantly notes 'Does not consume API credits'โ€”a critical operational detail not inferable from the schema.

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

Conciseness5/5

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

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by essential details on returns, usage, status values, sorting, and API credit impact. Every sentence adds value without redundancy, making it efficient and well-structured.

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

Completeness4/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 largely complete: it covers purpose, return data, usage context, status decoding, sorting advice, and API credit impact. However, it lacks details on error handling or pagination defaults, leaving minor gaps.

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 (pageId, limit, offset). The description does not add any parameter-specific semantics beyond what the schema provides, such as default values or usage tips for pagination, meeting the baseline score of 3.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verb ('Get history of all audit reports') and resource ('for a specific page'), distinguishing it from siblings like 'page_audit_get_last_scans' or 'page_audit_get_results_report' by focusing on historical reports rather than recent scans or detailed results.

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 ('to track scan completion and view historical results'), but does not explicitly mention when not to use it or name specific alternatives among the many sibling tools, such as 'page_audit_get_last_scans' for only recent scans.

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

page_audit_get_results_reportA

Get detailed audit results for a page. Returns: categories array (errors grouped by category like meta_tags, headings, content, multimedia, https, pagespeed_desktop, pagespeed_mobile, etc), data array (page details), report object (SDO score, error counts, progress). Each category contains errors with: key (error identifier), priority (high/medium/low/information), countAll/countNew/countFixed, hasAdditionRows (true means drill-down available via page_audit_report_drill_down). Use this to analyze specific issues found during scan. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesPage ID to get audit results for. Use pageId from page_audit_get_last_scans or page_audit_start_scan response.

TDQS

A4.2/5.0
Behavior4/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 effectively describes key behaviors: it returns structured data (categories array, data array, report object), details error attributes (priority, counts, drill-down availability), and explicitly states 'Does not consume API credits,' which is crucial operational context. However, it lacks information on rate limits, authentication needs, or error handling.

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 appropriately sized and front-loaded, starting with the core purpose. Each sentence adds value: detailing return structure, error attributes, usage context, and API credit information. There is no wasted text, making it efficient and easy to parse.

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

Completeness4/5

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

Given the complexity of audit results and no output schema, the description does a good job explaining the return structure (categories, data, report) and error details. It covers the main use case and operational note about API credits. However, it could be more complete by mentioning response formats (e.g., JSON), pagination, or error scenarios, especially without annotations.

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 'pageId' parameter well-documented in the schema itself. The description does not add any additional meaning or context beyond what the schema provides, such as example usage or prerequisites. 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.

Purpose5/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 detailed audit results for a page.' It specifies the verb ('Get') and resource ('audit results for a page'), and distinguishes it from siblings like 'page_audit_get_last_scans' or 'page_audit_report_drill_down' by focusing on comprehensive results rather than scans or drill-downs.

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: 'to analyze specific issues found during scan.' It implicitly suggests using it after a scan, but does not explicitly state when not to use it or name alternatives like 'page_audit_get_report_by_categories' or 'page_audit_get_reports_for_page' for comparison.

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

page_audit_get_scan_namesA

Get list of all one-page audit project names. Returns array of pages with: pageId, name, url, finishedReportCount. Use this to discover available audit projects. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamMemberIdNoFilter by team member ID (optional)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it specifies the return data structure, indicates it's for discovery purposes, and explicitly states 'Does not consume API credits', which is crucial operational information not inferable from the schema alone.

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 efficiently structured in three sentences: the first states the purpose and return format, the second provides usage guidance, and the third adds critical behavioral context. Each sentence adds distinct value without redundancy, making it front-loaded and zero-waste.

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

Completeness4/5

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

Given the tool's low complexity (one optional parameter) and lack of annotations or output schema, the description is largely complete: it covers purpose, usage, return data, and a key behavioral trait (no API credit consumption). However, it could slightly improve by hinting at error cases or authentication needs, though not strictly necessary here.

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 the optional 'teamMemberId' parameter. The description does not add any parameter-specific details beyond what the schema provides, such as explaining when or why to use the filter, which keeps it at the baseline score of 3.

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

Purpose5/5

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

The description clearly states the verb ('Get list') and resource ('all one-page audit project names'), specifies the return format ('array of pages with: pageId, name, url, finishedReportCount'), and distinguishes from siblings by focusing on discovery of audit projects rather than other operations like creation or deletion.

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 ('Use this to discover available audit projects'), but does not explicitly mention when not to use it or name specific alternatives among the many sibling tools, such as 'list_projects' or 'get_site_audits_list', which might serve similar purposes.

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

page_audit_report_drill_downA

Get detailed list of problematic elements for specific error types. ONLY works for errors with hasAdditionRows=true from page_audit_get_results_report response. Returns error 'Try get additional rows in rows-less error' for page-level errors where hasAdditionRows=false. Response structure varies by error type: for multimedia errors (image_no_alt, large_image_size, broken_image_url) returns array of image URLs that have the issue; for page-level errors (miss_favicon, etc) returns array with single object containing page URL. Always check hasAdditionRows flag before calling this method. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportIdYesReport ID to get error details for
errorYesError type key to get details for. Must match error.key value from page_audit_get_results_report response (e.g., image_no_alt, broken_image_url, large_image_size). Only works for errors where hasAdditionRows=true.
modeNoFilter mode: all (all errors), new (errors added since compareReportId), solved (errors fixed since compareReportId). Optional, default is all.
compareReportIdNoReport ID to compare with for new/solved filtering (optional, required when mode is new or solved)
pageNoPage number for pagination (optional)
sizeNoNumber of results per page (optional, max 1000)

TDQS

A4.3/5.0
Behavior4/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 effectively describes key behaviors: the tool's dependency on hasAdditionRows flag, error conditions, varying response structures by error type, and that it 'Does not consume API credits.' However, it doesn't mention rate limits, authentication needs, or potential side effects, leaving some gaps.

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

Conciseness4/5

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

The description is well-structured and front-loaded with the core purpose. Each sentence adds valuable information without redundancy. However, it could be slightly more concise by combining some clauses, but overall it's efficient with zero waste sentences.

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

Completeness4/5

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

Given the tool's complexity (6 parameters, conditional behavior based on error types) and no output schema, the description does a good job of explaining the varying response structures and prerequisites. It covers the essential context needed for correct usage, though it could benefit from more detail on error handling or example outputs.

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 thoroughly. The description adds minimal parameter semantics beyond the schema, mainly reinforcing that the 'error' parameter must match error.key from page_audit_get_results_report and only works for errors with hasAdditionRows=true. This meets the baseline for high schema coverage.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Get detailed list of problematic elements for specific error types.' It specifies the resource (problematic elements for error types) and distinguishes from siblings by mentioning it only works for errors with hasAdditionRows=true from page_audit_get_results_report, making it highly specific and differentiated.

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

Usage Guidelines5/5

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

The description provides explicit usage guidelines: 'ONLY works for errors with hasAdditionRows=true from page_audit_get_results_report response' and warns about errors where it won't work ('Returns error for page-level errors where hasAdditionRows=false'). It also instructs to 'Always check hasAdditionRows flag before calling this method,' offering clear when-to-use and when-not-to-use criteria.

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

page_audit_rescanA

Rescan existing one-page audit project. Creates new audit report for the page. Returns reportId for the new scan. API COST: 10 credits per rescan. Use page_audit_get_reports_for_page to track progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesPage ID to rescan
nameYesProject name (can update if needed)
userAgentYesUser agent ID. Recommended: 0 (Chrome) for most use cases. Values: 0=Chrome, 1=Serpstat, 2=Google, 3=Yandex, 4=Firefox, 5=IE
httpAuthLoginNoLogin for Basic HTTP authentication (optional)
httpAuthPassNoPassword for Basic HTTP authentication (optional)

TDQS

A4.4/5.0
Behavior4/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 effectively describes key behaviors: it's a write operation ('Creates new audit report'), has a cost ('API COST: 10 credits per rescan'), and returns a specific output ('Returns reportId for the new scan'). However, it doesn't mention potential side effects like overwriting existing data or error conditions, leaving some 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 highly concise and well-structured in three sentences: first states the core action, second covers output and cost, third provides usage guidance. Every sentence adds critical information without redundancy, making it efficient and front-loaded.

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

Completeness4/5

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

Given the tool's complexity (write operation with cost and output), no annotations, and no output schema, the description does well by covering purpose, usage, behavior, and output. However, it lacks details on error handling or response format beyond 'reportId', leaving minor gaps in completeness for a mutation 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?

The input schema has 100% description coverage, providing detailed parameter documentation (e.g., 'Page ID to rescan', enum values for userAgent). The description adds no additional parameter semantics beyond what's in the schema, so it meets the baseline of 3 for adequate but not enhanced coverage.

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

Purpose5/5

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

The description clearly states the specific action ('Rescan existing one-page audit project') and resource ('page'), distinguishing it from siblings like 'page_audit_start_scan' (which likely initiates new scans) and 'page_audit_get_reports_for_page' (which retrieves existing reports). It explicitly mentions creating a new audit report, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('Rescan existing one-page audit project') and when to use an alternative ('Use page_audit_get_reports_for_page to track progress'). It also mentions prerequisites like 'existing' project and cost implications ('API COST: 10 credits per rescan'), offering comprehensive usage context.

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

page_audit_scan_logsA

Get chronological log of scan events for debugging and progress tracking. Returns array of log items with: message (event name like audit_finish, crawl_start, server_check_robots_pass), type (info/warning/error), params (object with event-specific data, may be empty array if no additional info, e.g., {sdo: 64} or []), created_at (timestamp). Useful for debugging scan issues and understanding scan progress. Supports pagination via page and pageSize parameters. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
reportIdNoReport ID to get logs for (required). If not specified, returns logs for all scans.
pageNoPage number for pagination (optional, default 0, starts from 0)
pageSizeNoNumber of log items per page (optional, default 100)

TDQS

A4.2/5.0
Behavior4/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 effectively describes key behavioral traits: the return format (array of log items with specific fields), pagination support, and importantly states 'Does not consume API credits' - a crucial operational detail not evident from the schema alone. However, it doesn't mention rate limits, authentication requirements, or error handling.

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 efficiently structured with zero waste. The first sentence establishes the core purpose, the second details the return format, the third provides usage context, and the fourth covers operational details. Every sentence earns its place, and the most important information (what the tool does) is front-loaded.

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

Completeness4/5

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

For a read-only tool with 100% schema coverage but no output schema, the description does well by specifying the return format in detail. However, it could be more complete by mentioning potential error cases, response size limitations, or how to interpret specific log types. The absence of annotations means the description should ideally cover more behavioral 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?

With 100% schema description coverage, the schema already documents all three parameters thoroughly. The description adds marginal value by mentioning pagination support and implying the reportId parameter's purpose ('for debugging scan issues'), but doesn't provide additional syntax, format details, or examples beyond what the schema already specifies.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verbs ('Get chronological log of scan events') and resource ('scan events for debugging and progress tracking'). It distinguishes itself from sibling tools like 'page_audit_get_last_scans' or 'page_audit_get_results_report' by focusing specifically on log retrieval rather than scan results or metadata.

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 ('for debugging and progress tracking'), but doesn't explicitly mention when not to use it or name specific alternatives among the many sibling tools. It implies usage for log-related debugging but lacks explicit exclusions or comparisons.

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

page_audit_start_scanA

Scan a single webpage with JavaScript rendering. Returns pageId and reportId for tracking. Use page_audit_get_reports_for_page to check progress via status and progress fields. API COST: 10 credits per scan. Wait for progress=100 before retrieving results with page_audit_get_results_report.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the audit project
urlYesPage URL to scan
userAgentYesUser agent ID. Recommended: 0 (Chrome) for most use cases. Values: 0=Chrome, 1=Serpstat, 2=Google, 3=Yandex, 4=Firefox, 5=IE
httpAuthLoginNoLogin for Basic HTTP authentication (optional)
httpAuthPassNoPassword for Basic HTTP authentication (optional)

TDQS

A4.4/5.0
Behavior4/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 effectively describes key behavioral traits: it's a scanning operation that returns tracking IDs, has an associated cost ('API COST: 10 credits per scan'), requires waiting for completion ('Wait for progress=100'), and involves follow-up tools for progress checking and result retrieval. The only minor gap is lack of explicit mention about whether this is a read-only or destructive operation, though 'scan' implies non-destructive.

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 perfectly structured and concise with zero wasted words. It uses three sentences that each serve distinct purposes: (1) states the core action and return values, (2) provides follow-up guidance, (3) adds cost and completion requirements. Every sentence earns its place and information is front-loaded appropriately.

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

Completeness4/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 (scanning operation with cost and async behavior), no annotations, and no output schema, the description does an excellent job covering most contextual needs. It explains the scanning purpose, cost implications, async nature with tracking IDs, and follow-up workflow. The only minor gap is that without an output schema, it doesn't fully describe the structure of returned IDs, though 'pageId and reportId' provides sufficient semantic understanding for an agent.

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. The description adds no specific parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.

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

Purpose5/5

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

The description clearly states the specific action ('Scan a single webpage with JavaScript rendering') and resource ('webpage'), distinguishing it from sibling tools like 'start_site_audit' (which appears to be for broader site audits) and 'page_audit_rescan' (which implies re-scanning). It explicitly mentions the return values ('pageId and reportId for tracking'), providing a complete purpose statement.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('Scan a single webpage'), when not to use it (implied: not for site-wide audits), and alternatives ('Use page_audit_get_reports_for_page to check progress' and 'retrieving results with page_audit_get_results_report'). It also includes prerequisites ('Wait for progress=100 before retrieving results'), making usage context very clear.

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

page_audit_stopA

Stop active one-page audit scan. Returns boolean indicating success. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIdYesPage ID to stop scanning

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and adds valuable behavioral context: it specifies the return type ('boolean indicating success') and operational impact ('Does not consume API credits'). This goes beyond the basic action to disclose practical implications for the agent.

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 perfectly concise with two sentences that each earn their place: the first states the core action, the second provides crucial behavioral details. No wasted words, front-loaded with the primary purpose.

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

Completeness4/5

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

For a single-parameter mutation tool with no annotations and no output schema, the description provides good context: it explains what the tool does, what it returns, and important operational constraints. The main gap is lack of explicit prerequisites (e.g., requires an active scan) or error conditions.

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 'pageId' parameter. The description doesn't add any additional parameter semantics beyond what's in the schema, so the baseline score of 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.

Purpose5/5

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

The description clearly states the specific action ('Stop active one-page audit scan') and resource ('one-page audit scan'), distinguishing it from sibling tools like 'stop_site_audit' which likely stops broader site audits. It uses precise language that leaves no ambiguity about its function.

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 implies usage context by specifying 'active one-page audit scan', suggesting it should be used when such a scan is running. However, it doesn't explicitly state when NOT to use it or name alternatives, though the sibling tool 'stop_site_audit' provides a clear alternative for different audit types.

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

set_site_audit_settingsA

Update or create audit project configuration. Use get_site_audit_project_default_settings to get template, then modify and save with this method. Required fields: mainSettings (domain, name, subdomainsCheck, pagesLimit, scanSpeed, etc), scanSetting (type: 1=all site, 2=URL list, 3=sitemap), scheduleSettings, mailTriggerSettings, baseAuthBlock, keyword filters. Does not consume API credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject ID to update settings for
mainSettingsYes
dontScanKeywordsBlockYesExclude pages with these keywords in URL
onlyScanKeywordsBlockYesOnly scan pages with these keywords in URL
baseAuthBlockYesHTTP Basic authentication credentials
mailTriggerSettingsYesEmail notification settings
scheduleSettingsYesScan scheduling settings
scanSettingYesScan type and URL list settings
errorsSettingsNoError detection thresholds (optional)

TDQS

A3.8/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 of behavioral disclosure. It mentions that the tool 'Does not consume API credits,' which is useful operational context. However, it lacks details on permissions needed, error handling, or what happens on creation vs. update, leaving gaps for a mutation tool.

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

Conciseness4/5

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

The description is front-loaded with the core purpose and usage guidelines, followed by a list of key parameters. It avoids unnecessary fluff, but the parameter list is somewhat dense and could be better structured for readability.

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 complexity (9 parameters, nested objects, no output schema, and no annotations), the description is moderately complete. It covers purpose, usage, and key parameters but lacks details on return values, error cases, or advanced behavioral traits, which are needed for 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?

The schema description coverage is high (89%), so the baseline is 3. The description lists required fields (e.g., 'mainSettings', 'scanSetting') and provides examples (e.g., 'scanSpeed, etc'), adding some semantic context beyond the schema, but it doesn't fully explain complex nested structures or parameter interactions.

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 ('Update or create audit project configuration') and resource ('audit project'), making the purpose evident. However, it doesn't explicitly distinguish this tool from sibling tools like 'create_project' or 'get_site_audit_settings', which slightly limits differentiation.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool: 'Use get_site_audit_project_default_settings to get template, then modify and save with this method.' This clearly outlines the workflow and references a specific sibling tool, offering strong contextual direction.

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

start_site_auditA

Launch audit scan for a project. Returns reportId to track progress. Check completion with get_site_audits_list (progress field). API COST: 1 credit per page without JS rendering, 10 credits per page with JS rendering (scanJsPage setting). Wait for progress=100 before analyzing results.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject ID to start audit for

TDQS

A4.4/5.0
Behavior4/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 effectively describes key behaviors: it's a write operation (implied by 'Launch'), returns a 'reportId' for tracking, has API cost details (credit usage), and specifies asynchronous processing with a wait requirement. However, it doesn't mention error handling, timeouts, or permission requirements, leaving some 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 front-loaded with the core purpose in the first sentence, followed by essential behavioral details (return value, progress checking, costs, wait condition). Every sentence adds critical information without redundancy, making it highly efficient and well-structured for an agent's understanding.

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

Completeness4/5

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

Given the tool's complexity (asynchronous audit launch with cost implications) and lack of annotations or output schema, the description is largely complete. It covers purpose, usage, costs, and next steps, but could improve by mentioning error cases or linking to result analysis tools more explicitly. The absence of an output schema is partially mitigated by describing the return value ('reportId').

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 single parameter 'projectId' well-documented in the schema. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints. This meets the baseline score of 3 for high schema coverage without extra value.

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

Purpose5/5

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

The description clearly states the specific action ('Launch audit scan for a project') and resource ('project'), distinguishing it from sibling tools like 'get_site_audits_list' (which checks progress) and 'set_site_audit_settings' (which configures settings). It explicitly identifies the tool's role in initiating scans versus monitoring or analyzing results.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool ('Launch audit scan') versus alternatives, naming 'get_site_audits_list' for checking progress and implying that analysis should wait until 'progress=100'. It also includes cost considerations (API credits) and prerequisites ('Wait for progress=100 before analyzing results'), offering comprehensive usage context.

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

stop_site_auditA

Stop active audit scan for a project. Partial results may be available. Check get_site_audits_list to see if audit was stopped (stoped field).

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject ID to stop audit for

TDQS

A4.4/5.0
Behavior4/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: it's a mutation tool (implied by 'stop'), may have partial results available, and requires checking another tool for confirmation. However, it lacks details on permissions, rate limits, or error handling, which are important for a stop 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 front-loaded with the core purpose in the first sentence, followed by important behavioral notes. Both sentences earn their place by providing critical information without redundancy, making it efficient and well-structured.

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

Completeness4/5

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

Given the tool's complexity (a mutation to stop an active process), no annotations, and no output schema, the description is mostly complete. It covers purpose, usage, and post-action steps, but could improve by mentioning potential side effects or error cases, which are relevant for a stop operation.

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 parameter 'projectId' fully documented in the schema. The description does not add any additional meaning or context about the parameter beyond what the schema provides, so it meets the baseline score of 3.

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

Purpose5/5

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

The description clearly states the specific action ('stop active audit scan') and resource ('for a project'), distinguishing it from sibling tools like 'start_site_audit' (which initiates scans) and 'get_site_audits_list' (which lists audits). It precisely defines the tool's function without redundancy.

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

Usage Guidelines5/5

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

It explicitly provides when to use this tool ('stop active audit scan') and when not to (implied for inactive or completed audits). It also names an alternative tool ('get_site_audits_list') for checking the audit status after stopping, offering clear guidance on workflow.

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. 65 tool updates
    • First observedcreate_project
    • First observeddelete_project
    • First observedget_active_backlinks
    • First observedget_active_outlink_domains
    • First observedget_active_outlinks
    • First observedget_anchors
    • First observedget_backlinks_intersection
    • First observedget_backlinks_summary
    • First observedget_category_top_domains
    • First observedget_credits_for_audit_stats
    • First observedget_credits_stats
    • First observedget_domain_competitors
    • First observedget_domain_keywords
    • First observedget_domain_regions_count
    • First observedget_domain_uniq_keywords
    • First observedget_domain_urls
    • First observedget_domains_info
    • First observedget_keyword_competitors
    • First observedget_keyword_full_top
    • First observedget_keyword_suggestions
    • First observedget_keyword_top
    • First observedget_keyword_top_urls
    • First observedget_keywords
    • First observedget_keywords_info
    • First observedget_lost_backlinks
    • First observedget_market_categories
    • First observedget_referring_domains
    • First observedget_related_keywords
    • First observedget_rt_project_keyword_serp_history
    • First observedget_rt_project_regions_list
    • First observedget_rt_project_status
    • First observedget_rt_project_url_serp_history
    • First observedget_rt_projects_list
    • First observedget_site_audit_bref_info
    • First observedget_site_audit_deteailed_report
    • First observedget_site_audit_elements_with_issues
    • First observedget_site_audit_history
    • First observedget_site_audit_pages_spec_errors
    • First observedget_site_audit_project_default_settings
    • First observedget_site_audit_results_by_categories
    • First observedget_site_audit_scanned_urls_list
    • First observedget_site_audit_settings
    • First observedget_site_audits_list
    • First observedget_threat_backlinks
    • First observedget_top_pages_by_backlinks
    • First observedget_top10_anchors
    • First observedget_url_competitors
    • First observedget_url_keywords
    • First observedget_url_missing_keywords
    • First observedget_url_summary_traff
    • First observedlist_projects
    • First observedpage_audit_delete
    • First observedpage_audit_get_last_scans
    • First observedpage_audit_get_report_by_categories
    • First observedpage_audit_get_reports_for_page
    • First observedpage_audit_get_results_report
    • First observedpage_audit_get_scan_names
    • First observedpage_audit_report_drill_down
    • First observedpage_audit_rescan
    • First observedpage_audit_scan_logs
    • First observedpage_audit_start_scan
    • First observedpage_audit_stop
    • First observedset_site_audit_settings
    • First observedstart_site_audit
    • First observedstop_site_audit

TDQS

B3.4/5.0
Disambiguation3/5

Most tools have distinct purposes with clear resource-action pairs, but there is significant overlap in some areas, such as multiple backlink analysis tools (get_active_backlinks, get_backlinks_summary, get_lost_backlinks, get_threat_backlinks) and keyword analysis tools (get_keywords, get_keywords_info, get_related_keywords), which could cause confusion. Descriptions help differentiate them, but the sheer number of similar tools increases ambiguity.

Naming Consistency4/5

Tool names follow a consistent verb_noun pattern with snake_case throughout, such as 'get_domain_keywords' and 'start_site_audit'. Minor deviations exist, like 'page_audit_get_last_scans' using 'get' as a prefix rather than a verb, but overall the naming is predictable and readable.

Tool Count2/5

With 65 tools, the count is excessive for an MCP server, making it overwhelming and difficult for agents to navigate. While Serpstat's domain is broad (SEO, audits, rank tracking), the tool set feels bloated with many specialized or overlapping tools that could be consolidated.

Completeness5/5

The tool set provides comprehensive coverage for Serpstat's domain, including project management, backlink analysis, keyword research, site audits, and rank tracking. It supports full CRUD operations (e.g., create/delete projects, start/stop audits) and lifecycle management, with no obvious gaps that would hinder agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Provides AI assistants with access to Semrush SEO API functionality including domain analytics, keyword research, backlink analysis, and competitor insights.
    7
    16
    -
  • A
    license
    C
    quality
    D
    maintenance
    Connects AI assistants to SE Ranking's SEO and project management APIs to enable natural language queries for keyword research, backlink analysis, and technical audits. It supports comprehensive tasks including competitive analysis, domain traffic tracking, and AI search visibility monitoring.
    100
    Apache 2.0
  • A
    license
    Not graded
    quality
    F
    maintenance
    Connects AI assistants to SEO APIs for backlinks analysis, keyword research, and traffic analysis.
    16
    28
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Integrates with the Babbar.tech SEO API to enable AI assistants to perform advanced SEO analysis, competitor research, backlink auditing, and content gap identification.
    2
    MIT

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/SerpstatGlobal/serpstat-mcp-server-js'

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