Skip to main content
Glama

wordpress-mcp

npm version License: MIT MCP SDK

Lightweight WordPress MCP server for site management. 266 tools with token-optimized responses - REST API responses automatically slimmed from kilobytes to essentials.

v3.5: fields_* (12 tools) for cvrt-fields 0.1.2+ - status, settings, field types, location values, schemas and CRUD + JSON sync for field groups, post types, taxonomies and options pages.

v3.4: cvrt-legal 0.9.0 - markup repair switches (repairs on legal_put_accessibility) and report (legal_get_accessibility_report / legal_reset_accessibility_report), document type barrierefreiheit.

v3.3: every cvrt-legal admin route is a tool - generator (legal_*_generator*, library import from a local file), Impressum facts, social-media section, settings, and the self-hosted accessibility tool (legal_get_accessibility / legal_put_accessibility, cvrt-legal 0.8.0+).

v3.2: legal_consent_log_get / legal_consent_log_stats / legal_consent_log_export for the cvrt-legal consent decision log (needs cvrt-legal 0.5.0+); legal_put_consent takes log_enabled.

v3.1: Tools for our own plugins - seo_* (31) for cvrt-seo-manager, legal_* (15) for cvrt-legal incl. legal_link_page (cvrt-legal 0.4.2+), and fulfillment_* (8) for cvrt-order-fulfillment.

v3.0 (BREAKING): Multi-site - one server instance manages any number of sites via a single WORDPRESS_SITES env var. Every tool now requires a site argument; use the new list_sites tool to discover configured ids. The old single-site env vars are removed. wp_activate_plugin / wp_deactivate_plugin / wp_delete_plugin now use cvrt-mcp-endpoints mcp/v1 routes and take the plugin file path (e.g. akismet/akismet.php) instead of a slug.

v2.1: Now includes Pro modules for ACF and WooCommerce via wp-pilot-pro.

v2.0: Extended tools for the cvrt-mcp-endpoints plugin - install plugins/themes from WordPress.org, database management, full widget/menu control, and more.

Why This Server?

WordPress REST API returns extremely verbose JSON (~5-10KB per post). This server strips it down:

Response

Before

After

Reduction

wp_list_posts (10 posts)

~50KB

~2KB

96%

wp_get_post

~5KB

~200 bytes

96%

wp_list_plugins

~15KB

~800 bytes

95%

Less tokens = faster responses, lower costs, more context for your AI.

Related MCP server: WP Pinch

Installation

npm install -g @cavort-it-systems/wordpress-mcp

Or run directly:

npx @cavort-it-systems/wordpress-mcp

Configuration

v3.0 is multi-site (BREAKING CHANGE). A single server instance now manages any number of WordPress sites, defined in one WORDPRESS_SITES env var as a JSON array of {id, url, username, password} objects. The old single-site env vars (WORDPRESS_SITE_URL, WORDPRESS_USERNAME, WORDPRESS_PASSWORD) are no longer read - set WORDPRESS_SITES instead.

Every tool (except list_sites) now requires a site argument naming the target site id. Call list_sites first to discover which ids are configured - it returns {id, url} for each site (passwords are never returned or logged).

Claude Desktop / Manual

Add to your MCP config (~/.claude.json or Claude Desktop settings):

{
  "mcpServers": {
    "wordpress": {
      "command": "npx",
      "args": ["@cavort-it-systems/wordpress-mcp"],
      "env": {
        "WORDPRESS_SITES": "[{\"id\":\"boardcouture\",\"url\":\"https://boardcouture.shop\",\"username\":\"cavortkonzepte\",\"password\":\"xxxx xxxx xxxx\"}]"
      }
    }
  }
}

Add more sites by appending objects to the WORDPRESS_SITES array - one server instance handles them all.

Claude Code CLI

claude mcp add wordpress \
  -e WORDPRESS_SITES='[{"id":"boardcouture","url":"https://boardcouture.shop","username":"cavortkonzepte","password":"xxxx xxxx xxxx"}]' \
  -- npx @cavort-it-systems/wordpress-mcp

From Source

git clone https://github.com/cvrt-jh/wordpress-mcp.git
cd wordpress-mcp
npm install && npm run build

Authentication

Uses Application Passwords (WordPress 5.6+):

  1. Go to Users → Profile in WordPress admin

  2. Scroll to Application Passwords

  3. Create new password for "Claude MCP"

  4. Use the generated password (keep the spaces)

Response Slimming

All responses are automatically trimmed. Example:

wp_get_post - from ~5KB to ~200 bytes:

// Before (WordPress REST API raw)
{"id":123,"date":"2026-01-15T10:30:00","date_gmt":"2026-01-15T09:30:00",
"guid":{"rendered":"https://example.com/?p=123"},"modified":"2026-01-20T14:00:00",
"modified_gmt":"2026-01-20T13:00:00","slug":"my-post","status":"publish",
"type":"post","link":"https://example.com/my-post/","title":{"rendered":"My Post"},
"content":{"rendered":"<p>Full content...</p>","protected":false},
"excerpt":{"rendered":"<p>Excerpt...</p>","protected":false},
"author":1,"featured_media":456,"comment_status":"open","ping_status":"open",
"sticky":false,"template":"","format":"standard","meta":{"footnotes":""},
"categories":[1,5],"tags":[10,20],"class_list":["post-123","type-post",...],
"_links":{"self":[...],"collection":[...],"about":[...],...}}

// After (slimmed)
{"id":123,"title":"My Post","slug":"my-post","status":"publish",
"date":"2026-01-15T10:30:00","modified":"2026-01-20T14:00:00",
"link":"https://example.com/my-post/","excerpt":"Excerpt...",
"author":1,"categories":[1,5],"tags":[10,20],"featured_media":456}

What gets stripped:

Field

Where

Why

guid, _links

everywhere

Internal WordPress data

content.rendered

lists

Only included when explicitly requested

meta, class_list

posts/pages

Theme/plugin metadata

ping_status, comment_status

posts

Rarely needed

template, format, sticky

posts

Theme-specific

HTML tags

excerpts

Clean text output

Pretty-print JSON

all

Compact single-line output

Tools (249)

Every tool below requires a site argument (the id from your WORDPRESS_SITES config), except list_sites itself.

Sites (1)

  • list_sites - List configured site ids and URLs (no site argument; passwords never returned)

Standard WordPress REST API (42 tools)

These work with any WordPress site:

Site (4)

  • wp_site_info - Get site name, description, URL

  • wp_get_settings - Get site settings

  • wp_update_settings - Update site settings

  • wp_get_namespaces - List REST API namespaces

Posts (6)

  • wp_list_posts - List posts with filters

  • wp_get_post - Get single post

  • wp_create_post - Create post

  • wp_update_post - Update post

  • wp_delete_post - Delete post

  • wp_search_posts - Search posts

Pages (5)

  • wp_list_pages - List pages

  • wp_get_page - Get single page

  • wp_create_page - Create page

  • wp_update_page - Update page

  • wp_delete_page - Delete page

Users (6)

  • wp_list_users - List users

  • wp_me - Get current user

  • wp_get_user - Get user by ID

  • wp_create_user - Create user

  • wp_update_user - Update user

  • wp_delete_user - Delete user

Plugins (5)

  • wp_list_plugins - List plugins

  • wp_get_plugin - Get plugin details

  • wp_activate_plugin - Activate plugin (mcp/v1; plugin is the file path, e.g. akismet/akismet.php)

  • wp_deactivate_plugin - Deactivate plugin (mcp/v1; plugin is the file path)

  • wp_delete_plugin - Delete plugin (mcp/v1; plugin is the file path)

Themes (4)

  • wp_list_themes - List themes

  • wp_get_active_theme - Get active theme

  • wp_get_theme - Get theme details

  • wp_activate_theme - Switch themes

Media (4)

  • wp_list_media - List media library

  • wp_get_media - Get media item

  • wp_update_media - Update media metadata

  • wp_delete_media - Delete media

Categories & Tags (8)

  • wp_list_categories - List categories

  • wp_create_category - Create category

  • wp_update_category - Update category

  • wp_delete_category - Delete category

  • wp_list_tags - List tags

  • wp_create_tag - Create tag

  • wp_update_tag - Update tag

  • wp_delete_tag - Delete tag

Comments (6)

  • wp_list_comments - List comments

  • wp_get_comment - Get comment

  • wp_create_comment - Create comment

  • wp_update_comment - Update/moderate comment

  • wp_delete_comment - Delete comment

  • wp_moderate_comments - Batch moderate


Extended Tools (43 tools) - Requires cvrt-mcp-endpoints plugin

These require the cvrt-mcp-endpoints WordPress plugin to be installed and activated.

Plugin Management (4)

  • mcp_search_plugins - Search WordPress.org plugins

  • mcp_install_plugin - Install plugin from WordPress.org

  • mcp_update_plugin - Update single plugin

  • mcp_update_all_plugins - Update all plugins

Theme Management (5)

  • mcp_search_themes - Search WordPress.org themes

  • mcp_install_theme - Install theme from WordPress.org

  • mcp_update_theme - Update single theme

  • mcp_update_all_themes - Update all themes

  • mcp_delete_theme - Delete inactive theme

Core Management (6)

  • mcp_get_version - Get WordPress version info

  • mcp_get_system_info - Get comprehensive system info

  • mcp_check_updates - Check for all updates

  • mcp_update_core - Update WordPress core

  • mcp_flush_rewrite - Flush rewrite rules

  • mcp_flush_cache - Clear all caches

Database Management (5)

  • mcp_get_tables - List tables with sizes

  • mcp_search_replace - Search/replace in database

  • mcp_optimize_tables - Optimize all tables

  • mcp_clean_revisions - Delete old revisions

  • mcp_clean_comments - Delete spam/trash comments

Options Management (5)

  • mcp_list_options - List options with prefix filter

  • mcp_get_option - Get single option

  • mcp_set_option - Create/update option

  • mcp_delete_option - Delete option

  • mcp_bulk_get_options - Get multiple options

Menu Management (8)

  • mcp_list_menus - List navigation menus

  • mcp_get_menu_locations - Get theme locations

  • mcp_get_menu - Get menu with items

  • mcp_create_menu - Create menu

  • mcp_delete_menu - Delete menu

  • mcp_add_menu_item - Add menu item

  • mcp_delete_menu_item - Delete menu item

  • mcp_assign_menu_location - Assign menu to location

Widget Management (8)

  • mcp_list_sidebars - List all sidebars

  • mcp_get_sidebar_widgets - Get sidebar widgets

  • mcp_list_widget_types - List widget types

  • mcp_get_widget - Get widget details

  • mcp_add_widget - Add widget to sidebar

  • mcp_update_widget - Update widget settings

  • mcp_delete_widget - Remove widget

  • mcp_move_widget - Move widget to sidebar

Health & Diagnostics (6)

  • mcp_get_health - Site health score

  • mcp_get_debug_info - Debug information

  • mcp_get_php_info - PHP configuration

  • mcp_get_plugins_health - Plugin health/updates

  • mcp_get_cron_status - Cron jobs status

  • mcp_run_cron - Run cron hook manually


ACF Module (31 tools) - Requires wp-pilot-pro + ACF

Requires wp-pilot-pro and Advanced Custom Fields.

Field Groups (4)

  • acf_list_field_groups - List all field groups

  • acf_get_field_group - Get field group with schema

  • acf_export_field_groups - Export as JSON

  • acf_import_field_groups - Import from JSON

Post Fields (4)

  • acf_get_post_fields - Get all fields for post

  • acf_update_post_fields - Update multiple fields

  • acf_get_post_field - Get single field value

  • acf_update_post_field - Update single field

Term & User Fields (4)

  • acf_get_term_fields - Get term ACF fields

  • acf_update_term_fields - Update term fields

  • acf_get_user_fields - Get user ACF fields

  • acf_update_user_fields - Update user fields

Options Pages (3)

  • acf_list_options_pages - List options pages

  • acf_get_options_fields - Get options page fields

  • acf_update_options_fields - Update options fields

Repeater Fields (5)

  • acf_get_repeater - Get repeater rows

  • acf_add_repeater_row - Add row

  • acf_update_repeater_row - Update row

  • acf_delete_repeater_row - Delete row

  • acf_reorder_repeater - Reorder rows

Flexible Content (5)

  • acf_get_flexible - Get layouts

  • acf_add_flexible_layout - Add layout

  • acf_update_flexible_layout - Update layout

  • acf_delete_flexible_layout - Delete layout

  • acf_reorder_flexible - Reorder layouts

Relationship Fields (4)

  • acf_get_relationship - Get related posts

  • acf_set_relationship - Set related posts

  • acf_add_to_relationship - Add posts

  • acf_remove_from_relationship - Remove posts

Utility (2)

  • acf_get_clone_references - Get clone field refs

  • acf_get_field_object - Get field schema


WooCommerce Module (42 tools) - Requires wp-pilot-pro + WooCommerce

Requires wp-pilot-pro and WooCommerce.

Products (5)

  • woo_list_products - List products with filters

  • woo_get_product - Get product details

  • woo_create_product - Create product

  • woo_update_product - Update product

  • woo_delete_product - Delete product

Variations (4)

  • woo_list_variations - List product variations

  • woo_create_variation - Create variation

  • woo_update_variation - Update variation

  • woo_delete_variation - Delete variation

Attributes (4)

  • woo_list_attributes - List attributes

  • woo_list_attribute_terms - List attribute terms

  • woo_create_attribute - Create attribute

  • woo_create_attribute_term - Create term

Categories & Tags (5)

  • woo_list_categories - List product categories

  • woo_create_category - Create category

  • woo_update_category - Update category

  • woo_delete_category - Delete category

  • woo_list_tags - List product tags

Orders (5)

  • woo_list_orders - List orders

  • woo_get_order - Get order details

  • woo_update_order_status - Update status

  • woo_add_order_note - Add note

  • woo_get_order_notes - Get notes

Customers (5)

  • woo_list_customers - List customers

  • woo_get_customer - Get customer

  • woo_create_customer - Create customer

  • woo_update_customer - Update customer

  • woo_get_customer_orders - Get order history

Coupons (5)

  • woo_list_coupons - List coupons

  • woo_get_coupon - Get coupon

  • woo_create_coupon - Create coupon

  • woo_update_coupon - Update coupon

  • woo_delete_coupon - Delete coupon

Reports (3)

  • woo_sales_report - Sales report

  • woo_top_sellers - Top selling products

  • woo_stock_report - Stock status report

Product Meta & Inventory (3)

  • woo_get_product_meta - Get product meta

  • woo_update_product_meta - Update product meta

  • woo_bulk_update_stock - Bulk stock update

SEO Module (31 tools) - Requires cvrt-seo-manager

  • seo_status - Get cvrt-seo-manager status (version, configured, dependencies)

  • seo_get_settings - Get cvrt-seo-manager settings

  • seo_update_settings - Update cvrt-seo-manager settings

  • seo_get_post_seo - Get the SEO meta for a post

  • seo_update_post_seo - Update the SEO meta for a post

  • seo_delete_post_seo - Delete (reset) the SEO meta for a post

  • seo_get_post_analysis - Get the SEO analysis (score, issues) for a post

  • seo_list_posts_seo - List SEO meta across posts

  • seo_bulk_update_posts_seo - Bulk update SEO meta across multiple posts

  • seo_get_term_seo - Get the SEO meta for a taxonomy term

  • seo_update_term_seo - Update the SEO meta for a taxonomy term

  • seo_delete_term_seo - Delete (reset) the SEO meta for a taxonomy term

  • seo_keyword_check - Run the keyword analysis check

  • seo_list_redirects - List all redirects

  • seo_create_redirect - Create a redirect

  • seo_get_redirect - Get a redirect by id

  • seo_update_redirect - Update a redirect by id

  • seo_delete_redirect - Delete a redirect by id

  • seo_list_monitor_log - List the 404/redirect monitor log entries

  • seo_clear_monitor_log - Clear the 404/redirect monitor log

  • seo_create_redirect_from_log - Create a redirect directly from a monitor log entry

  • seo_sitemap_status - Get sitemap status

  • seo_sitemap_ping - Ping search engines with the sitemap

  • seo_indexnow_ping - Submit URLs to IndexNow

  • seo_export_settings - Export cvrt-seo-manager settings

  • seo_import_settings - Import cvrt-seo-manager settings

  • seo_export_csv - Export post SEO meta as CSV

  • seo_import_csv - Import post SEO meta from CSV

  • seo_export_redirects - Export redirects

  • seo_import_redirects - Import redirects

  • seo_import_migrate - Run a migration import (e.g

  • legal_status - Legal document status for a site: which documents are required, filled and published, plus a single compliant flag

  • legal_list_documents - List all legal document types with their required/filled state and linked page

  • legal_get_document - Get one legal document including its ordered sections

  • legal_put_document - Replace a legal document

  • legal_render_document - Render a document to normalized HTML without saving

  • legal_get_page - Get which page a legal document is linked to: linked, page_id, the page's post status, and ok (linked AND published)

  • legal_link_page - Link a legal document to its WordPress page (post type page only; posts and products are refused)

  • legal_add_section - Append a section to a legal document

  • legal_update_section - Update a section

  • legal_delete_section - Delete a section from a legal document

  • legal_get_consent - Get the cookie consent banner configuration

  • legal_put_consent - Configure the consent banner and every tracking credential the site uses

  • legal_get_theme - Get the banner theme: preset name, CSS custom property overrides and the rendered CSS

  • legal_put_theme - Set the banner theme preset and/or individual CSS custom properties

  • legal_get_settings - Get cvrt-legal settings

  • legal_consent_log_get - Get every logged consent decision for one consent_id

  • legal_consent_log_stats - Aggregate consent decision counts by action and banner_version over a day range

  • legal_consent_log_export - Export the raw consent decision log as CSV for a day range

  • legal_update_settings - Set the GitHub update token (write-only) and the required-document override

  • legal_get_facts / legal_put_facts - Impressum fields the generator fills into Impressum and Datenschutz (merge)

  • legal_get_generator / legal_put_generator - Selection of a generated document (modules, options, kept sections); a PUT regenerates it

  • legal_get_generator_library / legal_put_generator_library - The imported text library; import inline or via library_file (local .json)

  • legal_restore_generator - Restore the document as it was before the generator first wrote it

  • legal_get_social / legal_put_social - Social-media section: networks and profile URLs

  • legal_get_social_modules / legal_put_social_modules - The social-media text modules (inline or modules_file)

  • legal_get_accessibility / legal_put_accessibility - The self-hosted accessibility tool (replaces the Ally widget, no third-party request); repairs switches the markup repair rules (0.9.0+)

  • legal_get_accessibility_report / legal_reset_accessibility_report - What the markup repair fixed and what is still open, per page (0.9.0+)

Fields Module (12 tools) - Requires cvrt-fields 0.1.2+

  • fields_status - Plugin version, definition counts, ACF / Elementor presence, JSON sync state

  • fields_get_settings / fields_update_settings - Update token (masked as { set }, write-only, stored encrypted) and JSON sync path

  • fields_list_types - Available field types

  • fields_get_location_values - Values for location rules

  • fields_get_schema - Editor form schema of a definition kind

  • fields_list_definitions / fields_get_definition / fields_create_definition / fields_update_definition / fields_delete_definition - CRUD for groups, post-types, taxonomies, options-pages

  • fields_sync_definition - Copy a JSON-sourced definition into the database

Order Fulfillment Module (8 tools) - Requires cvrt-order-fulfillment 0.2.0+

  • fulfillment_get_settings - Get the cvrt-order-fulfillment plugin settings

  • fulfillment_update_settings - Update cvrt-order-fulfillment settings

  • fulfillment_status - Pipeline health: which credentials are set, ClickUp list/assignee, when the print agent last polled, and print-queue counts

  • fulfillment_queue - Print-queue state: status counts (pending/printing/printed/failed) and the recent jobs with their errors

  • fulfillment_reprint_job - Reset a print job to pending so the agent prints it again

  • fulfillment_fulfill_order - Manually (force) run fulfillment for an order: renders the packing slip, creates the ClickUp task, notifies Slack

  • fulfillment_update_check - Force an immediate plugin-update check (bypassing PUC's throttle) and report whether a newer version is available

  • fulfillment_update_apply - Install a pending cvrt-order-fulfillment update via WordPress's own upgrader (same code path as the wp-admin one-click update)

Architecture

src/
  index.ts          # Entry: McpServer + StdioServerTransport
  client.ts         # WordPress REST API client (Basic Auth)
  types.ts          # Shared Zod schemas + jsonResult helper
  slim.ts           # Response slimming transformers
  tools/
    # Standard WP REST API (wp/v2)
    site.ts         # 4 tools
    posts.ts        # 6 tools
    pages.ts        # 5 tools
    users.ts        # 6 tools
    plugins.ts      # 5 tools
    themes.ts       # 4 tools
    media.ts        # 4 tools
    taxonomies.ts   # 8 tools (categories + tags)
    comments.ts     # 6 tools
    # Extended (mcp/v1) - requires cvrt-mcp-endpoints plugin
    mcp-plugins.ts  # 4 tools - install from WordPress.org
    mcp-themes.ts   # 5 tools - install from WordPress.org
    mcp-core.ts     # 6 tools - updates, cache flush
    mcp-database.ts # 5 tools - search-replace, optimize
    mcp-options.ts  # 5 tools - full options CRUD
    mcp-menus.ts    # 8 tools - navigation menus
    mcp-widgets.ts  # 8 tools - sidebar widgets
    mcp-health.ts   # 6 tools - diagnostics, cron
    # Pro modules (mcp/v1) - requires wp-pilot-pro
    mcp-acf.ts      # 31 tools - ACF integration
    mcp-woo.ts      # 42 tools - WooCommerce

Multi-Site Support

One server instance manages all your sites via the WORDPRESS_SITES env var (see Configuration). Call list_sites to see configured ids, then pass site: "<id>" to any other tool:

{
  "mcpServers": {
    "wordpress": {
      "command": "npx",
      "args": ["@cavort-it-systems/wordpress-mcp"],
      "env": {
        "WORDPRESS_SITES": "[{\"id\":\"site1\",\"url\":\"https://site1.com\",\"username\":\"admin\",\"password\":\"xxxx xxxx xxxx xxxx\"},{\"id\":\"site2\",\"url\":\"https://site2.com\",\"username\":\"admin\",\"password\":\"yyyy yyyy yyyy yyyy\"}]"
      }
    }
  }
}

License

MIT

Available Tools

277 tools
acf_create_field_groupC

Create an ACF field group with fields

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoField group key (auto-generated if omitted)
siteYesSite id (see list_sites)
styleNodefault
titleYesField group title
fieldsYesArray of field definitions
locationNoLocation rules (defaults to post_type == post)
positionNonormal
hide_on_screenNo

TDQS

C2.8/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 behavioral burden and fails. It says nothing about required capabilities, what happens on key collision or duplicate titles, whether the group becomes active immediately, or what the call returns (no output schema exists to compensate).

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

Conciseness3/5

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

It is a single front-loaded clause with zero filler, which is structurally sound, but for an 8-parameter mutation tool the brevity reads as under-specification rather than disciplined conciseness.

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

Completeness2/5

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

A creation tool with no annotations, no output schema, and a nested array payload deserves far more: guidance on the site parameter, the location-rule default (post_type == post), and the auto-generated key behavior. None of that is surfaced in the description.

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 63%, close to the moderate baseline, and the schema itself documents key/site/title/fields/location defaults. The description adds only the word 'fields', which signals that field definitions are supplied inline but adds no syntax, nesting, or default behavior beyond what the schema already states.

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?

Names a specific verb and resource ('Create an ACF field group') and hints at the nested payload ('with fields'). However it does nothing to distinguish this from siblings such as acf_update_field_group, acf_import_field_groups, or acf_list_field_groups, so an agent must already know the ACF vocabulary to route correctly.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives like acf_import_field_groups (which also creates groups) or acf_update_field_group for existing ones. The agent is left to infer usage entirely.

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

acf_delete_field_groupC

Delete an ACF field group

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesField group key
siteYesSite id (see list_sites)

TDQS

C2.5/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. For a destructive operation it fails to state that deletion is permanent/irreversible, whether associated field data or post values are also removed, or whether any capability/permission is required. It says nothing beyond the action itself.

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

Conciseness3/5

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

The single phrase is front-loaded and wastes no words, but at four words it is under-specified rather than concise. Length is not the issue; the absence of any operational detail is.

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?

A destructive tool with no annotations and no output schema should at minimum warn about permanence and side effects. The description omits everything an agent needs to invoke it safely, leaving only the schema to carry the definition.

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%: both required parameters (key, site) are documented in the schema, including a pointer to list_sites. The description adds nothing beyond this, so the baseline of 3 applies.

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

Purpose3/5

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

The description states a specific verb (delete) and resource (ACF field group), and the verb alone separates it from acf_create_field_group and acf_update_field_group. However, it is a bare restatement of the tool name with no added scope, so it is minimum-viable rather than helpful.

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

Usage Guidelines2/5

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

No guidance on when to use this versus acf_update_field_group, acf_export_field_group, or acf_list_field_groups, and no mention of prerequisites such as first retrieving the key via acf_get_field_group. Usage is only implied by the verb.

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

acf_export_field_groupB

Export a field group in ACF JSON format (for import/backup)

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesField group key
siteYesSite id (see list_sites)

TDQS

B3.4/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 usefully discloses the export payload format (ACF JSON), which is beyond the schema, but it does not state whether the result is a returned JSON blob or a written file, whether the operation is purely read-only, or what permissions are required.

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?

A single front-loaded sentence with no filler; the format and purpose are packed into one clause. It is efficient, though nearly too terse to be maximally informative.

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?

For a 2-parameter export tool with no annotations and no output schema, the description should clarify the return shape (JSON string vs download file) and any permission requirements. It covers the format but leaves the consumption contract unstated.

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 both 'key' and 'site' are already documented in the schema; the description adds no meaning about either parameter. Baseline 3 applies 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?

States a specific verb (export) and resource (field group) plus the output format (ACF JSON). This clearly separates it from the sibling acf_import_field_groups and acf_get_field_group, though it never names those alternatives explicitly.

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 parenthetical '(for import/backup)' implies the intended use case, but there is no explicit when-to-use guidance, no prerequisites, and no statement of when to prefer acf_get_field_group or acf_import_field_groups instead.

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

acf_get_field_groupC

Get ACF field group with full field configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesField group key (e.g., group_abc123)
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it only implies read-only via the verb 'get'. It says nothing about authentication/site requirements, error behavior for a missing or invalid key, or whether the returned configuration is the raw stored definition versus resolved values.

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?

A single well-formed sentence with the resource front-loaded. Nothing is wasted, but there is so little content that there is no real structure to evaluate beyond brevity.

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?

For a two-parameter read tool with no output schema, an agent needs some hint about the return shape, and 'full field configuration' gives a partial one. With zero annotation coverage, more should be said about what the retrieval guarantees and requires.

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 coverage is 100% — 'key' includes a format example (group_abc123) and 'site' points to list_sites — so the schema already does the work. The description adds no parameter-level meaning beyond what is structured, which is the baseline 3 case.

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?

Clear verb 'Get' plus specific resource 'ACF field group', and 'with full field configuration' signals the payload is the complete group definition rather than a summary. It is distinguishable from acf_list_field_groups and acf_get_post_field by resource name, though it never explicitly contrasts itself with those siblings.

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 when-to-use guidance, no prerequisites, and no alternatives named. An agent must infer that this is the lookup used once a group key is known (e.g., after acf_list_field_groups) purely from the parameter names.

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

acf_get_post_fieldC

Get a single ACF field value for a post

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
fieldYesField name
formatNoformatted
post_idYesPost ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read but says nothing about whether the field must exist, what happens when ACF is inactive or the field is missing, what permissions are required, or what the returned value looks like for formatted vs raw.

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?

A single front-loaded sentence with no waste. It is arguably under-specified rather than verbose, but structurally it is clean and immediately parseable.

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?

With no annotations and no output schema, the description must carry the behavioral load for a 4-parameter tool, and it does not. It omits return-value shape and the formatted/raw distinction, leaving real gaps for an agent invoking it.

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

Parameters2/5

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

Schema coverage is 75% and the description adds nothing beyond it. Most notably it never explains the 'format' enum (formatted vs raw), which is the one parameter whose semantics materially change the result.

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?

Specific verb+resource: retrieves one ACF field value from a post. The singular 'single ... field value' implicitly distinguishes it from the plural sibling acf_get_post_fields, though it never names that sibling explicitly.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance. The word 'single' implies the contrast with acf_get_post_fields (bulk retrieval), but the agent must infer this rather than being routed to the alternative.

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

acf_get_post_fieldsC

Get all ACF field values for a post

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
formatNoformatted
post_idYesPost ID

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no permission/auth requirements, no rate or size limits, no statement of what the return looks like, and no explanation of the formatted-vs-raw tradeoff. For a read tool with zero annotation coverage this is a substantial 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?

A single front-loaded sentence with no filler. It is efficient, though its brevity is a symptom of under-specification rather than disciplined conciseness.

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

Completeness2/5

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

With no annotations and no output schema, the description must explain the return shape and the effect of the format parameter, and it does neither. An agent cannot tell what structure the ACF field values come back in or how raw output differs.

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

Parameters2/5

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

Schema coverage is 67%, below the level where the schema alone suffices. The 'format' enum (formatted/raw) has no description in either the schema or the tool description, so the agent gets no explanation of how raw vs formatted changes field values, and 'site'/'post_id' semantics come purely from 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?

States a specific verb and resource ('Get all ACF field values for a post'), so the operation is unambiguous. However it does not distinguish itself from the sibling acf_get_post_field (singular) or acf_update_post_fields, leaving the plural/singular choice to inference.

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

Usage Guidelines2/5

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

No guidance on when to use this batch read versus acf_get_post_field for a single field, and no prerequisites or context beyond the one-line purpose. The agent must guess from the tool names alone.

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

acf_import_field_groupsC

Import ACF field groups from JSON export format

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
groupsYesArray of ACF field group JSON objects

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the entire behavioral burden and fails to. It is silent on whether imported groups overwrite existing groups with matching keys, whether the operation is idempotent, what happens on malformed JSON, and what permissions are required — all critical for a bulk write 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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though the brevity is partly the cause of the missing behavioral detail rather than a virtue of disciplined writing.

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 two-parameter bulk import mutation with no annotations and no output schema, the description is too thin. It omits conflict/overwrite semantics, error behavior, and what the caller gets back, leaving the agent unable to predict the effect of the call.

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 both 'site' and 'groups' are already documented in the schema, which sets the baseline at 3. The description's phrase 'JSON export format' loosely ties to the 'groups' array but adds no structural detail (e.g., expected top-level keys) beyond 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?

States a specific verb (Import) and resource (ACF field groups) plus the accepted input format (JSON export format). It does not explicitly differentiate itself from the closely related acf_create_field_group or acf_update_field_group siblings, so an agent must infer that this is the bulk/JSON route rather than the single-definition route.

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 when-to-use guidance, no prerequisites, and no mention of the alternatives. It never says to prefer this over acf_create_field_group when migrating a full export, nor does it state that a site must be selected first (that hint only exists in the schema description).

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

acf_list_field_groupsB

List all ACF field groups with their fields

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. The verb 'List' implies read-only safety and 'with their fields' discloses return composition, but there is no mention of authentication, permissions, pagination, or whether inactive groups are included.

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?

A single front-loaded sentence with zero waste. It could be slightly richer without sacrificing conciseness, but it is well-structured and appropriately sized.

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?

For a simple one-parameter, read-only list tool with no output schema, the description tells the agent what is returned and implies safety. However, it omits usage context and any behavioral caveats that would matter without annotations, leaving it adequate but not 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?

Schema description coverage is 100% for the single 'site' parameter, so the schema already documents the parameter fully. The description adds no parameter meaning beyond what the schema provides, so baseline 3 applies.

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?

States a specific verb and resource: 'List all ACF field groups with their fields.' Clear enough to distinguish from singular getter acf_get_field_group, though it doesn't explicitly name the sibling or scope (active vs all).

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 when-to-use guidance, no alternatives, no prerequisites. The plural 'list all' implies a bulk overview use case, but nothing explains when to prefer this over acf_get_field_group or fields_list_definitions.

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

acf_update_field_groupC

Update an existing ACF field group

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesField group key
siteYesSite id (see list_sites)
styleNo
titleNoNew title
activeNo
fieldsNoUpdated field definitions (replaces all fields)
locationNoUpdated location rules
positionNo
hide_on_screenNo

TDQS

C2.6/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 behavioral burden, yet it adds nothing beyond restating the name. It does not disclose that updating fields replaces all existing field definitions (that detail lives only in the schema), nor permissions, reversibility, or side effects for a 9-parameter mutation.

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

Conciseness3/5

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

A single short, front-loaded sentence with no wasted words, but its brevity reflects under-specification rather than tight editing. Adequate as a label, thin as documentation.

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

Completeness2/5

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

For a mutation tool with 9 parameters, no annotations, no output schema, and only 56% schema coverage, the description is far too sparse. An agent lacks the destructive-replace semantics, prerequisite site/key context, and field-level guidance needed to call it correctly.

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

Parameters2/5

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

Schema coverage is only 56% across 9 parameters, so the description should compensate by clarifying the under-documented ones (style, active, position, hide_on_screen). It adds zero parameter meaning beyond the schema, leaving several fields unexplained.

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

Purpose4/5

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

The description states a specific verb (update) and resource (ACF field group), which lets an agent distinguish it from acf_create_field_group, acf_delete_field_group, acf_get_field_group, and acf_list_field_groups. It is clear but offers no additional scoping or sibling-specific nuance beyond the verb.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives such as acf_create_field_group for new groups or acf_update_post_fields for values. Usage is only implied by the word 'existing'.

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

acf_update_post_fieldC

Update a single ACF field value for a post

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
fieldYesField name
valueNoNew value
post_idYesPost ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the field must already exist, how the value is validated against the ACF field type, whether the change is reversible, or what permissions are required. For a mutation tool this is a significant gap.

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

Conciseness5/5

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

A single front-loaded sentence with no wasted words. It is appropriately sized for a tool whose parameters are fully documented in the schema.

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 a mutation tool with no annotations and no output schema, the description is too thin. It omits prerequisites (e.g., field existence), side effects, and how the update interacts with ACF field definitions or post state.

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%: all four parameters (site, post_id, field, value) are documented in the schema. The description adds no parameter semantics beyond that, so the baseline of 3 applies.

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?

States a specific verb (Update) and resource (a single ACF field value for a post). The word 'single' implicitly distinguishes it from the sibling acf_update_post_fields, but no sibling is named, so it stops short of full differentiation.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or alternatives are provided. The agent must infer from the name that this is for one field versus the plural sibling acf_update_post_fields.

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

acf_update_post_fieldsC

Update multiple ACF field values for a post

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
fieldsYesField name => value pairs
post_idYesPost ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden for a mutation tool. It does not say whether unspecified fields are preserved or overwritten, whether it requires auth, whether it fires hooks or creates revisions, or what it returns — all material for a write operation.

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?

A single efficient sentence with the verb and scope front-loaded and no wasted words. It is arguably under-specified rather than over-long.

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 nested-object mutation tool with no annotations and no output schema, the one-line description leaves key behaviors unexplained — merge vs replace semantics, permission needs, and error/return behavior. It should say more.

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 documented (site, post_id, fields) including a pointer to list_sites. The description adds no syntax or format guidance beyond the schema, so baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb (Update) and resource (ACF field values) scoped to a post, and the word 'multiple' distinguishes it from the singular sibling acf_update_post_field. It does not explicitly name that sibling, so it falls short of a 5.

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

Usage Guidelines2/5

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

The description gives no when-to-use condition, no alternative tools, and no prerequisites. The only implied hint is the plural 'multiple', which suggests bulk updates, but the agent is left to infer when to pick this over acf_update_post_field.

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

fields_create_definitionB

Create a definition (field group, post type, taxonomy or options page). Fails with 409 when the key exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesDefinition kind: field groups, post types, taxonomies or options pages
siteYesSite id (see list_sites)
definitionYesDefinition object in the shape of fields_get_schema for this kind (ACF-compatible)

TDQS

B3.3/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 does disclose one concrete behavioral trait — a 409 error when the key already exists — which is useful and non-obvious. However, it omits permission/auth requirements, whether creation is reversible, and the side effects of creating a post type or taxonomy (e.g., rewrite rule registration).

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?

One sentence plus a short failure clause, with the core action front-loaded and zero filler. Every clause carries 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?

For a mutating, nested-object tool with no annotations and no output schema, the description covers what is created and one error mode, but omits prerequisites (site id resolution via list_sites, schema lookup via fields_get_schema), auth requirements, and any return information. Adequate but 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%, so the schema already documents all three parameters, including the kind enum and the 'definition' object's shape reference to fields_get_schema. The description adds no syntax, format, or constraint detail beyond restating the kinds, so the baseline 3 applies.

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?

States a specific verb ('Create') and resource ('definition'), and enumerates the four kinds (field group, post type, taxonomy, options page) that map to the 'kind' enum. The verb distinguishes it from siblings like fields_update_definition or fields_delete_definition, though those alternatives are never named explicitly.

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 when-to-use guidance, no prerequisites, and no routing to alternatives. It states a failure condition (409 on existing key) but never tells the agent when to choose create over update/sync, or that fields_get_schema should be consulted first even though the schema references it.

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

fields_delete_definitionB

Delete a database definition. Stored field values stay in post/term/user meta and options.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesDefinition key (lowercase letters, digits, underscore), e.g. group_event or event
kindYesDefinition kind: field groups, post types, taxonomies or options pages
siteYesSite id (see list_sites)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose one valuable, non-obvious side effect — stored field values remain in post/term/user meta and options after the definition is deleted — but omits permissions required, reversibility, and what happens to now-orphaned values.

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?

Two short sentences, the destructive action front-loaded and the persistence caveat immediately after. No filler.

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?

For a destructive mutation tool with no annotations and no output schema, the description covers the key data-persistence consequence but leaves auth/permission requirements and reversibility unstated, so it is only partially 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?

Schema coverage is 100% with clear descriptions for key, kind (with enum), and site, so the schema does the heavy lifting. The description adds only indirect context about where values live, without extra semantics for any parameter.

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

Purpose4/5

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

States a specific verb+resource ('Delete a database definition'), and the schema's enum clarifies the four kinds of definitions involved. It does not explicitly distinguish itself from siblings like fields_update_definition or fields_sync_definition, but the field-family naming and the 'delete' verb make the intent unmistakable.

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 when-to-use guidance, no prerequisites, and no mention of alternatives (e.g., fields_update_definition or fields_sync_definition when you only want to change or refresh a definition rather than remove it). The agent must infer context entirely.

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

fields_get_definitionC

Get one definition by kind and key.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesDefinition key (lowercase letters, digits, underscore), e.g. group_event or event
kindYesDefinition kind: field groups, post types, taxonomies or options pages
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. 'Get' implies a read-only operation, but nothing is said about permissions, whether a missing definition errors or returns empty, or how the definition relates to sibling 'definition' resources. This is thin for a tool with zero annotation coverage.

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

Conciseness4/5

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

A single short sentence with the lookup keys front-loaded and no waste. It is efficient, though arguably under-specified rather than genuinely concise.

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 3-required-parameter getter with no output schema and no annotations, the description should clarify what a 'definition' is, what the returned object looks like, and how it pairs with fields_list_definitions/fields_update_definition. None of that is present, leaving an incomplete picture 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?

Schema description coverage is 100%: key, kind, and site are each documented in-schema, including the enum for kind and the key pattern. The description only restates 'kind and key' and omits the required 'site' parameter, so it adds no meaning beyond the schema — baseline 3.

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?

States a specific verb+resource ('Get one definition') and constrains it by 'kind and key', which distinguishes it in spirit from siblings like fields_list_definitions and fields_get_schema. However, it never names those siblings, so the differentiation is implicit rather than explicit.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus fields_list_definitions, fields_get_schema, or fields_get_settings. An agent must infer the selection rule entirely from the tool name.

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

fields_get_location_valuesB

Values usable in field-group location rules: post types, page templates, taxonomies, options pages, user forms.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.3/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 the categories of values returned, which sets expectations, but it does not explicitly state that the operation is read-only, whether it has side effects, or what the response structure looks like. For a simple retrieval tool this is minimally adequate but incomplete.

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 compact line that front-loads the value domain and contains no filler. Every word contributes to identifying what values the tool returns. The telegraphic noun-phrase style is appropriate for a simple getter.

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 a one-parameter read-only tool with a fully described schema and no output schema, the description identifies the value categories but leaves the return shape (e.g., list vs. grouped object) and usage context unspecified. It is borderline adequate but an agent would still need to inspect other resources to use it confidently.

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%: the sole parameter 'site' is fully documented in the schema with a pointer to list_sites. The description adds no additional meaning about the parameter. The baseline is 3 because the schema already does the work of documenting the parameter.

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

Purpose4/5

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

The description states that this tool retrieves values used in field-group location rules and enumerates the value categories (post types, page templates, taxonomies, options pages, user forms). The name supplies the verb 'get' and the resource is clear. It distinguishes from sibling schema or definition tools, though it does not state a verb or scope in the description itself.

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 offers no when-to-use guidance, prerequisites, or alternative tools. The phrase 'usable in field-group location rules' implies a context, but it does not tell an agent when to call this versus fields_get_schema, fields_list_definitions, or other field tools.

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

fields_get_schemaA

Editor form schema of one definition kind (fields and their options). Read it before fields_create_definition / fields_update_definition.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesDefinition kind: field groups, post types, taxonomies or options pages
siteYesSite id (see list_sites)

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the workflow dependency (call before create/update) and implies a read-only schema fetch, but says nothing about permissions, whether the schema varies per site/kind, or any rate/access constraints.

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

Conciseness5/5

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

Two sentences, zero filler, with the resource stated first and the routing instruction second. Every clause 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 two-param, read-only schema getter with no output schema, the description is nearly sufficient: it states the resource and the workflow position. It stops short of hinting at the schema's shape, which would help since no output schema exists.

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% and the kind enum is fully documented in the schema, so the baseline is 3. The description adds only "fields and their options" about the return, not new meaning for the site or kind parameters.

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

Purpose4/5

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

Names a specific verb and resource: retrieve the editor form schema for one definition kind, with a parenthetical clarifying it returns fields and their options. This distinguishes it from sibling readers like fields_get_definition and fields_list_definitions, though it doesn't explicitly contrast them.

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?

"Read it before fields_create_definition / fields_update_definition" gives explicit ordering guidance that selects this tool over its siblings. No when-not conditions or prerequisites are stated, but the sequencing rule is unambiguous.

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

fields_get_settingsA

Get cvrt-fields settings. The GitHub update token is returned as { set: boolean }, never raw; also the JSON sync path and whether it is writable.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

A3.8/5.0
Behavior4/5

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

No annotations exist, so the description carries the burden and does so well: it discloses that the GitHub update token is returned only as { set: boolean } and never raw, plus that JSON sync path and writability are included. This is meaningful behavioral/pitfall context beyond the schema. It doesn't spell out permission requirements, which is a minor 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?

Two tight sentences, front-loaded with the core action, then the key return-value caveat. Every clause earns its place with zero filler.

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?

With no output schema, the description usefully summarizes the notable return fields (token redaction state, sync path, writability). It doesn't enumerate the full settings payload, but for a simple one-param getter it is nearly 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?

Schema coverage is 100% and the single 'site' parameter is fully documented in the schema, so baseline is 3. The description adds no syntax or format detail about the site parameter beyond 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?

States a specific verb+resource ('Get cvrt-fields settings'), clearly distinguishing it from the sibling fields_update_settings. However, it does not explicitly name its siblings or scope against fields_status/fields_get_schema, so it stops short of full differentiation.

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?

Usage is implied by the read-only getter nature (read settings before changing them), but there is no explicit when-to-use, when-not, or routing to alternatives like fields_update_settings. Adequate but leaves the agent to infer context.

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

fields_list_definitionsB

List all definitions of one kind from every source (database, JSON, PHP) with their _source.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYesDefinition kind: field groups, post types, taxonomies or options pages
siteYesSite id (see list_sites)

TDQS

B3.2/5.0
Behavior3/5

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

No annotations, so the description carries the burden; 'List' implies a read, and it usefully discloses that results aggregate across database, JSON, and PHP sources with a _source field on each item. It does not state permissions, result size, or pagination, which matters since there is 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?

A single tightly front-loaded sentence with no filler; the source scope is stated before the modifier. The trailing 'with their _source' is slightly cryptic but still earns its place by hinting at return content.

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?

Two required parameters are fully schema-documented, so the callable surface is complete. With no output schema and no annotation coverage, the description stops short of explaining what a 'definition' contains or how many come back, leaving a modest gap.

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 'kind' enum fully enumerated and 'site' pointing to list_sites, so the schema does the heavy lifting. The description only reinforces the 'one kind' and 'every source' framing, adding little beyond 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?

States a specific verb (list) and resource (definitions) with a distinguishing scope clause: 'of one kind from every source (database, JSON, PHP)'. However it never disambiguates 'definitions' from neighbors like fields_get_definition or acf_list_field_groups, so an agent must infer the relationship.

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 when-to-use guidance at all. With siblings such as fields_get_definition, fields_list_types, and acf_list_field_groups, the description gives no condition for choosing this tool or any exclusion, leaving the agent to guess.

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

fields_list_typesB

List the available field types (text, date_picker, image, relationship, ...) with their settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

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 behavioral burden. It does not explicitly state that this is a read-only operation, whether it requires elevated permissions, or what the response format looks like beyond 'with their settings'.

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, front-loaded sentence that states the action and the return content, with helpful examples. There is no redundant or wasted text.

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 list tool with no output schema, the description adequately explains what is returned (field types with settings). It could be slightly more complete by mentioning the site scope or read-only nature, but the essential context is present.

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 coverage is 100%, so the schema already documents the single 'site' parameter with a pointer to list_sites. The description adds no additional parameter syntax or meaning beyond what the schema provides, so the baseline score of 3 applies.

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

Purpose4/5

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

States a specific verb and resource: 'List the available field types ... with their settings', and gives concrete examples of field types. It is clear what the tool does, but it does not explicitly distinguish itself from sibling tools such as fields_list_definitions or fields_get_schema.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only states what the tool returns, leaving the agent to infer appropriate usage.

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

fields_statusB

cvrt-fields status: plugin version, definition counts per kind, whether ACF / Elementor / Elementor Pro are active, JSON sync state and JSON read error.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.4/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 does disclose useful behavioral details: what data appears in the response (version, counts, plugin states, sync state, error condition). However, it doesn't state whether this is a read-only operation (implied but not explicit), whether it requires authentication, or whether it's safe to call frequently. For a status tool with no annotation coverage, the description provides moderate but incomplete 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.

Conciseness4/5

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

A single compact sentence that enumerates the returned fields in a terse, comma-separated list. It is efficiently front-loaded with the tool's subject ('cvrt-fields status') and wastes no words. The telegraphic style trades some readability for brevity, but stays 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?

For a simple diagnostic tool with one schema-documented parameter, the description covers what an agent needs to know about the output at a high level. No output schema exists, so the field enumeration is helpful, but it doesn't explain return format, pagination, or failure modes beyond mentioning a 'JSON read error' item. Adequate but with room for more detail on what each reported field means.

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% and there is only one parameter ('site'), fully documented in the schema with a pointer to list_sites. The description adds no additional parameter information (no format hints, no edge cases). 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?

States a specific resource (cvrt-fields status) and enumerates exactly what the status report contains: plugin version, definition counts per kind, plugin active states, JSON sync state, and JSON read error. This gives an agent a clear picture of the tool's diagnostic purpose. Loses a point because it doesn't differentiate from siblings like seo_status, legal_status, or fulfillment_status, though the domain prefix 'cvrt-fields' provides implicit scoping.

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 diagnostics (checking plugin version, active plugins, sync state) but gives no explicit when-to-use guidance, no statement about when not to use it, and no alternatives. An agent can infer this is a status-check tool, but is left to decide independently when it's warranted over generic health checks like mcp_get_health or mcp_get_plugins_health.

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

fields_sync_definitionB

Copy a JSON-sourced definition into the database. Only JSON definitions can be synced.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesDefinition key (lowercase letters, digits, underscore), e.g. group_event or event
kindYesDefinition kind: field groups, post types, taxonomies or options pages
siteYesSite id (see list_sites)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It implies a database write ('Copy ... into the database') but does not say whether an existing definition is overwritten, whether prior DB state is lost, what auth is required, or how conflicts between JSON and DB versions are resolved — significant 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.

Conciseness5/5

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

Two short sentences, zero filler, with the core action front-loaded and the precondition immediately after it. Nothing could be removed without losing meaning.

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?

For a three-parameter write tool with no annotations and no output schema, the description covers the core action and one precondition, and the schema fully documents the parameters. However, the consequences of syncing (overwrite semantics, return value, error cases) are absent, leaving the agent under-informed about the operation's effect.

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 site, kind (enum of four definition types) and key all documented in the schema itself, so the baseline is 3. The description adds 'JSON-sourced' framing but no syntax, format, or default info beyond what the schema already states.

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?

States a specific verb ('Copy ... into the database') and resource ('JSON-sourced definition'), and the qualifier 'JSON-sourced' distinguishes it from the sibling fields_create_definition/fields_update_definition. It doesn't explicitly name those siblings, so an agent must infer the boundary, keeping it at a 4 rather than a 5.

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

Usage Guidelines3/5

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

'Only JSON definitions can be synced' gives one exclusion condition, which is real guidance, but it never says when to prefer this over fields_create_definition or fields_update_definition, nor what to do if the definition is not JSON-sourced. Usage is implied rather than routed.

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

fields_update_definitionB

Replace a definition. 409 cvrt_fields_json_shadowed means a read-only JSON file still overrides the database copy.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesDefinition key (lowercase letters, digits, underscore), e.g. group_event or event
kindYesDefinition kind: field groups, post types, taxonomies or options pages
siteYesSite id (see list_sites)
definitionYesDefinition object in the shape of fields_get_schema for this kind (ACF-compatible)

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It adds real value by disclosing a specific failure mode (409 cvrt_fields_json_shadowed: a read-only JSON file still overrides the DB copy), but it omits whether the operation overwrites irreversibly, what permissions are required, or what happens to unspecified fields.

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?

Two short, front-loaded sentences with no filler; the primary action leads and the error hint follows. The terseness borders on under-specification, but nothing is wasted.

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?

The schema fully documents the four required parameters and the definition object shape, so the inputs are covered. But for a destructive replacement tool with no annotations and no output schema, the description leaves mutation semantics and prerequisites unexplained.

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 all four parameters documented in the schema itself, including the 'definition' object's reference to fields_get_schema. The description adds nothing about parameter format or constraints, so the baseline 3 applies.

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?

States a specific verb and resource ('Replace a definition'), which is clear enough to distinguish from fields_create_definition and fields_delete_definition. However, it never names those siblings or clarifies that this is a full overwrite of an existing definition, so routing still requires opening the schema.

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?

Provides no when-to-use guidance and never references alternatives like fields_create_definition or fields_sync_definition. The 409 note is diagnostic context, not a usage condition, so the agent must infer all invocation criteria.

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

fields_update_settingsA

Update cvrt-fields settings. github_token is write-only and stored encrypted; a blank or omitted token keeps the stored one. clear_github_token: true deletes it.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
github_tokenNo
clear_github_tokenNo

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does real work: it discloses that github_token is write-only and stored encrypted, that a blank/omitted token preserves the existing value, and that clear_github_token:true deletes it. It still omits permission/authentication requirements and whether the update is reversible, so it falls short of a 5 for an unannotated 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.

Conciseness5/5

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

Two compact sentences, front-loaded with the core action and followed by the non-obvious token handling rules. No filler and every clause adds 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 3-parameter settings mutation with no annotations and no output schema, the description covers the two non-obvious params thoroughly and the third via the schema reference. It stops short of stating permissions or the response, but nothing critical to invoking it correctly is missing.

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 only 33% (only `site` is documented), but the description compensates by explaining the semantics of the two undocumented params: write-only/encrypted storage, blank-keeps semantics for github_token, and the delete behavior of clear_github_token. The `site` param is left to 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?

States a specific verb+resource ("Update cvrt-fields settings") that an agent can pair with the read-side siblings fields_get_settings / fields_status. It is clear, but it does not explain what "cvrt-fields" is or differentiate itself from the other fields_* tools beyond the update verb.

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?

There is no explicit when-to-use or when-not-to-use guidance and no mention of the read counterpart. The mutation semantics are implied by the verb and by the surrounding fields_get_settings/fields_status siblings, which is the minimum viable level.

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

fulfillment_fulfill_orderA

Manually (force) run fulfillment for an order: renders the packing slip, creates the ClickUp task, notifies Slack. Bypasses the idempotency guard, so it can create a duplicate ClickUp task. Audit-logged.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
order_idYesThe WooCommerce order id

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the idempotency guard bypass, the concrete risk (duplicate ClickUp task), the side effects (packing slip, task, Slack notification), and that actions are audit-logged. This is exactly the kind of consequence information an agent needs before a destructive re-run.

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?

Two tight sentences with the action and its consequences front-loaded; no filler, every clause 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 mutation tool with no annotations and no output schema, the description covers behavior and risk thoroughly. It stops short of describing the return value or any permission prerequisite, which would fully close the gap.

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%; both 'site' and 'order_id' are documented in the schema, including a pointer to list_sites. The description adds no parameter-level detail, so the baseline 3 applies.

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?

States a specific verb (run fulfillment), the resource (an order), and enumerates the concrete effects (packing slip, ClickUp task, Slack). It is clearly differentiated from siblings like fulfillment_queue and fulfillment_reprint_job, which do not force a full re-run.

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?

'Manually (force)' implies the tool is for deliberate manual invocation rather than the normal automated path, but it never names an alternative (e.g. fulfillment_queue) or states when NOT to use it. Usage context is implied, not spelled out.

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

fulfillment_get_settingsA

Get the cvrt-order-fulfillment plugin settings. Secret values are returned as { set: boolean }, never raw.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

A3.6/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, and it delivers a genuinely non-obvious behavioral trait: secret values are masked as { set: boolean } and never returned raw. That is exactly the kind of context an agent needs before reading settings. It stops short of stating auth requirements or read-only confirmation, but the masking disclosure is substantive.

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?

Two tight sentences with no filler; the resource scope is front-loaded and the return-shape caveat follows immediately. Every clause 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?

With no output schema and no annotations, the description correctly compensates by explaining the shape of sensitive return values. What an agent needs to call this safely and interpret secrets is largely present, though the full non-secret return shape is left unstated.

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% and the single 'site' param is already documented as 'Site id (see list_sites)'. The description adds no syntax, default, or format detail beyond the schema, so the baseline 3 applies.

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?

States a specific verb ('Get') and a precisely scoped resource ('cvrt-order-fulfillment plugin settings'), which separates it from siblings like fulfillment_status or fulfillment_queue. It does not explicitly name the contrasting sibling (fulfillment_update_settings), but the resource is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: nothing says to call this to inspect configuration before fulfillment_update_settings, nor any prerequisite or exclusion. Usage is only implied by the getter/updater naming convention among siblings.

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

fulfillment_queueB

Print-queue state: status counts (pending/printing/printed/failed) and the recent jobs with their errors.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses return content (counted states and job error details), which is real behavioral value, but it never confirms this is a read-only operation, nor whether results are paginated or scoped by time, so a caller cannot fully predict behavior.

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?

A single front-loaded sentence fragment with no padding; the resource comes first and the payload follows. It loses a point only for being a noun phrase rather than a statement of what the tool does.

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?

For a read tool with no output schema, describing the returned counts and job errors partly compensates, but the absence of annotations, output schema, and any usage context leaves gaps about safety and when this tool should be preferred over the related fulfillment_status 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?

Only one parameter exists and the schema documents it fully ('Site id (see list_sites)') at 100% coverage, so the baseline is 3. The description adds nothing about the site parameter or its implications for the queue returned.

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 names a specific resource (the print/fulfillment queue) and enumerates what it exposes: status counts across four states and recent jobs with errors. That is well beyond a tautology. It does not, however, differentiate itself from the sibling fulfillment_status, which an agent could easily confuse with it.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to call this versus fulfillment_status, fulfillment_get_settings, or fulfillment_update_check. The nearest-sounding sibling (fulfillment_status) is not mentioned, leaving the agent to infer the distinction from the names alone.

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

fulfillment_reprint_jobA

Reset a print job to pending so the agent prints it again.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
job_idYesThe print job id (from fulfillment_queue)

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden; it does disclose the core state transition (job goes back to pending and is re-printed), which is genuinely useful. It omits side effects an agent should know: whether this creates a duplicate print, what happens if the job is already pending or already completed, and any permission requirements.

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?

One sentence, front-loaded with the action and the state change, with no filler. Every word contributes to understanding the operation.

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?

For a simple two-parameter mutation tool with full schema coverage and no output schema, the description covers the essential action but leaves out error/edge-case behavior and the conditions under which reprinting is appropriate. Adequate but 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%, so 'site' and 'job_id' are already documented in the schema, including where job_id comes from (fulfillment_queue). The description adds no parameter-level detail beyond that, so the baseline 3 applies.

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?

States a specific verb and resource ('Reset a print job to pending') and adds the intended effect ('so the agent prints it again'), so an agent knows exactly what operation this is. It does not explicitly differentiate itself from the nearby fulfillment_* siblings such as fulfillment_queue or fulfillment_fulfill_order, which keeps it from a 5.

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

Usage Guidelines3/5

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

The phrase 'so the agent prints it again' implies the use case (recovering a job that needs reprinting) but gives no explicit when-to-use condition, prerequisites, or named alternative such as fulfillment_queue. Usage is inferable rather than stated.

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

fulfillment_statusC

Pipeline health: which credentials are set, ClickUp list/assignee, when the print agent last polled, and print-queue counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It lists the returned fields but never states that this is a safe read with no side effects, nor does it mention permissions or rate limits. For a status endpoint, the omission is notable though partially implied by 'pipeline health.'

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?

A single front-loaded sentence opens with the category ('Pipeline health') and then enumerates the components. It is efficient with no filler, though the colon-list format is terse rather than maximally informative.

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?

For a one-parameter, no-annotation, no-output-schema tool, the description usefully compensates for the missing output schema by enumerating what is returned. However, it leaves gaps around when to use it versus sibling fulfillment diagnostics and does not state that it is read-only.

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?

There is a single parameter with 100% schema description coverage, so the schema already defines 'site' as a site id referencing list_sites. The description adds no parameter information, which meets the expected baseline when schema coverage is high.

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 this is a pipeline-health status report and enumerates its contents (credentials, ClickUp list/assignee, last poll, queue counts). It is a clear read-only diagnostic rather than an action, but it does not explicitly differentiate itself from siblings like fulfillment_queue or fulfillment_get_settings.

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 given on when to call this versus the many fulfillment siblings. There is no mention of prerequisites, intended audience, or conditions that select this diagnostic over fulfillment_get_settings or fulfillment_queue.

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

fulfillment_update_applyA

Install a pending cvrt-order-fulfillment update via WordPress's own upgrader (same code path as the wp-admin one-click update). Reports { applied, from, to }. Audit-logged.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does meaningful work: it discloses the exact mechanism (WordPress's own upgrader, same code path as one-click wp-admin update), the mutation being applied, the returned fields { applied, from, to }, and that the action is audit-logged. It does not address reversibility/rollback, permissions, or whether the site is briefly unavailable during install.

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 short sentences, front-loaded with the action, then the mechanism, then the result contract. No filler and nothing an agent must dig for.

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 one-parameter mutation tool with no annotations and no output schema, the description supplies the missing return-shape information ({ applied, from, to }) and confirms audit logging. The notable gap is safety context: no statement about failure handling, rollback, or interruption during install.

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?

There is a single parameter ('site') and the schema documents it at 100% coverage ('Site id (see list_sites)'), so the schema already does the work. The description adds no further syntax or sourcing guidance beyond what the schema provides, matching the baseline for high-coverage schemas.

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 gives a specific verb and resource ('Install a pending cvrt-order-fulfillment update') and scopes it to pending updates, making it distinguishable from the read-only sibling fulfillment_update_check. It stops short of naming that sibling, so the differentiation is implied rather than explicit.

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 word 'pending' implies a precondition (something must first report an available update, i.e. fulfillment_update_check), but the description never states when to call this versus checking, nor any exclusions. Usage is inferable but not spelled out.

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

fulfillment_update_checkA

Force an immediate plugin-update check (bypassing PUC's throttle) and report whether a newer version is available. Throttled to about once per 30s.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It usefully discloses that it bypasses PUC's throttle and is rate-limited to about once per 30 seconds, but it does not address permissions, whether any state is modified, or what a response contains.

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?

Two sentences are front-loaded with the action and outcome, followed by the critical rate-limit constraint. Every sentence earns its place with no filler.

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 check tool with no output schema and no annotations, the description covers the core behavior, outcome, and rate limit. It could be slightly more complete by clarifying whether the check is read-only or by naming related alternatives.

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 single site parameter is already documented in the schema as a site id referencing list_sites. The description adds no additional parameter meaning beyond the schema baseline.

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

Purpose4/5

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

The description states a specific verb and resource: force an immediate plugin-update check and report whether a newer version is available. It is clearer than a tautology and mentions the PUC throttle, but it does not explicitly distinguish itself from sibling update-check tools such as mcp_check_updates.

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?

Usage is implied rather than stated: use it when an immediate, throttled update check is needed. It does not name alternatives or say when not to use it versus mcp_check_updates or update-related siblings.

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

fulfillment_update_settingsA

Update cvrt-order-fulfillment settings. Only provide the keys you want to change. A blank/omitted secret keeps the stored value (never wipes it). Keys: clickup_token, clickup_list_id, clickup_assignee_id, agent_token, webhook_secret, github_updater_token, slack_webhook_url.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
agent_tokenNo
clickup_tokenNo
webhook_secretNo
clickup_list_idNo
slack_webhook_urlNo
clickup_assignee_idNo
github_updater_tokenNo

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry full behavioral disclosure. It does reveal a key safety trait—omitted secrets are never wiped—and implies partial update semantics. However, it omits other relevant behavior such as authentication requirements, whether the update is reversible, and what happens to non-secret fields when omitted.

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 short and front-loaded with purpose, then the partial update rule, then the key list. The key list is somewhat redundant with the schema properties, but it aids quick reference. No wasted sentences overall.

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 8 parameters, no annotations, no output schema, and very low schema description coverage, the description is incomplete. It lacks any explanation of what the secret tokens and IDs are for, does not mention authentication or site selection, and does not describe the return value (e.g., updated settings).

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

Parameters2/5

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

Schema coverage is only 13% (only 'site' has a description). The description lists the key names but adds no per-parameter meaning beyond what the schema property names already convey, and it does not explain expected formats or purposes (e.g., what each token is for). It does mention partial updates, but that is a usage rule, not parameter semantics.

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 states a specific verb ('Update') and resource ('cvrt-order-fulfillment settings'), making it immediately clear what the tool does. It implicitly distinguishes itself from the sibling fulfillment_get_settings (which reads) without needing to name it.

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?

It gives clear usage context: 'Only provide the keys you want to change' and explains that blank/omitted secrets keep the stored value. This is explicit guidance on how to invoke it for partial updates, though it does not name alternative tools or when-not-to-use conditions.

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

list_sitesA

List the WordPress sites this server can manage. Every other tool requires a site argument set to one of these ids.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the cross-tool prerequisite that other tools need a site id from this list, but it does not describe the return structure, ordering, permissions, or any 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?

Two short sentences, front-loaded with the tool's purpose and followed immediately by the critical integration detail. There is no filler or repetition.

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 list tool with no output schema and no annotations, the description gives enough context to call it correctly: what it lists and why the result matters. It could be slightly more complete by explicitly stating that the return value is a collection of site identifiers.

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 takes zero parameters, so the baseline is 4. The description correctly focuses on the tool's role rather than inventing parameter semantics that do not exist.

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 uses a specific verb and resource: it lists the WordPress sites this server can manage. It also distinguishes itself from siblings by explaining that every other tool requires a `site` argument set to one of these ids, so an agent can immediately tell this is the discovery/prerequisite tool.

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?

It provides a clear usage trigger: call this to obtain the site ids needed by other tools. It does not state when not to use it or name explicit alternatives, but no alternative discovery tool is apparent among the siblings.

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

mcp_add_menu_itemC

Add an item to a menu

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL for custom links
siteYesSite id (see list_sites)
titleYesMenu item title
objectNoObject type (page, product_cat, etc.)
parentNoParent menu item ID
menu_idYesMenu ID
positionNoPosition in menu
object_idNoObject ID
object_typeNoItem typecustom

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the basic mutation. It does not state required permissions, what happens on duplicate items, whether position/parent defaults matter, or what the call returns.

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?

A single economical sentence that is front-loaded with the action and resource, with no filler. It is efficient, though it borders on under-specification for a 9-parameter mutation tool.

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 mutation tool with no annotations and no output schema, the description is too thin: it omits behavioral consequences, permission requirements, and any noteworthiness of the object_type/url custom-link distinction. The rich schema partially compensates but the description does not.

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 itself documents all 9 parameters (site, menu_id, title, url, object, object_id, object_type, parent, position). The description adds no meaning beyond that, so the baseline 3 applies.

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

Purpose4/5

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

The description states a clear verb+resource ('Add an item to a menu'), which an agent can distinguish from mcp_update_menu_item and mcp_delete_menu_item. However, it offers no explicit differentiation or scoping versus those siblings beyond the obvious verb.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives like mcp_update_menu_item for modifying an existing item. The agent must infer the relationship to sibling tools entirely on its own.

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

mcp_add_widgetC

Add a widget to a sidebar

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
positionNoPosition in sidebar
settingsNoWidget settings
sidebar_idYesTarget sidebar ID
widget_typeYesWidget type (e.g., text, search)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a mutating action ('Add'), but says nothing about permissions, side effects, defaults, or what happens to existing widgets or settings.

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, front-loaded sentence with no wasted words. It is appropriately concise and contains no filler.

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 five-parameter mutation tool with required identifiers, an optional position, a nested settings object, no annotations, and no output schema, the description is far too sparse. It leaves significant gaps around usage context, behavior, and relation to sibling widget tools.

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 five parameters, including site, sidebar_id, widget_type, position, and settings. The description adds no parameter-level meaning beyond what the schema provides, which is the expected baseline.

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

Purpose4/5

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

The description states a specific verb and resource: 'Add a widget to a sidebar.' It is clear what the tool does, but it does not differentiate from sibling tools such as update_widget, move_widget, or reorder_widgets.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. The description does not mention prerequisites, alternatives, or conditions under which adding a widget is appropriate.

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

mcp_assign_menu_locationC

Assign a menu to a theme location

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
menu_idYesMenu ID (0 to unassign)
locationYesTheme location slug

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must carry the full behavioral burden but does not. It never states that assigning a menu to an already-occupied location overwrites the prior menu, whether the operation is reversible, or what permissions are needed for a theme-level mutation.

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?

A single front-loaded sentence with zero filler, which is appropriate, though its brevity here shades into under-specification rather than pure efficiency.

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 three-required-parameter mutation with no annotations and no output schema, the description omits key context: overwrite semantics, the unassign path, and how it relates to mcp_get_menu_locations/mcp_list_menus. It is far too thin to call the tool safely.

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%, and the schema already explains that menu_id 0 unassigns and that location is a theme-location slug, so the description adds no parameter meaning beyond the schema. Baseline 3 applies.

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?

States a specific verb ('Assign') and resource ('a menu') plus the target ('a theme location') in one clean phrase. It is clearly distinct in kind from mcp_create_menu or mcp_add_menu_item, but it does not explicitly separate itself from sibling tools such as mcp_update_menu or mcp_get_menu_locations.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus mcp_create_menu, mcp_update_menu, or mcp_get_menu_locations, and no mention of prerequisites (e.g., the menu must already exist, the location must be registered). The unassign case is not flagged either.

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

mcp_assign_termsC

Assign taxonomy terms to a post

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
termsYesArray of term IDs
appendNoAppend to existing terms (false = replace)
post_idYesPost ID
taxonomyYesTaxonomy name

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Assign' implies a mutation, but the description never discloses the significant default that append=false means existing terms are REPLACED — a destructive side effect the agent cannot anticipate from the prose alone. Permissions and return behavior are also unstated.

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?

A single tight sentence with no wasted words and the core operation front-loaded. It is efficient, though its brevity contributes to the missing behavioral context.

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 mutation tool with no annotations and no output schema, the description is too thin: it omits the replace-vs-append default, prerequisites, and any error or permission context. An agent could invoke it correctly only by reading the schema closely.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (including the append default and its replace semantics) are already documented in the schema. The description adds nothing beyond that baseline, which is the expected 3.

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?

States a specific verb (assign) and resource (taxonomy terms) and the target (a post), so the agent can identify the operation immediately. It has no direct sibling doing the same job, so no differentiation is needed, but it stops short of mentioning scope like site or taxonomy family.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no stated prerequisites (e.g. that a site id from list_sites is required), and no pointer to mcp_list_terms for discovering valid term IDs. The agent must infer everything from the schema.

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

mcp_bulk_delete_mediaC

Delete multiple media items at once

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesArray of media IDs to delete
siteYesSite id (see list_sites)
forceNoPermanently delete

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 conveys that deletion occurs, but does not mention that the operation is destructive, whether the default force=true means permanent deletion, or what happens to items not in the list.

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, front-loaded sentence with no filler. It is appropriately brief for a simple bulk action, though its terseness contributes to the missing behavioral context.

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 destructive bulk operation with a force parameter defaulting to true and no annotations, the description is incomplete. It should mention permanence or irreversibility, and ideally note the required scope (site IDs) to guide safe 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?

Schema description coverage is 100%, with each parameter (ids, site, force) documented in the input schema. The description adds no parameter meaning beyond what the schema already states, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb (Delete), resource (media items), and scope (multiple at once), which distinguishes it from the single-item sibling mcp_delete_media. However, it does not explicitly name the alternative, so an agent must infer the distinction from the plural phrasing.

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 gives no guidance on when to use bulk deletion versus single deletion (e.g., mcp_delete_media) or wp_delete_media. It also omits any exclusions or prerequisites, leaving the agent to infer use cases solely from the phrase 'multiple media items at once'.

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

mcp_bulk_get_optionsB

Get multiple options at once

ParametersJSON Schema
NameRequiredDescriptionDefault
keysYesArray of option names
siteYesSite id (see list_sites)

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 must carry the full behavioral burden. 'Get' implies read-only, but the description omits permissions, error handling, partial-failure behavior, ordering, or limits that an agent needs for safe invocation.

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

Conciseness5/5

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

A single front-loaded sentence with zero waste. It is appropriately sized for the tool's simplicity.

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?

The tool is simple with a fully documented schema, no output schema, and no annotations. The description states the core action but leaves usage guidance and behavioral context unaddressed, leaving clear gaps 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% and both parameters are documented in the schema. The description adds no meaning beyond 'multiple options', so the baseline of 3 applies.

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?

States a specific verb (Get), resource (options), and scope (multiple at once), which distinguishes it from singular sibling mcp_get_option. However, it does not name or contrast with mcp_list_options or mcp_get_option explicitly, so sibling differentiation is left to inference.

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 explicit when-to-use guidance or alternatives are given. The phrase 'at once' hints at bulk efficiency but does not say when to choose this over mcp_get_option or mcp_list_options.

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

mcp_change_user_roleC

Change a user's role

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID
roleYesNew role (administrator, editor, author, contributor, subscriber)
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden for a mutation operation. It does not disclose whether administrator-level capability is required, whether existing content authored by the user is reassigned, whether the change is reversible, or what the response returns.

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?

A single short sentence with no filler and the action front-loaded. It is appropriately sized but arguably too terse for a mutation tool, so not a 5.

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 destructive/mutating tool with no annotations and no output schema, the description is far too thin: no permission requirements, no side effects, no confirmation of what changes. The schema documents inputs, but the operation's behavior is left entirely unexplained.

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%, and the role parameter already enumerates all valid roles in the schema, so the description's 'role' mention adds nothing. Baseline 3 applies since the schema does all the work and the description contributes no extra parameter guidance.

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

Purpose4/5

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

The description states a specific verb and resource ('Change a user's role'), which is unambiguous. However, it does not differentiate itself from the nearby sibling tool mcp_update_user, which likely also touches user fields, so the agent gets no help choosing between them.

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

Usage Guidelines2/5

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

There is no indication of when to use this tool versus mcp_update_user or mcp_list_roles, no mention of required permissions, and no prerequisites (e.g., that 'site' must come from list_sites). Usage must be entirely inferred from the name.

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

mcp_check_updatesC

Check for WordPress core, plugin, and theme updates

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It never says whether the check calls a remote WordPress.org API (latency, rate limits), whether it is read-only and safe, or what the result contains. 'Check' implies read-only but nothing more is disclosed.

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?

A single front-loaded sentence with zero filler, stating verb and scope immediately. It is efficient, though perhaps under-specified rather than optimally concise.

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?

For a simple one-parameter read tool with no output schema, the description is minimally adequate, but it omits the expected result shape (which components have updates, version numbers) and the remote-call behavior an agent would want to know before invoking.

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 coverage is 100% and the single 'site' parameter is documented in the schema ('Site id (see list_sites)'), so the description need not add parameter detail. Baseline 3 applies since the description contributes no extra 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?

States a specific verb ('Check') and resource ('WordPress core, plugin, and theme updates'), which is clearly distinguishable from write siblings like mcp_update_core, mcp_update_plugin, and mcp_update_all_plugins. It does not, however, explicitly contrast itself with those siblings, so an agent must infer the check-vs-apply distinction.

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 when-to-use guidance, prerequisites, or mention of alternatives (e.g., that this precedes mcp_update_all_plugins/mcp_update_core). The usage is only implied by the word 'Check'.

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

mcp_clean_commentsC

Delete spam and trashed comments

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. For a destructive bulk operation it says nothing about permanence, irreversibility, how many comments are affected, or required permissions/capabilities; 'delete' alone implies mutation but discloses no 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.

Conciseness4/5

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

A single front-loaded phrase with zero padding, so it is efficient and readable. It is arguably under-specified rather than wordy, but conciseness itself is good.

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?

For a one-parameter tool with full schema coverage and no output schema, the essentials are present. However, the absence of annotations means the destructive bulk semantics should be spelled out in the description, and they are not.

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?

One parameter with 100% schema description coverage, so the schema already documents 'site' (and points to list_sites). The description adds no additional meaning, which is the expected baseline 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?

States a specific verb (delete) and a specific object scope (spam and trashed comments), which is enough for an agent to understand the operation. It implicitly distinguishes itself from single-comment siblings like wp_delete_comment by naming a bulk cleanup scope, but it never explicitly contrasts with them.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative routing. It is unclear whether this is preferred over wp_moderate_comments or repeated wp_delete_comment calls, or whether it targets only spam/trash or all non-approved comments.

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

mcp_clean_revisionsC

Delete old post revisions

ParametersJSON Schema
NameRequiredDescriptionDefault
keepNoRevisions to keep per post
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies destructive data loss but never states that revisions are permanently removed and unrecoverable, what permissions are required, whether the operation touches all posts on the site, or how the default retention count interacts with the deletion.

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?

A single four-word phrase, front-loaded with the action and resource and carrying no filler. It is efficient, though it is arguably too terse to be maximally useful.

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 destructive, unrecoverable maintenance operation with no annotations and no output schema, the description should disclose irreversibility, scope across the site, and whether a dry run or confirmation exists. None of that is present.

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%: the schema already documents 'keep' (revisions to keep per post, default 5) and 'site' (site id, see list_sites). The description's word 'old' loosely gestures at the retention semantics but adds no syntax, format, or default behavior beyond the schema, so the baseline of 3 applies.

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?

States a specific verb (Delete) and resource (old post revisions) with a scope qualifier ('old') that maps to the keep parameter. It is clear on its own, but it never distinguishes itself from the similarly-named sibling mcp_clean_comments or explains how it relates to revision listing/restore tools.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, no mention of alternatives or when deletion should be avoided. The agent is left to infer entirely from the name that this is a maintenance/cleanup operation.

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

mcp_create_cpt_postC

Create a post of any custom post type

ParametersJSON Schema
NameRequiredDescriptionDefault
metaNoPost meta key-value pairs
siteYesSite id (see list_sites)
typeYesPost type name
titleYesPost title
statusNoPost statusdraft
contentNoPost content

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a write operation but does not disclose permissions required, side effects, default status ('draft' appears only in schema), idempotency, or what is returned.

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?

A single, front-loaded sentence with no wasted words. Appropriate size for the purpose statement.

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 mutation tool with no annotations, no output schema, and six parameters (including a nested 'meta' object), the description is incomplete. It omits usage context, behavioral details, and return information, leaving the agent to infer critical invocation details.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters are documented in the schema. The description adds no parameter-level detail beyond what the schema already provides, making the baseline score of 3 appropriate.

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

Purpose4/5

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

States a specific verb 'Create' and resource 'post' scoped to 'custom post type', which distinguishes it from standard post creation (wp_create_post) in the sibling list. However, it does not explicitly name the sibling or note that it is not for standard posts, so it is clear but lacks explicit differentiation.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or alternative tools are mentioned. The description does not say when to use this instead of wp_create_post or mcp_update_cpt_post.

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

mcp_create_menuC

Create a new navigation menu

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesMenu name
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden and fails to. It does not state that this is a mutating write, what permissions are needed, that a menu is created empty, or that it must later be populated and assigned to a location.

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?

A single short, front-loaded sentence with no waste. It is appropriately sized for a trivial create operation, though it is nearly underspecified rather than optimally concise.

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 mutating tool with no annotations and no output schema, the description omits the workflow context (create, then add items, then assign a location) and any indication of what is returned. It is too thin for the tool's role in the menu lifecycle.

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 two parameters (name, site) are already fully documented in the schema, including the pointer to list_sites. The description adds nothing beyond that, so the baseline 3 applies.

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?

States a specific verb+resource (create a navigation menu), which is unambiguous on its own. However, it does not distinguish itself from siblings like mcp_update_menu or mcp_list_menus, nor clarify the WordPress menu context versus other object types, so an agent gets no routing help.

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 when-to-use guidance and no prerequisites. The agent is not told that a menu must be created before mcp_add_menu_item or mcp_assign_menu_location, nor that a site id is required up front.

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

mcp_create_termC

Create a term in any taxonomy

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTerm name
siteYesSite id (see list_sites)
slugNoURL slug
parentNoParent term ID (for hierarchical taxonomies)
taxonomyYesTaxonomy name
descriptionNoTerm description

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It states that the tool creates a term but does not describe permissions required, duplicate handling, hierarchy effects when 'parent' is provided, side effects on the taxonomy, or what happens to omitted optional fields. For a mutation tool with zero annotation coverage, this is a substantial 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 a single front-loaded sentence with no wasted words. It is efficient and immediately communicates the operation. It is, however, arguably too terse to fully earn its place.

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?

With no annotations and no output schema, the description should do more to explain behavior for a six-parameter mutation tool. The schema covers parameters well, but the description omits safety context, permission requirements, and expected effects. It is not complete enough for an agent to call the tool without additional assumptions.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters are already documented in the input schema. The description adds no parameter-level meaning beyond what the schema provides. A baseline of 3 is appropriate because the schema fully carries the parameter documentation.

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

Purpose4/5

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

The description states a specific verb and resource: 'Create a term in any taxonomy.' It clearly distinguishes creation from sibling operations such as mcp_update_term, mcp_delete_term, and mcp_list_terms. However, it does not explicitly name an alternative or clarify its relationship to specialized term-creation siblings like wp_create_category or wp_create_tag.

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 when-to-use guidance, no prerequisites, and no exclusions. An agent is left to infer that this tool should be used for creating taxonomy terms rather than updating, deleting, or listing them. There is no indication of when to prefer this generic tool over the category- or tag-specific creation tools in the sibling set.

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

mcp_create_userC

Create a new WordPress user

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoUser rolesubscriber
siteYesSite id (see list_sites)
emailYesEmail address
passwordNoPassword (auto-generated if omitted)
usernameYesLogin username
last_nameNoLast name
first_nameNoFirst name
send_notificationNoSend welcome email

TDQS

C2.7/5.0
Behavior1/5

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

Annotations are absent, so the description carries the full burden of behavioral disclosure. It says nothing about required capabilities, side effects (e.g., welcome email sent by default), duplicate handling, or what the operation returns.

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?

One short sentence with no wasted words and the purpose is front-loaded. However, the extreme brevity borders on under-specification for an 8-parameter mutation tool, preventing a perfect score.

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?

While the schema fully covers parameters, the description ignores behavioral aspects critical to a mutation tool with no annotations and no output schema. An agent would not know about permissions, email notifications, or return values from the description alone.

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 including defaults and hints like 'auto-generated if omitted'. The description adds no additional meaning beyond the schema, so the baseline of 3 applies.

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?

States a specific verb (Create) and resource (WordPress user), which is clearer than a tautology. However, it does not distinguish this tool from the near-identical sibling wp_create_user, leaving ambiguity about which to use.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like wp_create_user or batch-creation approaches. The description merely restates the action without context or exclusions.

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

mcp_delete_cpt_postC

Delete a custom post type post

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID
siteYesSite id (see list_sites)
typeYesPost type name
forceNoSkip trash and permanently delete

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and falls well short: it never states that deletion is destructive/irreversible, whether the item goes to trash by default, or what permissions are required. The trash-vs-permanent distinction exists only in the schema's force field, not in the description.

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

Conciseness3/5

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

A single short sentence with zero waste, but brevity here reflects under-specification rather than disciplined economy. It is front-loaded but says almost nothing.

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 4-parameter destructive mutation with no annotations and no output schema, the description should at least cover deletion semantics and side effects. It omits any mention of trash vs permanent deletion, required capability, or the shape of a successful response.

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 id, site, type, and force (including 'Skip trash and permanently delete'). The description adds no syntax, format, or meaning beyond that, giving the baseline 3.

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?

States a specific verb and resource ('Delete a custom post type post') and aligns with its sibling family (mcp_list_cpt_posts, mcp_create_cpt_post, mcp_update_cpt_post). It does not explicitly contrast itself with wp_delete_post, which deletes standard posts, so sibling differentiation is only implicit.

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 offers no when-to-use guidance, no prerequisites, and no pointer to the alternative (e.g., trashing via update, or listing an ID via mcp_list_cpt_posts) before deletion. An agent gets no routing help.

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

mcp_delete_mediaC

Delete a media item

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMedia ID
siteYesSite id (see list_sites)
forceNoPermanently delete

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says nothing about whether deletion is permanent or trash-based, what permissions are required, whether the operation is reversible, or what happens to associated data—significant gaps for a destructive 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?

A single short sentence that is front-loaded and wastes no words. It is appropriately sized for a minimal description, though its brevity is more a symptom of omission than of disciplined conciseness.

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

Completeness2/5

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

For a destructive mutation tool with three parameters, no annotations, and no output schema, the description is too thin. It omits critical context such as permanent-vs-trash behavior, permission requirements, and how it differs from sibling delete tools.

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 coverage is 100%, so the schema already documents all three parameters, including the 'force' flag with its permanent-deletion meaning. The description adds no additional parameter semantics, which is the baseline when the schema is fully self-documenting.

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?

States a clear verb ('Delete') and resource ('a media item'), so the agent knows what the tool does. However, it does not distinguish itself from siblings like wp_delete_media or mcp_bulk_delete_media, so sibling differentiation is absent.

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?

Provides no when-to-use guidance, no when-not-to-use conditions, and no alternatives. The agent must infer that this is for single-item deletion versus bulk deletion or the sibling wp_delete_media tool.

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

mcp_delete_menuC

Delete a navigation menu

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMenu ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It says nothing about whether deletion is permanent, whether contained menu items are cascaded/removed with the menu, whether a confirmation or special capability is required, or what happens when the ID does not exist — all critical for an irreversible mutation.

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?

A single short sentence with no wasted words and the verb front-loaded. It is efficient, though the extreme brevity borders on under-specification rather than optimal conciseness for a destructive tool.

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?

This is a destructive mutation with no annotations and no output schema, so the description must supply safety and side-effect context. It provides none: no irreversibility warning, no cascade behavior, no permission requirements, leaving the agent under-informed for a delete 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?

Schema description coverage is 100%, with both 'id' (Menu ID) and 'site' (Site id, see list_sites) documented in the schema, so the baseline is 3. The description adds no additional meaning about identifier format or how to discover valid menu IDs beyond what the schema already states.

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 gives a clear verb+resource pair ('Delete a navigation menu'), so an agent knows exactly what operation is performed. However, it does not distinguish itself from the very close sibling mcp_delete_menu_item, which deletes a single item inside a menu rather than the whole menu — a distinction that matters a lot for a destructive call.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no exclusions or alternatives named. With siblings such as mcp_delete_menu_item, mcp_update_menu, and mcp_create_menu present, the description leaves the agent to infer which one applies from context alone.

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

mcp_delete_menu_itemC

Delete a menu item

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
item_idYesMenu item ID

TDQS

C2.5/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 behavioral burden. For an irreversible mutating tool it says nothing about permanence, required capabilities, whether the parent menu is affected, or any confirmation/rollback behavior.

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

Conciseness3/5

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

A single four-word sentence is economical and front-loaded, but for a destructive operation this is under-specification rather than genuine conciseness — there is no substance to trim.

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?

A destructive two-parameter tool with no annotations and no output schema needs to explain consequences and prerequisites. The description instead leaves the agent to reconstruct the tool's contract entirely from the name and 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% and both parameters ('site' with a pointer to list_sites, 'item_id' as Menu item ID) are documented there. The description adds no syntax or format detail, so the baseline 3 applies.

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

Purpose3/5

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

States a specific verb (Delete) and resource (menu item), and the 'item' wording does at least separate it by resource type from mcp_delete_menu. However, it adds nothing beyond an expansion of the tool name and offers no differentiation from mcp_update_menu_item or mcp_add_menu_item.

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 when-to-use guidance, no prerequisites, and no mention of the clearly adjacent siblings mcp_delete_menu (deletes an entire menu) and mcp_update_menu_item. The agent must infer the boundary between deleting a single item and deleting a whole menu.

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

mcp_delete_optionC

Delete an option

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesOption name
siteYesSite id (see list_sites)

TDQS

C2.5/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 behavioral burden, and it discloses essentially nothing: no statement that the deletion is permanent, whether it requires elevated permissions, or what happens if the key does not exist. "Delete" implies mutation, but that is the only behavioral signal.

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

Conciseness3/5

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

The single short sentence is front-loaded and wastes no words, but it is under-specified rather than genuinely concise. There is no structure to evaluate because there is effectively only a fragment of content.

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 destructive, unannotated operation on WordPress options, the description omits irreversibility, permission requirements, and any side effects. The schema covers the two inputs, but the behavioral context an agent needs before calling a delete tool is entirely absent.

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% (both 'key' and 'site' are documented, including a pointer to list_sites), so the baseline is 3. The description contributes no additional parameter meaning beyond what the schema already states.

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

Purpose3/5

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

The description states a verb ("Delete") and a resource ("option"), which is enough to identify the operation, but it adds nothing beyond the tool name mcp_delete_option. It does not distinguish itself from siblings like mcp_set_option, mcp_get_option, or mcp_list_options beyond the obvious verb.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus alternatives (e.g., mcp_set_option to clear a value instead of deleting the row), no prerequisites, and no caution about deleting autoloaded or system-critical options. The agent must infer everything from the name.

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

mcp_delete_termC

Delete a term from any taxonomy

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTerm ID
siteYesSite id (see list_sites)
taxonomyYesTaxonomy name

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it says nothing about deletion being permanent, what happens to posts or child terms attached to the deleted term, or what permissions are needed. One sentence cannot cover the destructive semantics of a delete operation with zero annotation coverage.

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

Conciseness4/5

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

A single short, front-loaded sentence with no filler. It is efficient, though its brevity is partly under-specification rather than disciplined conciseness.

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

Completeness2/5

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

For a destructive tool with no annotations and no output schema, the description is too thin: it omits irreversibility, side effects on assigned content, and error conditions. The annotations being absent means the description should have picked up that load and did not.

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% (id, site, taxonomy all documented), so the baseline is 3. 'From any taxonomy' slightly reinforces that the taxonomy parameter accepts arbitrary registered taxonomies, but adds no format detail beyond 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 gives a specific verb plus resource ('Delete a term') and scopes it with 'from any taxonomy', which tells the agent the taxonomy parameter is a selector rather than a constraint. It does not, however, distinguish this tool from near-identical siblings like wp_delete_category, wp_delete_tag, or seo_delete_term_seo, which also remove terms.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Given that wp_delete_category and wp_delete_tag sit right next to this tool and operate on specific taxonomies, the omission of any routing advice is a real gap.

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

mcp_delete_themeB

Delete an inactive theme

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
stylesheetYesTheme folder name

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations, so the description carries the full behavioral burden, and it discloses only the 'inactive' precondition. It does not say whether theme files are removed from disk, whether the operation is reversible, what permissions/capabilities are required, or what happens if the target theme is active.

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?

A single terse phrase with zero filler, and the critical constraint ('inactive') is front-loaded. It is arguably under-specified rather than overly long, but it wastes no space.

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 destructive tool with no annotations and no output schema, the description leaves major gaps: it does not explain the consequence of deletion (file removal), the required capability, the failure mode for active themes, or how to discover theme folder names. Only the 'inactive' guard is conveyed.

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% and both parameters ('site' referencing list_sites, 'stylesheet' as theme folder name) are self-documented. The description adds nothing about parameter format or naming, so the baseline 3 applies since 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?

States a specific verb (delete) and resource (theme) with a scoping qualifier ('inactive'), which is enough to separate it from wp_list_themes, wp_activate_theme, and mcp_install_theme. It does not, however, name any sibling or clarify its relationship to mcp_update_theme/mcp_search_themes, so differentiation is inferred rather than explicit.

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 word 'inactive' implies a precondition — you cannot delete the currently active theme — which is useful implied guidance. But there is no explicit when-to-use statement, no mention of how to identify an inactive theme (wp_list_themes / wp_get_active_theme), and no alternatives or exclusions spelled out.

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

mcp_delete_userC

Delete a user and reassign their content

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID to delete
siteYesSite id (see list_sites)
reassignNoUser ID to reassign content to

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It hints that content is reassigned, but never says what happens if the optional 'reassign' is omitted (content deleted?), whether the operation is reversible, or what permissions/authorization are required. For an irreversible destructive operation this is a substantial 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?

A single tight sentence with the destructive action front-loaded and no waste. It is slightly too terse for the ambiguity it leaves around the reassignment behavior.

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?

For a 3-parameter destructive tool with no annotations and no output schema, the description is minimally adequate: fields are documented in the schema, but the semantics of the optional reassignment, side effects, and required permissions are unaddressed.

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's 'reassign their content' loosely corresponds to the 'reassign' parameter but does not clarify its optionality or the consequence of omitting it, adding little beyond 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?

States a clear verb+resource ('Delete a user') and adds an important qualifier ('and reassign their content'), so the scope is more than a tautology. However, it does not differentiate from the near-identical sibling wp_delete_user, leaving the agent to guess which one to call.

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 when-to-use guidance, no preconditions, and no mention of the sibling wp_delete_user as an alternative. The implied context (removing a user) is all an agent gets.

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

mcp_delete_widgetC

Remove a widget from its sidebar

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
widget_idYesWidget ID

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 behavioral burden. 'Remove' signals a destructive mutation, but it does not disclose whether the widget is permanently deleted or only detached from the sidebar, what permissions are required, or whether the operation is reversible.

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?

A single front-loaded sentence with no wasted words. It is appropriately sized for a simple two-parameter tool.

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 destructive tool with no annotations, no output schema, and two required identifiers, the description is too thin. It does not explain side effects, idempotency, or whether the widget content survives removal from the sidebar.

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 both parameters are already documented in the schema. The description adds no extra parameter meaning, making the baseline 3 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?

States a clear verb and resource: 'Remove a widget from its sidebar.' An agent can identify this as the widget-deletion tool among siblings like mcp_update_widget and mcp_move_widget, though it does not explicitly name alternatives.

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

Usage Guidelines2/5

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

Provides no when-to-use guidance, prerequisites, or alternatives. It implies deletion, but does not say whether the widget must first be retrieved with mcp_get_widget or how this differs from mcp_move_widget or mcp_update_widget.

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

mcp_flush_cacheC

Clear all caches and transients

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and discloses little: it does not say whether the flush is reversible, whether it degrades site performance, whether object/page/transient caches are all included, or what permissions are required. Crucially, 'all caches' is ambiguous against the single 'site' parameter, so the agent cannot tell whether one site or every site is flushed.

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?

One short, front-loaded sentence with no filler; the verb and resource lead. It is efficient, though arguably terse for an operation with side effects.

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?

For a one-parameter, no-output-schema maintenance tool this is nearly sufficient, but the scope question (does 'all caches' span all sites?) and the absence of any safety or prerequisite note leave a real gap for an operation that mutates server state.

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% and the single 'site' parameter is documented in the schema as 'Site id (see list_sites)'. The description adds no scope clarification, such as whether 'all' is bounded by the given site, so the baseline 3 applies.

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?

States a specific verb ('Clear') plus the exact resources affected ('all caches and transients'), which is enough to separate it from the nearest sibling mcp_flush_rewrite. It stops short of naming that sibling or explaining how the two differ, so it is clear but not fully differentiated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no stated prerequisites, and no mention of alternatives such as mcp_flush_rewrite or mcp_update_core for refreshing other stale state. The agent must infer that this is a post-change cache reset step.

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

mcp_flush_rewriteC

Flush permalink rewrite rules

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not explain the effect of flushing rewrite rules, whether the operation is safe or reversible, what permissions are required, or what happens to the site afterward.

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 four-word verb phrase with no filler and the action is front-loaded. However, its extreme brevity leaves no structural elaboration, so it is efficient but not ideal.

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?

The tool is simple with one required parameter and full schema coverage, but there are no annotations or output schema. The description does not cover when to use the tool or its behavioral consequences, leaving significant contextual gaps 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%, and the single 'site' parameter is documented in the schema as 'Site id (see list_sites)'. The description adds no additional meaning beyond that, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The phrase 'Flush permalink rewrite rules' names a specific verb and resource, so an agent can tell what the tool does. However, it does not differentiate itself from similar flush-style siblings such as mcp_flush_cache, so it does not reach a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites or alternatives, and no exclusion criteria. The description only states the action, leaving the agent to infer when this tool is appropriate.

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

mcp_get_cron_statusC

Get WordPress cron jobs status

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It doesn't disclose whether this is read-only, what data is returned, whether it requires authentication, or how it relates to mcp_run_cron. A read of cron status implies no mutation, but that's not stated.

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

Conciseness5/5

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

A single, front-loaded sentence. No waste, appropriately sized for a simple retrieval tool.

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 diagnostic tool with no annotations and no output schema, the description is too thin. It doesn't explain what 'status' includes (e.g., scheduled events, next run times, overdue jobs) or how it differs from mcp_run_cron, leaving gaps an agent would encounter.

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 coverage is 100% for the single 'site' parameter, which includes a helpful description ('Site id (see list_sites)'). The tool description adds nothing beyond what the schema provides, so baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb (get) and resource (WordPress cron jobs status), which is clear and unambiguous. It doesn't differentiate from the sibling mcp_run_cron, which is the related action tool (run vs check status). Since there is only one status tool for cron, the purpose is reasonably clear but misses 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?

No guidance on when to use this versus alternatives like mcp_run_cron or mcp_get_health. The description provides no context about when an agent should check cron status versus other diagnostic tools.

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

mcp_get_debug_infoC

Get detailed debug information

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.5/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 says 'Get', implying a read, but discloses nothing about scope, permissions required, size/rate of the response, or what 'debug information' actually contains. For a diagnostics tool with zero annotation coverage, this is a significant gap.

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

Conciseness3/5

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

A single short sentence with no wasted words, but that brevity comes at the cost of substance rather than from efficient structuring of useful content. It is front-loaded by default with so little to front-load.

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?

No output schema and no annotations, so the description must explain the return surface and safety profile, and it does neither. For a diagnostics tool whose output content is its entire value, this leaves the agent unable to predict what it will receive.

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% and the single required 'site' parameter is documented in the schema as 'Site id (see list_sites)'. Per the baseline rule, a 3 is appropriate when the schema fully documents parameters and the description adds nothing beyond it.

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

Purpose3/5

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

States a verb+resource ('Get detailed debug information'), which is clearer than a bare name, but 'debug information' is vague and does not distinguish it from siblings such as mcp_get_health, mcp_get_system_info, mcp_get_php_info, or mcp_get_version. An agent cannot tell what this tool returns that those don't.

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 when-to-use guidance, no indication of what 'debug information' covers or when to prefer it over mcp_get_health/mcp_get_php_info/mcp_get_system_info. The agent is left to infer entirely from the name.

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

mcp_get_elementor_buildC

Get full Elementor page build (containers, widgets, settings tree)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost/page ID
siteYesSite id (see list_sites)
fieldsNoComma-separated setting keys to include (empty = all)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Get' implies a read, but nothing is said about response size, pagination or depth limits, behavior when a page has no Elementor build, or the cost of fetching a large tree — all material for a full-build fetch.

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?

A single compact sentence with the resource and payload front-loaded and no filler. The parenthetical earns its place by naming the tree components.

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?

With no annotations and no output schema, the description is the only source of behavioral and structural context, and it only hints at the return shape via 'settings tree'. An agent gets the gist but not the depth, format, or filtering interaction with `fields`.

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 `id`, `site`, and `fields` all documented in the schema itself ('Comma-separated setting keys to include (empty = all)'). The description adds no parameter-level meaning beyond that, so baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb ('Get') and resource ('Elementor page build') and enumerates the payload ('containers, widgets, settings tree'), which differentiates it from siblings like mcp_get_elementor_element or mcp_get_elementor_flat. It falls short of naming those siblings to make the distinction unmistakable.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives, despite several closely related siblings (mcp_get_elementor_flat, mcp_get_elementor_element) that an agent must choose between. The 'full build' phrasing only implies the use case.

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

mcp_get_elementor_conditionsC

Get theme builder display conditions for an Elementor template

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTemplate post ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a safe read, but the description does not say whether it requires a theme-builder template, what shape the conditions take, or anything about failure modes; it also omits any return description, and no output schema compensates.

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?

A single front-loaded sentence with no filler or repetition. It is efficient, though almost too terse given the absence of supporting structured data (annotations, output schema).

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?

For a two-parameter getter with full schema coverage, the description is minimally viable, but with no annotations and no output schema it should do more: it never clarifies what 'display conditions' are, what template types are valid, or what the caller receives. Adequate rather than 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?

Schema description coverage is 100%: id is documented as 'Template post ID' and site as 'Site id (see list_sites)', including the cross-reference to list_sites. The description adds nothing beyond the schema, so the baseline 3 applies.

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?

States a specific verb (Get) and a specific resource (theme builder display conditions for an Elementor template), which is meaningfully distinct from siblings like mcp_get_elementor_build, mcp_get_elementor_flat, and mcp_get_elementor_page_settings. It does not explicitly name those siblings, but the resource noun is unique enough that an agent can differentiate.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus the nearby Elementor getters (build/flat/element/page settings/kit), and no prerequisites mentioned beyond what the schema's required fields imply. The purpose alone lets the reader infer it is a read, but no exclusions or routing context is provided.

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

mcp_get_elementor_elementB

Get a single Elementor element with full settings

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost/page ID
siteYesSite id (see list_sites)
element_idYesElementor element ID (8-char hex)

TDQS

B3.3/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. 'Get' implies a read-only retrieval and 'full settings' hints at return content, but auth needs, side effects, and rate limits are undisclosed. It is minimum viable given the simple read nature.

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?

A single eight-word sentence, front-loaded with the verb and resource, with no filler or redundancy.

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?

There is no output schema, and the description does not explain the returned element structure beyond the vague phrase 'full settings'. It also does not relate this tool to the sibling elementor build/flat readers. Adequate but incomplete 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?

Schema description coverage is 100%, so the baseline is 3. The description adds no parameter meaning beyond what the schema's field descriptions already provide.

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?

Specific verb 'Get' and resource 'Elementor element' with scope modifiers 'single' and 'full settings'. It does not distinguish itself from sibling tools like mcp_get_elementor_build or mcp_get_elementor_flat, so it falls short of a 5.

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

Usage Guidelines2/5

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

No when-to-use guidance or alternatives are named. An agent cannot tell from the description when to select this over mcp_get_elementor_build or mcp_get_elementor_flat without inferring.

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

mcp_get_elementor_flatB

Get flat list of all Elementor elements on a page (easier to search/filter than tree)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost/page ID
siteYesSite id (see list_sites)
fieldsNoComma-separated setting keys to include
el_typeNoFilter by element type (container, widget)
widget_typeNoFilter by widget type (heading, button, image, etc.)

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 conveys that the output is flat rather than nested, but says nothing about permissions, pagination, ordering, or how the 'fields'/'el_type' filters affect results, and it omits any return-shape 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?

A single efficient sentence with the core purpose front-loaded and the contrast parenthetical at the end. No wasted words, though it is sparse enough that brevity shades into under-specification.

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?

For a read/list tool with full schema coverage and no output schema, the description covers the essential purpose. It is thin on return shape, pagination, and filter interaction, so it is adequate but not fully complete for a five-parameter query 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 five parameters, and the description adds no syntax or format detail beyond 'on a page'. Per the coverage rule, baseline 3 is correct 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?

States a specific verb ('Get') and resource ('flat list of all Elementor elements on a page'), and contrasts with the 'tree' form. It does not name the specific sibling (e.g., mcp_get_elementor_element or mcp_get_elementor_build), so differentiation is by shape rather than by tool name.

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 parenthetical '(easier to search/filter than tree)' implies when to prefer this tool, which is genuine usage context. However, it names no concrete alternative tool and gives no exclusions or prerequisites, leaving the agent to infer the routing.

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

mcp_get_elementor_kitB

Get Elementor global kit settings (colors, fonts, typography, spacing, button defaults)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does convey that this is a read of a themed set of settings. However it says nothing about permission requirements, what happens if no kit exists, or whether the read is scoped to a template kit vs the active kit.

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?

A single front-loaded sentence with a compact parenthetical scope list; no filler, no redundancy. It is appropriately sized for a one-parameter read tool.

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 read tool with full schema coverage on its only parameter and no output schema, the description is nearly sufficient: it tells the agent the kind of data returned (colors, fonts, typography, spacing, button defaults), so an agent knows what to expect. Only the usage/prerequisite dimension is missing.

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% and the single 'site' parameter is documented there as 'Site id (see list_sites)'. The description adds no syntax, defaulting, or constraint information beyond the schema, so it meets the baseline rather than exceeding 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?

States a specific verb ('Get') plus resource ('Elementor global kit settings') and enumerates the setting categories returned. It is distinguishable from mcp_update_elementor_kit and mcp_get_elementor_page_settings, though it never explicitly names those siblings as the alternative/differentiating pair.

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 when-to-use guidance, no prerequisites (e.g. Elementor must be active, a kit must exist), and no mention of the sibling tools an agent should choose instead for page-level settings or for writes. The agent must infer usage entirely from the name.

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

mcp_get_elementor_page_settingsC

Get Elementor page-level settings (hide title, custom CSS, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost/page ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description carries the full burden. 'Get' implies a read-only operation, but the description says nothing about permissions, whether it requires a valid Elementor page, what happens if settings are absent, or the return shape. For a zero-annotation tool 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?

A single tight sentence with the resource front-loaded and useful parenthetical examples. No wasted words, though it is brief to the point of being sparse.

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?

For a simple two-parameter read tool whose schema is fully documented, the description is minimally adequate. It lacks prerequisites and any hint of the settings returned, which matters since there is 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%: 'id' is documented as 'Post/page ID' and 'site' as 'Site id (see list_sites)'. The description adds nothing beyond the schema, so the baseline 3 applies.

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?

States a specific verb ('Get') and resource ('Elementor page-level settings') and gives concrete examples ('hide title, custom CSS'). An agent can tell it apart from siblings like mcp_get_elementor_element or mcp_get_elementor_kit by the page-level scope, though the description never explicitly names those alternatives.

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

Usage Guidelines2/5

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

No guidance on when to use this versus mcp_get_elementor_build, mcp_get_elementor_flat, or mcp_get_elementor_kit. No prerequisites stated (Elementor must be active, valid post/page ID required). Usage is only implied by the name.

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

mcp_get_healthC

Get site health status and score

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

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 bears the full burden. It implies a read operation but never states permissions required, whether the check is expensive/rate-limited, or what the returned 'status and score' actually contains. For a diagnostics tool with zero annotation coverage, this is a significant gap.

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

Conciseness4/5

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

A single front-loaded sentence with no waste. It is arguably too terse for a diagnostics tool, but there is no filler 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?

With no annotations and no output schema, the description should explain what the health status/score represents and roughly what comes back. It doesn't, leaving an agent unable to anticipate the response or distinguish this from sibling health/debug tools.

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 coverage is 100% and the single 'site' parameter is documented in the schema with a pointer to list_sites. The description adds no meaning beyond the schema, so the baseline of 3 applies.

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?

Specific verb+resource: 'Get site health status and score' clearly states it returns a diagnostic health status/score for a site. However, it does nothing to distinguish itself from close siblings like mcp_get_plugins_health, mcp_get_debug_info, or mcp_get_system_info, which an agent could easily confuse it with.

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

Usage Guidelines2/5

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

No guidance on when to use this versus the many other diagnostics tools (mcp_get_plugins_health, mcp_get_debug_info, mcp_get_system_info, mcp_check_updates). The single param description points to list_sites, but the description itself gives no usage context or exclusions.

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

mcp_get_mediaB

Get detailed media item info (sizes, metadata)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMedia ID
siteYesSite id (see list_sites)

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. The verb 'Get' reasonably implies a read-only operation, and it adds which fields are returned (sizes, metadata), but it does not explicitly state non-destructiveness, authorization needs, or error behavior. Minimal but partially informative.

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 single sentence is front-loaded with the action and resource, and contains no filler. It is appropriately sized for a simple retrieval tool, though it could be slightly sharper by noting it fetches by ID.

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 output schema and no annotations, the description should cover return values and basic behavior. It names the returned data (sizes, metadata) but omits any detail on response structure, error cases, or authentication, leaving some gaps for a tool that returns a complex media object.

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 input schema already documents both parameters (id as Media ID, site referencing list_sites). The description adds no parameter syntax or format details beyond what the schema provides, making the baseline 3 appropriate.

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

Purpose4/5

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

The description states a clear verb (Get) and resource (media item), and specifies scope with returned data (sizes, metadata). It does not distinguish this tool from similar siblings like wp_get_media or mcp_list_media, so it falls short of full 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?

There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites or exclusions. The retrieval intent is implied only by the verb 'Get' and the required id parameter.

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

mcp_get_media_statsB

Get media library statistics (counts by type, total size)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.4/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 does add useful context by disclosing the shape of the returned data (counts by type and total size), but it says nothing about required permissions, read-only safety, scoping, or cost.

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?

A single, front-loaded sentence with no filler; the key resource and the returned metric are stated immediately.

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 one-parameter read tool with no output schema, the description conveys the resource and the return contents, which is enough to select and invoke it. Only the lack of any usage note keeps it from being 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?

There is a single parameter ('site') with 100% schema description coverage, so the schema already documents it and the description adds nothing about it. Baseline 3 applies 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?

States a specific verb+resource ('Get media library statistics') and even specifies the contents of the result ('counts by type, total size'), which distinguishes it from mcp_list_media. It does not name or differentiate against a sibling explicitly, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus alternatives such as mcp_list_media or mcp_get_media, and no prerequisites or exclusions are stated. The usage context is only implied by the tool name.

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

mcp_get_menuB

Get a menu with all its items

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMenu ID
siteYesSite id (see list_sites)

TDQS

B3.2/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 burden. It does disclose one behavioral trait beyond the name: the response includes the menu's items, distinguishing it from a shallow metadata read. It says nothing about permissions, what error states occur for an invalid id, or the nesting/format of the returned items.

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?

A single short sentence with no wasted words, and the core action is front-loaded. It is efficient, though arguably too terse to be maximally useful.

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?

For a two-parameter read tool with full schema coverage and no output schema, this is minimally adequate: the schema covers inputs and the phrase 'with all its items' hints at the payload. Still missing is how to find a valid menu id and how this differs from other menu read tools.

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 both parameters (id as numeric Menu ID, site pointing to list_sites) are already documented. The description adds no syntax, format, or cross-parameter meaning beyond the schema, so the baseline of 3 applies.

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?

States a specific verb (get) and resource (menu) and adds that it returns the menu with its items, which distinguishes it from mcp_list_menus. However, it never explicitly names or contrasts with the sibling mcp_list_menus, so differentiation is left to inference.

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 when-to-use guidance, no mention of prerequisites (e.g. obtaining a menu id via mcp_list_menus), and no exclusions relative to siblings like mcp_get_menu_locations. The agent must infer that this is the single-menu fetch.

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

mcp_get_menu_locationsC

Get registered menu locations

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

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 behavioral burden. 'Get' implies a read-only retrieval, but the description does not state permissions, side effects, return shape, or what 'registered' means in this 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 a single front-loaded sentence with no wasted words. It is concise, though extremely minimal for a tool whose relationship to menu assignment could be briefly contextualized.

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?

The tool is simple with one required parameter and no output schema or annotations. The description states what is returned in general terms, but does not clarify the return format or how these locations relate to assigning menus.

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 coverage is 100%, and the sole parameter 'site' is documented as 'Site id (see list_sites).' The description adds no parameter meaning, so the schema already does the work; baseline 3 applies.

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 gives a specific verb and resource: 'Get registered menu locations.' It is distinguishable from sibling tools like mcp_list_menus (menus themselves) and mcp_assign_menu_location (assignment), though it does not explicitly name or contrast those siblings.

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 offers no when-to-use guidance, no prerequisites, and no alternatives. It does not explain when an agent should call this versus mcp_list_menus or mcp_assign_menu_location.

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

mcp_get_optionC

Get a single option value

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesOption name
siteYesSite id (see list_sites)

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 must carry the full behavioral burden. While 'Get' implies a read operation, the description does not disclose whether authentication is required, what happens when the key is missing, whether the value is cached, or any other behavioral trait. It adds almost nothing beyond the verb.

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, front-loaded sentence with no wasted words. It is concise, though its extreme brevity contributes to gaps in other dimensions rather than detracting from structure.

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?

For a simple two-parameter getter with full schema coverage, the description is minimally adequate but incomplete. It does not explain the return value (no output schema exists), error behavior, or how the result might differ for missing options, leaving an agent to infer key details.

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 both parameters ('key' and 'site'). The description adds no additional meaning or syntax guidance beyond what the structured fields provide, making the baseline 3 appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Get a single option value'. The word 'single' implies it retrieves one option, which distinguishes it from sibling batch/list tools like mcp_list_options and mcp_bulk_get_options. However, it does not explicitly name or contrast with those alternatives, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when-not-to-use, or point to sibling tools such as mcp_list_options or mcp_bulk_get_options for other retrieval patterns.

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

mcp_get_php_infoC

Get PHP configuration details

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a safe read, but nothing is said about required capabilities (does reading PHP config need elevated permissions?), whether the output is the raw phpinfo dump (potentially large and sensitive) or a filtered summary, or any rate/scope limits. For a tool with zero annotation coverage this is a notable 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?

A single front-loaded sentence with no filler or repetition of the name. It is efficient, though the brevity shades into under-specification rather than tight editing.

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?

With no output schema and no annotations, the description should at least indicate what 'configuration details' encompasses (e.g., full phpinfo output vs. selected directives) so the agent can anticipate result size and content. The single-site scoping and the list_sites pointer come from the schema, not the description.

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?

There is one required parameter, and schema description coverage is 100% — the schema already documents 'site' as 'Site id (see list_sites)', including the pointer to the sibling that enumerates valid values. The description adds nothing beyond that, so the baseline 3 for schema-covered parameters applies.

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?

States a specific verb (Get) and resource (PHP configuration details), so the purpose is unambiguous. However, it does no work to distinguish itself from near-neighbors in the sibling list such as mcp_get_system_info, mcp_get_debug_info, or mcp_get_health, which an agent must disambiguate from by name alone.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives, and no prerequisites. The agent must infer from the name alone that this is a diagnostics/read tool and not, say, a preflight step for mcp_set_option or mcp_update_core.

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

mcp_get_plugins_healthB

Get plugin health status and available updates

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

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. It implies a read-only getter, but discloses nothing about permissions, whether it checks all plugins or a subset, or what the response contains beyond a vague 'health status and available updates.'

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?

A single, front-loaded sentence that states the tool's purpose with no wasted words. It is appropriately sized for a simple getter.

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?

For a one-parameter read tool with no output schema, the description is minimally adequate. However, without an output schema, it should say more about what 'health status' and 'available updates' actually return to help the agent interpret 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%: the single 'site' parameter is documented as 'Site id (see list_sites).' The description adds no additional meaning about the parameter, so the baseline of 3 applies when the schema does 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 names a specific verb and resource: 'Get plugin health status and available updates.' It is clear what the tool does, but it does not explicitly distinguish itself from overlapping siblings like mcp_check_updates or mcp_get_health.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus mcp_check_updates, mcp_get_health, or wp_list_plugins. The description only states what it does, leaving the agent to infer the appropriate context.

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

mcp_get_post_typeB

Get detailed schema for a post type

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
typeYesPost type name (e.g., product, testimonial)

TDQS

B3.2/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 behavioral burden. The verb 'Get' implies a read-only retrieval, which is the minimum viable disclosure, but the description does not state permissions, side effects, or what the returned schema contains.

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 front-loaded sentence with no wasted words. It is appropriately sized for a simple getter, though it is sparse enough that it could have included a brief usage qualifier without becoming verbose.

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?

For a two-parameter read tool with no output schema and no annotations, the description is minimally adequate. It tells the agent what operation is performed, but it does not describe the return shape or any contextual constraints an agent might need.

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 both the 'site' and 'type' parameters are fully documented in the schema. The description adds no parameter-level meaning beyond that; 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 states a clear verb and resource: get the detailed schema for a post type. It distinguishes itself from the sibling mcp_list_post_types, which lists types rather than returning a single type's schema, although it does not explicitly name that sibling.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as mcp_list_post_types. The agent is left to infer that this tool is used after discovering a post type name.

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

mcp_get_sidebar_widgetsB

Get all widgets in a sidebar

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
sidebar_idYesSidebar ID

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 behavioral burden. 'Get' implies a read, but the description does not state that this is read-only, whether auth is required, or what the response contains (no output schema). Disclosure is minimal.

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?

A single imperative sentence, front-loaded and free of filler. It is appropriately sized for a simple read tool.

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?

For a 2-param read tool with full schema coverage and no output schema, the description is minimally adequate. However, it omits usage context and behavioral details that would help an agent decide when to use it, leaving gaps for a tool with many siblings.

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% (site and sidebar_id are documented in the schema). The description adds no additional parameter meaning beyond what the schema already provides, so the baseline 3 applies.

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?

States a specific verb (Get) and resource (widgets) with scope (in a sidebar). It implicitly contrasts with mcp_get_widget (singular) and mcp_list_sidebars, though it does not name alternatives. Clear enough for an agent to understand it returns a collection.

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 when-to-use guidance, prerequisites, or alternatives are provided. The description does not explain when to call this instead of mcp_get_widget or mcp_list_sidebars, or what conditions must be met.

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

mcp_get_system_infoC

Get comprehensive system information

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.6/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 behavioral burden. 'Get' implies a read operation, but it does not disclose what 'system information' includes, whether authentication is required, or what the return shape looks like.

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?

It is a single front-loaded sentence with no redundant clauses. However, the word 'comprehensive' is vague filler and the sentence is under-specified rather than maximally useful.

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?

There is no output schema and no annotations. For a read-only diagnostic tool, the description should at least indicate the scope of system information returned or its relationship to similar tools, but it does neither.

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 coverage is 100%, and the only parameter (site) is already documented in the schema with a pointer to list_sites. The description adds no semantic detail beyond the schema, so the baseline of 3 is appropriate.

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

Purpose3/5

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

The description gives a verb+resource (get system information), but 'comprehensive system information' is broad and does not distinguish this tool from diagnostic siblings such as mcp_get_debug_info, mcp_get_php_info, mcp_get_health, wp_site_info, or mcp_get_version.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no stated prerequisites, and no alternatives named. In a crowded diagnostic sibling set, an agent is left to guess when this tool is preferred.

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

mcp_get_tablesB

List all database tables with sizes

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, but 'list' clearly signals a read-only inspection operation with no mutation risk, so the safety profile is implicit. The description adds the 'with sizes' detail but says nothing about permissions, cost, or how sizes are measured or formatted.

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?

A single short sentence with the action and resource front-loaded and zero filler. Nothing could be trimmed without losing 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 one-parameter read-only listing tool with no output schema, the description covers the resource and the returned content (tables plus sizes), which is sufficient to call it correctly. It is slightly thin on return format, but the complexity is low.

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% and the single 'site' parameter is documented as 'Site id (see list_sites)', so the schema already carries the semantics. The description adds nothing about the parameter, which is the expected baseline when the schema does 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?

States a specific verb (list) and resource (database tables) plus the returned detail (sizes), which is enough to separate it from siblings such as mcp_list_options or mcp_optimize_tables. It does not explicitly name a sibling it is not, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus adjacent tools like mcp_optimize_tables or mcp_get_health, and no prerequisites beyond the required site id. The agent must infer the intent entirely from the tool name.

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

mcp_get_taxonomyC

Get taxonomy details and schema

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
taxonomyYesTaxonomy name (e.g., category, product_cat)

TDQS

C2.6/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 omits whether this is read-only, what the returned 'schema' contains, error behavior for unknown taxonomies, permission requirements, or whether the response is cached. 'details and schema' is an opaque phrase.

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?

A single short sentence that is front-loaded with the verb-object pattern. It is efficient, though arguably too terse to earn the space it does not use.

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

Completeness2/5

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

No output schema and no annotations mean the description must explain what 'taxonomy details and schema' returns. Against a crowded sibling set including mcp_list_taxonomies and mcp_list_terms, it is not complete enough for an agent to choose or invoke confidently.

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 coverage is 100% and both parameters are documented in the schema (site id, taxonomy name with examples). The description adds nothing beyond that, so baseline 3 applies.

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

Purpose3/5

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

States a verb (Get) and resource (taxonomy details and schema), which is adequate but generic. It does not distinguish itself from the sibling mcp_list_taxonomies, leaving the agent to infer that this is the detailed single-taxonomy lookup versus the listing 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?

No indication of when to use this versus mcp_list_taxonomies or mcp_list_terms. The agent gets no guidance on whether 'get' returns one taxonomy's definition and its schema versus enumerating taxonomies.

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

mcp_get_userC

Get user details by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, but it only implies a read via 'Get.' It does not disclose authentication requirements, permission scope, whether private user fields are returned, or any rate or safety constraints.

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 front-loaded sentence with no wasted words. It is appropriately compact for a simple lookup tool, though its brevity borders on under-specification rather than optimal conciseness.

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

Completeness2/5

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

With no output schema and no annotations, the description should do more to explain what 'user details' means and what constraints apply. It does not mention the required 'site' parameter, return fields, or how this differs from wp_get_user, leaving notable 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%, and both required parameters ('id' and 'site') are documented directly in the schema. The description adds no meaning beyond the schema baseline, so a 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Get user details by ID.' It is clear enough to distinguish a read-user operation from create/update/delete, but it does not distinguish itself from the sibling wp_get_user or clarify how it relates to mcp_list_users.

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 gives no when-to-use guidance, no exclusions, and does not name any alternatives. It only implies that an agent should already have a user ID, without explaining how to obtain one or when to prefer list_users instead.

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

mcp_get_user_metaC

Get all meta data for a user

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID
siteYesSite id (see list_sites)

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 behavioral burden, yet it only implies a read via the verb 'Get'. It does not disclose permissions required, whether meta values are serialized/unserialized, or what happens for an invalid user id.

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?

A single short, front-loaded sentence with zero filler. It is efficient, though its brevity borders on under-specification for a tool whose return shape is undocumented.

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?

No output schema exists, so the description should describe what 'meta data' is returned (key/value pairs, format, possibly sensitive fields), but it does not. For a data-retrieval tool with no annotations, this leaves a meaningful gap.

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 both parameters (id, site) are already documented in the schema, and the site param even cross-references list_sites. The description adds no additional meaning beyond that, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb (Get) and resource (meta data for a user), which clearly identifies the operation and implicitly distinguishes it from the sibling mcp_update_user_meta. However, 'meta data' is generic and the description never explicitly routes the agent away from the update counterpart.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisite for the required site/id pair, and no mention of alternatives such as mcp_update_user_meta or mcp_get_user. The agent must infer context entirely from the name.

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

mcp_get_versionB

Get WordPress version and update status

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

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 behavioral burden, yet it only restates the purpose. It says nothing about permissions required, whether the update status check is cached/expensive, or the shape of the response.

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?

A single seven-word sentence with the resource and scope front-loaded. Nothing redundant or wasted.

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?

For a trivial read-only getter with a fully documented single parameter and no output schema, the description is minimally adequate. It does not clarify how this differs from likely-overlapping siblings (mcp_check_updates, mcp_get_system_info), which is the main missing 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?

There is a single parameter with 100% schema coverage; the schema already documents 'site' as a site id referencing list_sites. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.

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?

States a specific verb (Get) and resource (WordPress version and update status), which is clear and concrete. However, it does not distinguish itself from overlapping siblings such as mcp_get_system_info, mcp_check_updates, or wp_site_info, which plausibly return version/update data too.

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 when-to-use guidance, no prerequisites, and no mention of alternatives like mcp_check_updates or mcp_get_system_info. The agent must infer from the name alone whether this or a sibling is the right call.

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

mcp_get_widgetC

Get a widget's details

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
widget_idYesWidget ID (e.g., text-2)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read-only fetch, but nothing is said about site scoping, error behavior when the widget_id is invalid, or what fields are returned. For a tool with zero annotation coverage this is a notable 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?

A single short sentence that is front-loaded with the verb and resource, with no wasted words. Being terse is fine here, though the brevity is partly under-specification rather than pure 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?

For a simple two-parameter read tool with full schema coverage and no output schema, the description is minimal but not misleading. It still lacks sibling differentiation and any behavioral context, so it is only minimally adequate.

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 'site' (see list_sites) and 'widget_id' (e.g., text-2) documented in the schema itself. The description adds no parameter meaning beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('a widget's details'), so an agent knows the basic operation. However, it does not distinguish this from sibling tools such as mcp_get_sidebar_widgets, mcp_list_widget_types, or mcp_get_menu, which an agent must pick between. Clear but undifferentiated.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like mcp_get_sidebar_widgets or mcp_list_widget_types, and no mention of prerequisites. The agent must infer that this fetches a single widget by id.

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

mcp_install_pluginC

Install a plugin from WordPress.org by slug

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
slugYesPlugin slug from WordPress.org
activateNoActivate after install

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not say whether install requires elevated permissions, what happens if the plugin already exists, whether files are fetched from the network, or what the response looks like. For a mutation tool 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?

A single, front-loaded sentence with no filler. It is efficient, though the terseness contributes to the missing behavioral guidance rather than being paired with it.

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 network-fetch mutation tool with no annotations and no output schema, the description is too thin: no permissions, idempotency, failure modes, or activation consequences are covered. The schema handles parameters, but the behavioral context is largely absent.

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 'site', 'slug', and 'activate' fully documented in the schema, so the baseline is 3. The description adds nothing beyond the schema (e.g., no slug format or activation side-effect detail).

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?

States a specific verb (Install), resource (plugin), and source constraint (from WordPress.org by slug), which implicitly distinguishes it from mcp_install_plugin_zip. No sibling is named explicitly, so it stops short of a 5.

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

Usage Guidelines2/5

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

The 'from WordPress.org by slug' phrase hints at the source, but there is no explicit when-to-use, when-not, or named alternative (e.g., mcp_install_plugin_zip for a local upload, mcp_search_plugins to find a slug). The agent must infer the routing.

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

mcp_install_plugin_zipB

Install a plugin from a ZIP URL (GitHub releases, custom sources)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to plugin ZIP file
siteYesSite id (see list_sites)
activateNoActivate after install
overwriteNoOverwrite if plugin already exists

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 says nothing about the destructive default overwrite=true (existing plugin silently replaced), whether elevated permissions are required, that arbitrary remote code will be executed on the site, or whether the plugin is activated. For an install-from-URL mutation this is a substantial 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?

A single short sentence, front-loaded with verb and resource, with zero filler. Nothing could be cut without losing information.

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

Completeness2/5

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

For a tool that downloads and installs remote code with overwrite defaulting to true, and with no annotations or output schema, the description should disclose safety-relevant behavior. As written it is far too thin for the operation's risk profile.

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% and all four parameters (url, site, activate, overwrite) are documented in the schema, so the baseline of 3 applies. The description only vaguely widens the acceptable URL sources beyond what the schema already states.

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?

States a specific verb and resource plus the source type ('Install a plugin from a ZIP URL'), which implicitly separates it from the sibling mcp_install_plugin that installs from the wp.org directory. However, it never names that sibling, so the distinction must be inferred from the phrase 'ZIP URL'.

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 parenthetical '(GitHub releases, custom sources)' hints at when this tool is appropriate (plugins not available in the wp.org repo), but there is no explicit when-to-use vs. mcp_install_plugin guidance, no prerequisites, and no mention that the URL must be publicly reachable.

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

mcp_install_themeC

Install a theme from WordPress.org by slug

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
slugYesTheme slug from WordPress.org
activateNoActivate after install

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure, and it says almost nothing beyond the bare action. It omits whether an existing theme is overwritten, what permissions are required, and how the optional 'activate' side effect changes state.

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?

A single short, front-loaded sentence with no filler. It is efficient, though arguably under-specified rather than truly concise.

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 mutating install tool with no annotations, no output schema, and a state-changing 'activate' option, the description is far too thin. An agent cannot tell what happens on failure, on an existing install, or what the result looks like.

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 coverage is 100%, so all three parameters (site, slug, activate) are already documented in the schema, which sets the baseline at 3. The phrase 'from WordPress.org by slug' slightly narrows what a valid slug is, but adds little beyond the schema's own 'Theme slug from WordPress.org'.

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?

States a specific verb and resource ('Install a theme') plus the source ('from WordPress.org by slug'), which implicitly distinguishes it from the sibling mcp_install_theme_zip. It does not name the sibling explicitly, so it falls just short of a 5.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance. It never tells the agent to prefer mcp_install_theme_zip for uploaded packages, nor does it mention prerequisites such as the site needing to be reachable or the theme not already being installed.

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

mcp_install_theme_zipC

Install a theme from a ZIP URL (GitHub releases, custom sources)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to theme ZIP file
siteYesSite id (see list_sites)
activateNoActivate after install
overwriteNoOverwrite if theme already exists

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It says nothing about the fact that 'overwrite' defaults to true (i.e. an existing theme may be silently replaced), nor about required permissions, remote-fetch failures, or whether activation occurs. For a mutation tool with zero annotation coverage this is a meaningful 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?

A single short clause with the key qualifier ('ZIP URL') front-loaded and no wasted words. It is efficient, though the brevity shades into under-specification rather than being optimally structured.

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

Completeness2/5

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

For a destructive-capable install tool with no annotations and no output schema, the description omits the consequences of the default overwrite behavior, activation semantics, and any prerequisite context. What exists is accurate but far from 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?

Schema description coverage is 100%, so all four parameters (url, site, activate, overwrite) are already documented in the schema, including defaults. The description adds no meaning beyond that, so the baseline 3 applies.

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?

States a specific verb and resource ('Install a theme from a ZIP URL') and the parenthetical names concrete sources (GitHub releases, custom sources). It implicitly distinguishes itself from mcp_install_theme (directory/registry installs) via the 'ZIP URL' qualifier, though it never names that sibling explicitly.

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 gives no when-to-use/when-not guidance and never mentions the sibling mcp_install_theme, which is the obvious alternative for non-ZIP installs. An agent must infer the selection criteria solely from the word 'ZIP' in the name and description.

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

mcp_list_cpt_postsC

List posts of any custom post type

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
siteYesSite id (see list_sites)
typeYesPost type name
orderNoSort directionDESC
statusNoPost status filterany
orderbyNoOrder by fielddate
per_pageNoPosts per page

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden and delivers almost nothing beyond 'List' implying a read. It doesn't state whether results are paginated in the response, what fields come back, or any permission requirements — notable for a 7-param listing tool with 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?

A single short, front-loaded sentence with zero padding. It is arguably under-specified rather than bloated, but on pure conciseness it wastes nothing.

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?

With 100% schema coverage and no output schema, the parameter surface is covered, but the description says nothing about what the list returns, how the inherently paginated result behaves, or which sites/types are valid. Adequate but thin for a listing tool in a crowded namespace of post/CPT/term listers.

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

Parameters3/5

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

Schema description coverage is 100%, so all seven parameters including the required site and type are already documented in the schema. The description adds no syntax, format, or defaulting guidance beyond that, which is the expected baseline when the schema does 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?

States a specific verb ('List') and resource ('posts of any custom post type'), which is clear enough to distinguish it from wp_list_posts at a glance. It stops short of explicitly naming the standard-post sibling or the post-type prerequisite, so sibling differentiation is implied rather than stated.

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 when-to-use guidance and no alternatives named. An agent must infer on its own that wp_list_posts handles built-in posts while this tool handles CPTs, and that wp_search_posts is the route for filtered lookups.

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

mcp_list_elementor_templatesB

List all Elementor library templates (headers, footers, singles, loop items, popups)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
typeNoFilter by type (header, footer, single, archive, loop-item, page, popup)

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 behavioral burden, yet it says nothing about pagination, result ordering, permissions required, or whether the listing is scoped to the given site. Only the enumerable template categories give any behavioral hint.

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?

A single front-loaded sentence with the resource and covered categories, and no filler. Nothing could be trimmed without losing meaning.

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 two-parameter read tool with a fully documented schema and no output schema, the description is adequate: the agent knows what is listed and how to filter. It is only slightly thin on whether results are paginated or how templates are identified.

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 both parameters are already documented in the schema, including the type filter's allowed values. The description's parenthetical list loosely restates the type values but adds no syntax or filtering nuance beyond that, so baseline 3 applies.

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?

States a specific verb (List) and resource (Elementor library templates) and enumerates the template categories it covers. It is clear what comes back, though it does not explicitly distinguish itself from sibling Elementor tools like mcp_search_elementor or mcp_get_elementor_build.

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

Usage Guidelines2/5

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

No guidance on when to use this versus the many other Elementor tools (mcp_search_elementor, mcp_get_elementor_build, mcp_get_elementor_flat) or why a list is needed before fetching a template. Usage must be inferred entirely from the name and description.

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

mcp_list_mediaB

List media library items with filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
siteYesSite id (see list_sites)
orderNoSort directionDESC
searchNoSearch term
orderbyNoOrder by fielddate
per_pageNoItems per page
mime_typeNoFilter by MIME type (image, video, audio, application)

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 behavioral-disclosure burden. 'List' implies a read operation, but the description does not state permissions, pagination behavior, rate limits, or return characteristics, leaving important behavior unaddressed.

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, front-loaded phrase with no wasted words. It is appropriately sized for the amount of information it chooses to convey.

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?

The schema is rich and fully described, covering required and optional parameters and defaults. However, with no annotations and no output schema, the description is minimally complete: it omits when-to-use routing and behavioral details that would help an agent invoke it confidently.

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, so the schema already documents all seven parameters in detail. The description adds only the general phrase 'with filtering' and does not enrich parameter meaning beyond 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 states a specific verb and resource: 'List media library items with filtering.' It is clear what the tool does, but it does not distinguish this tool from sibling listers such as wp_list_media or mcp_get_media.

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 gives no explicit guidance about when to use this tool versus alternatives. There is no mention of when not to use it, prerequisites, or how it differs from wp_list_media or mcp_get_media.

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

mcp_list_menusC

List all navigation menus

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden but only says 'list all', leaving whether results are paginated, what fields are returned, or what permissions are needed unexplained. The word 'all' hints at no filtering but is the only behavioral signal.

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?

A single four-word, front-loaded phrase with zero filler. It is efficient, though the terseness is what leaves the usage and behavior gaps noted elsewhere.

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?

For a one-parameter read tool with no output schema and no annotations, the description is minimally viable but thin: it doesn't say what a returned menu contains or how it relates to menu locations. It is adequate to call correctly but not to reason about the result.

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% and the single required parameter 'site' is already documented with a pointer to list_sites. The description adds no extra parameter meaning, so the baseline 3 applies.

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 gives a specific verb ('List') and resource ('navigation menus'), so an agent immediately knows the operation. However, it offers no differentiation from close siblings like mcp_get_menu or mcp_get_menu_locations, so it falls short of the top mark.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of when to prefer mcp_get_menu or mcp_get_menu_locations, and no stated prerequisites beyond the schema-required site id. The agent must infer the selection context entirely.

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

mcp_list_optionsB

List WordPress options with optional prefix filter

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
prefixNoFilter by option name prefix
per_pageNoResults per page

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. 'List' implies a read-only operation, but the description does not state permission requirements, pagination behavior, return format, or whether sensitive option values are exposed. It adds little behavioral context beyond 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?

A single sentence with no wasted words, front-loading the verb and resource before the optional filter. It is appropriately sized for the tool's simplicity.

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?

The tool has no output schema and no annotations, so the description should ideally indicate what is returned and how pagination works. It covers the core purpose but leaves those supporting details unstated, making it minimally adequate rather than 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?

Schema description coverage is 100%, so all three parameters are already documented in the input schema. The description mentions only the prefix filter and adds no syntax, format, or usage details beyond what the schema provides; baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb ('List') and resource ('WordPress options') plus the optional prefix filter. It does not explicitly differentiate from sibling tools like mcp_get_option or mcp_bulk_get_options, but the core purpose is clear.

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?

Provides no guidance on when to choose this tool versus mcp_get_option, mcp_bulk_get_options, or wp_get_settings. No prerequisites, exclusions, or alternative-selection criteria are given; usage is only implied by the name.

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

mcp_list_post_typesB

List all public post types with their schema and counts

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose scope ('public' post types only) and that results include schema and counts. However, it says nothing about access requirements, whether custom/private post types are excluded, or the response structure beyond a hint.

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?

One short sentence, front-loaded with the verb and resource, and every clause earns its place by scoping 'public' and the payload.

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?

For a simple single-parameter read tool with no output schema, the description conveys what is returned (schema and counts) and the scope. It still omits when-to-use guidance and any sibling routing, leaving an agent to infer the correct tool among many list_* siblings.

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 a single well-documented 'site' parameter, so the schema already does the work. The description adds no parameter syntax or format detail, which is the expected baseline 3.

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?

States a specific verb ('List') and resource ('post types') plus scope ('public') and returned payload ('schema and counts'). An agent can distinguish this from sibling mcp_get_post_type, though the description never names that sibling to sharpen the contrast.

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 indication of when to call this versus related siblings like mcp_get_post_type, mcp_list_taxonomies, or mcp_list_cpt_posts. The only in-schema hint points to list_sites for the site parameter, not to usage context.

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

mcp_list_rolesB

List all available WordPress user roles

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.4/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 behavioral burden. 'List' strongly implies a harmless read-only enumeration, which is adequate context for a trivial lookup, but the description does not state read-only semantics, permission requirements, or whether role slugs/capabilities are returned.

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?

A single front-loaded sentence with no waste. It is appropriately sized for a simple list operation, though it is arguably so terse that it omits useful context.

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?

For a one-parameter read-only tool with no output schema, the description is minimally viable. It does not describe the shape of returned roles (name vs. slug vs. capabilities) or that the 'site' id comes from list_sites, leaving minor gaps an agent would otherwise guess at.

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 coverage is 100% with the single 'site' parameter fully documented in the schema. The description adds no parameter detail, so the schema does all the work; baseline 3 applies.

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?

States a specific verb (list) and resource (WordPress user roles) with a clear scope of 'all available'. An agent can distinguish it from siblings like mcp_list_users or mcp_change_user_role, though the description does not explicitly name those alternatives.

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

Usage Guidelines3/5

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

Usage is implied by the name and description: call this to enumerate roles before assigning one. There is no explicit when-to-use guidance, no mention of prerequisites, and no reference to related tools like mcp_change_user_role that would consume the returned roles.

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

mcp_list_sidebarsC

List all registered sidebars

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It implies a read-only list operation but never confirms that nothing is mutated, and says nothing about scope (global vs per-site), ordering, or whether the result includes inactive/unregistered sidebars.

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?

One short, front-loaded sentence with no filler. Efficient, though it is arguably too terse to be fully informative.

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?

For a simple one-parameter read tool with full schema coverage and no output schema, the description is minimally sufficient. It leaves gaps around return contents and relation to mcp_get_sidebar_widgets, which an agent would need to chain calls 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% and the single 'site' parameter is documented in the schema ("Site id (see list_sites)"), so the baseline of 3 applies. The description adds no further meaning about the parameter.

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

Purpose4/5

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

States a specific verb (List) and resource (registered sidebars), so the agent knows exactly what it returns. It does not distinguish itself from nearby siblings such as mcp_get_sidebar_widgets or mcp_list_widget_types, which is the only thing keeping it from a 5.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the related tool (mcp_get_sidebar_widgets) that an agent would likely need next. The agent must infer usage from the name alone.

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

mcp_list_taxonomiesC

List all registered taxonomies

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. 'List' implies read-only, but nothing is said about permission requirements, whether the site parameter must reference an existing site, or pagination/result limits for a registry that could be large.

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?

A single front-loaded sentence with zero filler. It is efficient, though the brevity borders on under-specification rather than true conciseness.

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?

With no annotations and no output schema, the description is the only source for return shape and behavioral context, and it is thin. It is minimum viable for a simple single-parameter list call, but does not say what a taxonomy record contains or how it relates to mcp_get_taxonomy.

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% and the single parameter 'site' is documented with a pointer to list_sites. The description adds no format, default, or lookup semantics beyond what the schema already provides, which is the baseline expectation.

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?

States a specific verb and resource ('List all registered taxonomies'), so the operation is unambiguous. It does not, however, distinguish itself from the closely named sibling mcp_get_taxonomy or from mcp_list_terms, leaving the singular/plural split for the agent to infer.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no note that this is the discovery call preceding mcp_get_taxonomy or mcp_list_terms, and no statement of prerequisites. The agent gets no help choosing among the taxonomy-related siblings.

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

mcp_list_termsC

List terms for any taxonomy (categories, tags, custom taxonomies)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
parentNoParent term ID (for hierarchical)
searchNoSearch term names
taxonomyYesTaxonomy name
hide_emptyNoHide terms with no posts

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 behavioral burden. 'List' implies a read-only operation, but nothing is said about pagination, result ordering, hierarchy handling for the parent parameter, authentication needs, or what a returned term contains. For a 5-parameter tool with zero annotation coverage, this is a substantial 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?

A single, front-loaded sentence with no filler; the parenthetical examples earn their place by disambiguating the term 'taxonomy'. It is appropriately sized, though the brevity comes at the cost of the behavioral detail noted elsewhere.

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?

For a simple list tool with 100% schema coverage and no output schema, the description is minimally adequate. It omits any hint of the return shape (which term fields come back), ordering, or hierarchy behavior, and with no annotations there is no structured source to fill those 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 every parameter (site, taxonomy, parent, search, hide_empty) is already documented in the schema. The description adds nothing beyond restating the taxonomy concept, so the baseline 3 applies.

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?

States a specific verb+resource ('List terms') and clarifies scope with the parenthetical '(categories, tags, custom taxonomies)', which helps the agent map it onto WordPress taxonomy concepts. It does not, however, distinguish itself from nearby siblings like mcp_list_taxonomies, wp_list_categories, or wp_list_tags, so it falls short of a 5.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use, when-not-to-use, or alternative routing. An agent must infer from the name and the '(categories, tags)' aside that this generic tool supersedes wp_list_categories/wp_list_tags, but that inference is never stated.

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

mcp_list_usersC

List WordPress users with role/search filters

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
roleNoFilter by role (administrator, editor, etc.)
siteYesSite id (see list_sites)
orderNoSort directionDESC
searchNoSearch by name or email
orderbyNoOrder by fieldregistered
per_pageNoUsers per page

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'List' implies a safe read, but the description says nothing about pagination behavior (per_page/page defaults of 20 and 1), sort defaults, permission requirements, or what a result set looks like. For a 7-parameter list tool with zero annotation coverage, this is thin.

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?

A single short sentence with the core verb and filters front-loaded and no wasted words. It is appropriately terse for a simple list operation, though the terseness is also what leaves the behavioral and routing gaps.

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?

With full schema coverage and no output schema, the description need not explain parameters or return values in detail. However, it omits the required 'site' prerequisite relationship (referenced only inside the schema via 'see list_sites') and gives no differentiation from the duplicate wp_list_users sibling, leaving the definition only minimally 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?

Schema description coverage is 100%, so every parameter is already documented in the schema (role, search, page, per_page, order, orderby, site). The description only echoes the role/search filters and adds no syntax, format, or default information beyond the schema, so the baseline 3 applies.

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?

States a specific verb and resource ('List WordPress users') plus the filter dimensions available (role, search). It is clear what the tool does, but it does nothing to distinguish itself from the near-identical sibling wp_list_users, which an agent could easily confuse with it.

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 phrase 'with role/search filters' hints at when filtering is useful, but there is no explicit when-to-use guidance, no exclusions, and no pointer to alternatives such as wp_list_users, mcp_get_user, or mcp_search_plugins-style siblings. An agent gets no routing help.

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

mcp_list_widget_typesB

List all available widget types

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.2/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 behavioral burden. 'List all available' implies a read-only, unfiltered, unpaginated enumeration, which is modestly informative, but nothing is said about permissions, scope per site, or how many types return.

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?

A single short sentence with zero padding and the key verb front-loaded. It is appropriately sized for a trivial list tool, though it is arguably too sparse to earn a 5.

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?

For a simple one-parameter list tool with full schema coverage, the description is minimally viable. It does not explain what a 'widget type' is in this platform or how it relates to the surrounding widget/sidebar tools, leaving a contextual gap.

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 a single well-documented 'site' parameter, so the baseline is 3. The description adds no extra semantics about which site's widget types are returned or whether types are site-scoped.

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?

States a specific verb+resource: lists available widget types. Distinguishes itself implicitly from sibling widget tools like mcp_get_widget/mcp_add_widget which operate on widget instances rather than type definitions. However it does not explicitly name a sibling or articulate the list-vs-instance distinction.

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 when-to-use guidance, no conditions, no mention of alternatives. The agent must infer that this is the discovery step before mcp_add_widget, but the description never says so.

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

mcp_move_widgetC

Move a widget to a different sidebar

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
positionNoPosition in target sidebar
widget_idYesWidget ID
sidebar_idYesTarget sidebar ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state that this is a mutation, whether the widget is removed from the old sidebar, whether settings are preserved, what permissions are required, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap.

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

Conciseness4/5

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

A single, front-loaded sentence with no wasted words. It is appropriately sized for its limited content, though it could be slightly more informative without losing conciseness.

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

Completeness2/5

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

Given that this is a mutation tool with no annotations and no output schema, the description is too minimal. It does not explain side effects, what happens to the widget's existing position or settings, or any operational context needed for safe 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?

Schema description coverage is 100%, so all four parameters (site, widget_id, sidebar_id, position) are already documented in the schema. The description adds no additional details about parameter format, defaults, or constraints beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb (move) and resource (widget) plus the scope (to a different sidebar). This inherently distinguishes it from mcp_reorder_widgets (ordering within a sidebar) and mcp_update_widget (changing widget settings), though it does not name those siblings explicitly.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives or preconditions. The description merely restates the action without any context about when a move is appropriate or what alternatives exist.

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

mcp_optimize_tablesC

Optimize all database tables

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It implies a database mutation but says nothing about safety, permissions, whether tables are locked, expected duration, or whether the operation is reversible. The only disclosure is the 'all tables' scope, which rules out selective optimization but leaves the operational profile opaque.

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?

A single, front-loaded sentence with zero waste. It is efficient, though its brevity borders on under-specification rather than true conciseness.

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

Completeness2/5

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

A database-mutating maintenance tool with no annotations and no output schema should explain the effect of the operation, its safety profile, and what the agent gets back. None of that is present, leaving an agent unable to judge risk or expected outcome before invoking it.

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 coverage is 100%, and the single 'site' parameter is fully documented in the schema, so the baseline is 3. The description adds no syntax or meaning beyond the schema, though 'all tables' does implicitly confirm there is no table-selection parameter.

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

Purpose4/5

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

States a specific verb (optimize) and resource (database tables) with clear scope ('all'). It is distinguishable from read-only siblings like mcp_get_tables, but it does not differentiate itself from other maintenance siblings such as mcp_clean_revisions or mcp_clean_comments.

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

Usage Guidelines2/5

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

No guidance on when to run this versus alternatives. The description gives no prerequisites, no indication that cleanup tools (mcp_clean_revisions, mcp_clean_comments) might be relevant, and no context about when optimization is appropriate.

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

mcp_regenerate_thumbnailsC

Regenerate image thumbnails for a media item

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesImage media ID
siteYesSite id (see list_sites)

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 must carry the full behavioral burden. 'Regenerate' implies a mutation that overwrites or creates thumbnail files, but the description does not disclose side effects, prerequisites (e.g., media must exist), whether the operation is idempotent, or any permission requirements.

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?

A single, front-loaded sentence that states the action without any filler. It is appropriately sized for a simple, single-purpose tool.

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 simple two-parameter mutation tool, the description states the core action and the schema fully documents inputs. However, with no annotations and no output schema, the description still omits any behavioral context (side effects, what gets regenerated), leaving gaps for an agent to call it with full confidence.

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 both parameters (id and site) are already documented in the schema. The description adds no parameter-level meaning beyond 'for a media item', which loosely maps to the id parameter. Baseline 3 applies 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?

States a specific verb ('Regenerate') and resource ('image thumbnails for a media item'), which is distinct from sibling media tools like mcp_update_media or mcp_get_media. However, it does not explicitly differentiate itself from those siblings, so it falls short of the top 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?

No when-to-use, when-not-to-use, or alternatives are mentioned. The purpose is self-evident, but an agent gets no explicit context for selecting this tool over e.g. mcp_update_media or mcp_get_media_stats.

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

mcp_reorder_widgetsC

Reorder widgets within a sidebar

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
sidebar_idYesSidebar ID
widget_idsYesOrdered list of widget IDs

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It implies a mutation but says nothing about whether the supplied list must be exhaustive, what happens to widgets omitted from widget_ids, whether the change is reversible, or what permissions are needed.

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?

A single six-word clause, front-loaded with the verb and resource, with no wasted words. It is efficient, though its brevity borders on under-specification rather than optimal conciseness.

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

Completeness2/5

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

For a three-parameter mutation tool with no annotations and no output schema, the description should at minimum explain the semantics of a full ordered list and any side effects. Instead it leaves the agent unable to predict the effect on widgets not listed or how errors are surfaced.

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 site, sidebar_id, and widget_ids are already documented in the schema, and the baseline is 3. The description confirms the sidebar scoping but adds no ordering semantics beyond what 'Ordered list of widget IDs' already states.

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?

States a specific verb (Reorder) and resource (widgets) with a scope qualifier (within a sidebar), so the operation is unambiguous. However, it never distinguishes itself from the sibling mcp_move_widget, which plausibly does something overlapping, leaving the agent to guess which one to pick.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of the alternative mcp_move_widget for repositioning single widgets. The agent gets no help deciding between reorder and move.

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

mcp_run_cronC

Manually trigger a cron hook

ParametersJSON Schema
NameRequiredDescriptionDefault
hookYesCron hook name to run
siteYesSite id (see list_sites)

TDQS

C2.8/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 behavioral burden, and it discloses almost nothing: it does not say whether triggering a hook executes real side effects (emails, cleanup, external calls), what permissions are required, or what happens on an unknown hook name. The only behavioral signal is 'manually' versus scheduled execution.

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

Conciseness3/5

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

A single short sentence with zero redundancy, which is structurally clean, but it is so terse that it reads as under-specification rather than efficient concision for a tool with side effects.

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?

With no annotations, no output schema, and no behavioral detail, the definition is inadequate for a tool that executes site-side code paths on demand. An agent cannot tell what it will get back or whether invoking an unknown hook is safe.

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% — 'hook' is documented as the cron hook name and 'site' points to list_sites — so the schema does the heavy lifting. The description adds no additional semantics such as expected hook naming format or where valid hook names can be discovered.

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

Purpose4/5

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

The description states a specific verb ('Manually trigger') and resource ('a cron hook'), which is enough to distinguish this from listing or scheduling cron events. It does not, however, name or contrast itself with the obvious sibling mcp_get_cron_status, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no prerequisites, and no mention of alternatives such as mcp_get_cron_status for inspecting cron state. The word 'Manually' weakly implies the tool is for on-demand runs rather than scheduled, but nothing tells the agent when this is appropriate or risky.

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

mcp_search_elementorC

Search all Elementor pages for specific widgets, settings, or text content

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
settingNoSetting key to search in
containsNoText to search for in setting values
per_pageNoMax results
post_typeNoLimit to specific post typeany
widget_typeNoFilter by widget type (heading, button, image, etc.)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It implies a read operation but does not state read-only semantics, what the results contain (matching pages, matching elements, counts?), how per_page/pagination behaves, or any performance caveat on scanning all pages.

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?

A single efficient sentence with the verb front-loaded and no redundancy. It is well-sized, though it errs toward under-specification rather than true conciseness.

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?

For a 6-parameter search tool with an output-less schema and no annotations, the description is only barely adequate. It conveys the searchable targets but says nothing about result shape, scope (per-site given the required site param), or how results should be consumed.

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 every parameter is already documented in the schema. The description names the searchable dimensions (widgets/settings/text) but adds no syntax, matching semantics (substring vs exact), or interaction rules between setting and contains.

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?

States a specific verb (Search) and resource (Elementor pages) plus the searchable dimensions (widgets, settings, text content). This distinguishes it from the retrieval siblings like mcp_get_elementor_build or mcp_get_elementor_element, but it never explicitly names or contrasts those alternatives.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no mention of the sibling retrieval tools it competes with. The agent must infer from the name alone that this is the discovery/filtering tool while mcp_get_elementor_flat and friends are for direct reads.

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

mcp_search_pluginsC

Search WordPress.org plugin repository

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
searchYesSearch query
per_pageNoResults per page

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 must carry the full behavioral burden. It only states that a search occurs; it omits whether the search calls an external API, any rate limits, authentication requirements, or what is returned. It adds minimal context beyond the tool name.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It efficiently states the core purpose without any unnecessary words.

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

Completeness2/5

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

Given no annotations and no output schema, the description is very thin. It does not explain what the search returns (e.g., plugin metadata, pagination behavior) or any behavioral aspects an agent needs to call it correctly. For a tool whose output format is not otherwise documented, this is a notable gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters (site, search, per_page). The description adds no additional meaning, which meets the baseline of 3 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?

States a specific verb (Search) and resource (WordPress.org plugin repository), which clearly distinguishes it from local plugin listing tools like wp_list_plugins. However, it does not name any sibling alternatives explicitly, so it stops short of full 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?

There is no guidance on when to use this tool versus alternatives such as mcp_install_plugin or wp_list_plugins. The description implies a search context but offers no explicit conditions or exclusions.

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

mcp_search_replaceB

Search and replace strings in database (serialization-safe)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
searchYesString to search for
tablesNoSpecific tables (empty = all)
dry_runNoPreview without applying
replaceYesReplacement string

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, but it only adds 'serialization-safe.' It does not disclose that this is a mutation operation, whether it requires specific permissions, whether changes are reversible, how dry_run behaves, or what data can be overwritten.

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?

A single, front-loaded sentence with zero filler. It is appropriately sized for a concise tool summary, though the tension with contextual completeness is handled in that dimension.

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?

This is a mutation tool with no annotations, no output schema, and five parameters. The one-sentence description lacks usage guidance, safety details (beyond serialization), permission expectations, and practical context like dry-run defaults. The schema covers parameters, but behavioral context remains thin.

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 input schema already documents all five parameters including site, search, replace, tables, and dry_run. The description adds no parameter meaning beyond what the schema provides, so the baseline of 3 applies.

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?

States a specific verb phrase, 'Search and replace strings,' and resource, 'in database,' with an added qualifier '(serialization-safe).' An agent can immediately tell this tool performs bulk string replacement across database content, versus sibling tools that read, create, or update specific records.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives or prerequisites. It does not mention using dry_run first, which tables are affected by default, or what conditions warrant a search-replace operation. Usage must be inferred entirely from the name.

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

mcp_search_themesB

Search WordPress.org theme repository

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
searchYesSearch query
per_pageNoResults 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 behavioral burden, and it says almost nothing: it does not confirm this is a read-only operation, nor describe pagination behavior, result shape, ordering, or any auth/rate constraints. For a remote search tool this is a substantial disclosure 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?

A single five-word sentence, fully front-loaded with the verb and target, with no filler. It is efficient, though it errs toward under-specification rather than being optimally sized for the tool's role.

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?

The tool is simple (3 flat params, 100% schema coverage, no output schema), so the description need not explain returns. Still, with no annotations it should at least signal read-only behavior and that results are remote-repository themes eligible for mcp_install_theme, which it omits.

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 'site', 'search', and 'per_page' are each documented in the schema, including the cross-reference to list_sites. The description adds no syntax, matching, or pagination detail beyond what the schema already supplies, so the baseline 3 applies.

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?

States a specific verb (Search) and resource (WordPress.org theme repository), which contrasts reasonably well with siblings like wp_list_themes (installed themes) and mcp_install_theme. It does not, however, explicitly name a sibling or clarify its relationship to mcp_search_plugins.

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?

Qualifying the target as the 'WordPress.org theme repository' implies the tool is for discovering remote themes prior to installation, which gives implied usage. But there is no explicit when-to-use statement, no exclusion of local listing tools, and no mention of the install follow-up step.

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

mcp_set_optionC

Create or update an option

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesOption name
siteYesSite id (see list_sites)
valueNoOption value (any type)
autoloadNoLoad on every page

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It indicates an upsert ('create or update'), but does not disclose permissions required, whether existing values are overwritten, the effect of autoload, or any side effects.

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

Conciseness4/5

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

The description is a single compact sentence with zero waste and front-loads the operation. It is appropriately concise, though its brevity contributes to gaps addressed in other dimensions.

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 mutation tool with no annotations and no output schema, the description is too sparse. It omits permission requirements, overwrite semantics, autoload implications, and how it relates to the surrounding option-management siblings.

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 input schema already documents all four parameters including defaults. The description adds no extra meaning beyond what the schema provides, so a baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb+resource: 'Create or update an option'. It is clear what the tool does, but it does not distinguish itself from siblings such as mcp_get_option, mcp_list_options, or mcp_delete_option.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives, no prerequisites, and no mention of sibling tools like mcp_get_option or mcp_delete_option. The verb implies setting an option, but no context or exclusions are provided.

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

mcp_sideload_mediaB

Upload media to WordPress from an external URL

ParametersJSON Schema
NameRequiredDescriptionDefault
altNoAlt text (for images)
urlYesURL of the file to download and import
siteYesSite id (see list_sites)
titleNoMedia title
captionNoCaption
filenameNoOverride filename

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 behavioral burden. It says 'Upload' but does not disclose side effects, required permissions, whether existing media can be overwritten, how the remote download is handled, or what happens on failure.

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?

A single front-loaded sentence with zero waste. It communicates the core action and source efficiently, and no sentence fails to earn its place.

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 six-parameter mutation tool with no annotations and no output schema, the one-sentence description is insufficient. It leaves behavioral expectations, side effects, and failure modes completely unspecified, relying on the schema only for parameter names.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters are already documented in the schema. The description adds no parameter-level detail beyond the schema, making the baseline of 3 appropriate.

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

Purpose4/5

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

States a specific verb ('Upload'), resource ('media'), and source ('from an external URL'), making the tool's core action clear. It does not explicitly name or distinguish itself from siblings like wp_update_media, but the external-URL source provides strong differentiation.

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 phrase 'from an external URL' implies the primary use case, but there is no explicit when-to-use guidance, no prerequisites, and no comparison to alternative media tools. Usage is inferable but not spelled out.

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

mcp_update_all_pluginsA

Update all plugins with available updates

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

A3.5/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 behavioral burden. It states the action but omits whether updates require authentication, whether the operation is reversible, how failures are handled, or whether it may take significant time. For a bulk mutation tool, this is a notable 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?

A single, front-loaded sentence with no redundant or filler content. It communicates the core action and scope immediately.

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?

For a one-parameter bulk update tool with no output schema and no annotations, the description covers what is done but not how it behaves (e.g., permission requirements, partial failures). It is minimally adequate but leaves behavioral context to be inferred.

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% and the single 'site' parameter is documented in the schema as 'Site id (see list_sites)'. The description adds no further parameter meaning, so the baseline of 3 applies 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?

States a specific verb and resource ('Update all plugins') with a clear scope condition ('with available updates'). The word 'all' distinguishes it from the sibling mcp_update_plugin, which handles single-plugin updates.

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 bulk-update intent is implied, but there is no explicit guidance on when to use this versus mcp_update_plugin or mcp_check_updates. No prerequisites, exclusions, or alternative selection criteria are stated.

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

mcp_update_all_themesC

Update all themes with available updates

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. For a bulk mutation tool it says nothing about whether changes are reversible, whether it overwrites theme files, what happens on partial failure, or any permission requirements. Only the surface action is disclosed.

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?

A single tight sentence with the scope constraint front-loaded and no wasted words. It is efficient but also so terse that it omits information an agent would want.

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?

A bulk write operation with no annotations, no output schema, and no explanation of scope effects (does it apply to all installed themes?), error behavior, or return values. Not adequate for a destructive bulk mutation.

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?

One parameter with 100% schema description coverage ('Site id (see list_sites)'), so the schema already carries the semantics. Baseline 3 applies since the description adds nothing about the site parameter or multi-site targeting.

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?

States a specific verb (update), resource (themes), and scope (all, only those with available updates). An agent can distinguish it from mcp_update_theme by the 'all' scope, though the description never names that sibling to make the distinction explicit.

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 when-to-use guidance beyond the implicit scope. It never mentions checking for updates first (mcp_check_updates exists), nor routes to mcp_update_theme for single-theme updates, nor states any prerequisites or exclusions.

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

mcp_update_coreC

Update WordPress to the latest version

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It is a mutation operation that updates core files, but the description does not disclose risks, required permissions, downtime, backup recommendations, or any side effects.

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

Conciseness4/5

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

One efficient, front-loaded sentence with zero waste. It is appropriately sized for a simple description, though it borders on being too terse for a high-risk operation.

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 high-risk core update tool with no annotations and no output schema, the description is inadequate. It omits critical context such as potential site breakage, need for backups, or compatibility checks.

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%, and the single 'site' parameter is fully documented in the schema. The description adds no additional meaning beyond what the schema already provides, which is the baseline for this dimension.

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?

States a specific verb ('Update') and resource ('WordPress'), clearly implying core update as opposed to plugin or theme updates. It does not explicitly name alternative sibling tools like mcp_update_plugin or mcp_check_updates, but the resource name alone distinguishes it sufficiently.

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 when-to-use guidance, no prerequisites, no mention of alternatives or conditions. The use case is implied (update when a new version is available) but nothing is stated explicitly.

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

mcp_update_cpt_postC

Update a custom post type post

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID
metaNoPost meta key-value pairs
siteYesSite id (see list_sites)
typeYesPost type name
titleNoPost title
statusNoPost status
contentNoPost content

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full burden. It signals mutation but says nothing about permission requirements, whether unspecified fields are preserved or cleared, or whether the operation is reversible. For a write tool this is a substantial gap.

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

Conciseness3/5

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

A single short sentence with no padding, so it is not verbose, but it is under-specified rather than concise. There is nothing to front-load because there is no substantive content beyond the verb.

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 mutation tool with seven parameters, no annotations, and no output schema, the description should at minimum explain the effect of the update and any required context. It leaves the agent to infer everything from the schema and tool name.

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

Parameters3/5

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

Schema description coverage is 100%, so all seven parameters (including the nested 'meta' object) are already documented in the schema. The description adds no parameter-level detail, which is acceptable but not additive; baseline 3 applies.

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

Purpose3/5

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

States a verb and resource ('Update a custom post type post'), which is more than a pure name restatement, but it does not distinguish itself from the nearby siblings mcp_create_cpt_post, mcp_delete_cpt_post, or wp_update_post. An agent cannot tell from the text alone why this exists alongside wp_update_post.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of the required site/type/id trio. The description implies usage only via the word 'Update'.

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

mcp_update_elementor_elementA

Update settings on a single Elementor element (merge by default). With widget_type, replaces the widget in place (same id, position and parent), e.g. turn a V4 placeholder into a V3 html widget; the type must be registered with Elementor.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost/page ID
siteYesSite id (see list_sites)
settingsYesSettings to merge into (or, with settings_mode replace, to become) the element's settings
element_idYesElementor element ID
widget_typeNoReplace the widget type in place (cvrt-mcp-endpoints 1.13.0+). Widgets only, not containers.
settings_modeNomerge (default) or replace: settings become the element's complete settings

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must carry behavioral disclosure. It discloses the merge-default behavior and that widget_type replaces the widget while preserving id, position, and parent, but omits whether the operation is destructive, requires specific permissions, or how failures are reported.

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 two concise sentences that front-load the core update operation and then explain the optional widget_type replacement. It is efficient, though the widget_type example could be trimmed.

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?

For a mutation tool with no annotations and no output schema, the description covers the main settings merge/replace behavior and the in-place widget replacement use case, but leaves gaps around permissions, error handling, and whether the change is reversible.

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 coverage is 100%, so the schema already documents all six parameters including merge/replace enum and widget_type pattern. The description adds the concrete example and the constraint that the type must be registered with Elementor, which is marginal added 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 states a specific verb+resource ('Update settings on a single Elementor element') and clearly distinguishes the operation via its default merge mode and optional widget_type replacement behavior, separating it from sibling get/delete 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?

It clarifies when to use widget_type (to replace a widget in place, e.g. turning a V4 placeholder into a V3 html widget), which is helpful context. However, it does not explicitly name or exclude sibling alternatives like mcp_get_elementor_element or mcp_delete_widget, leaving some routing ambiguity.

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

mcp_update_elementor_kitC

Update Elementor global kit settings (colors, fonts, typography)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
settingsYesKit settings to merge

TDQS

C2.9/5.0
Behavior2/5

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

No annotations, so the description carries the full behavioral burden for a destructive merge operation. It doesn't mention that settings are merged (only the schema param hints 'to merge'), whether it overwrites existing kit values, whether it requires auth, or reversibility.

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

Conciseness4/5

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

Single efficient sentence, front-loaded with the verb and target. No filler, though it is quite terse given the complexity of the tool.

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 destructive settings mutation with no annotations and no output schema, the description is too thin. It omits merge semantics, expected setting keys, permissions, and how it differs from mcp_update_elementor_page_settings.

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 coverage is 100% and every parameter is documented in the schema ('site id', 'settings to merge'), so baseline 3 applies. The description adds the semantic categories (colors, fonts, typography) but nothing about required settings keys or format.

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

Purpose4/5

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

Clear verb+resource: 'Update Elementor global kit settings' with the affected fields (colors, fonts, typography). Distinguishes from mcp_get_elementor_kit (read) and mcp_update_elementor_element/page_settings (different Elementor scopes), though it doesn't explicitly name those siblings.

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 when-to-use guidance. Given three nearby Elementor update tools (element, page settings, kit), the description never routes the agent to the correct one, and there are no prerequisites or side-effect notes.

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

mcp_update_elementor_page_settingsC

Update Elementor page-level settings

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost/page ID
siteYesSite id (see list_sites)
settingsYesSettings to merge

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The schema description for 'settings' says 'Settings to merge,' which is helpful context about merge semantics, but the description itself offers no additional behavioral detail such as whether this requires an Elementor editor context, whether the update is destructive to unspecified settings, or what the response looks like.

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?

A single, efficient sentence with no filler. It is front-loaded with the verb and resource, though it is arguably too terse given the absence of annotations and output schema.

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 mutation tool with no annotations, no output schema, and no when-to-use guidance, the description is thin. It does not explain the merge behavior, required permissions, or what happens to existing settings not included in the update, leaving meaningful gaps for safe 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?

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no parameter-level information beyond the name. Baseline 3 applies 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 states a clear verb and resource: 'Update Elementor page-level settings.' It is easy to distinguish from sibling mcp_get_elementor_page_settings (which fetches, versus this which updates) and from mcp_update_elementor_element, which operates on elements rather than page-level settings. The distinction is clear but not explicitly reinforced in the text.

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 when-to-use or when-not-to-use guidance is provided. The description does not name the getter counterpart or explain when to update page settings versus element settings, leaving the agent to infer from sibling names.

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

mcp_update_mediaC

Update media item metadata (title, alt text, caption)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMedia ID
altNoAlt text
siteYesSite id (see list_sites)
titleNoTitle
captionNoCaption
descriptionNoDescription

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it only says what fields exist. It never states whether this is a partial update (are omitted fields left untouched?), what permissions are needed, or whether changes are reversible. For a mutation tool 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?

A single front-loaded sentence with no filler. It is efficient, though its brevity borders on under-specification rather than tightness.

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?

A 6-parameter mutation tool with no annotations and no output schema needs the description to explain update semantics (partial vs full), prerequisite lookup, and result shape. One parenthetical field list is far short of what is required.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters are already documented in the schema. The description echoes three of the editable fields (title, alt, caption) but omits 'description' and the required identifiers 'site'/'id', adding little beyond the schema. Baseline 3 applies.

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?

States a specific verb (Update) and resource (media item metadata) and names the mutatable fields (title, alt text, caption). However, the sibling list contains both mcp_update_media and wp_update_media, and the description gives no basis for choosing between these near-duplicates.

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 when-to-use guidance, no prerequisites, and no mention of the competing wp_update_media sibling or mcp_get_media/mcp_list_media for locating an item first. An agent gets no routing help at all.

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

mcp_update_menuB

Update a navigation menu (rename)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMenu ID
nameYesNew menu name
siteYesSite id (see list_sites)

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 disclosure burden, yet it only says 'update/rename'. It does not state required capabilities, whether the change is reversible, how other menu fields (items, locations) are affected, or what a failed rename looks like.

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?

A single short phrase with the scoping hint front-loaded and no waste, though it is arguably terse enough to be under-specified rather than genuinely concise.

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 mutating tool with no annotations and no output schema, the description omits prerequisites, side effects, and result behavior; it is not sufficient on its own to call this tool confidently.

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 id, name, and site. The description adds nothing beyond the 'rename' hint, so the baseline of 3 is appropriate rather than lower or higher.

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?

States a specific verb and resource ('Update a navigation menu') and the parenthetical '(rename)' narrows the operation, which implicitly distinguishes it from mcp_update_menu_item. It does not, however, explicitly contrast itself with its nearest siblings.

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?

Usage is only implied: the agent can infer this renames an existing menu rather than creating or deleting one, but there is no statement of when to prefer it over mcp_update_menu_item, mcp_assign_menu_location, or mcp_create_menu.

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

mcp_update_menu_itemC

Update a menu item (title, URL, position, parent)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL for custom links
siteYesSite id (see list_sites)
titleNoMenu item title
parentNoParent menu item ID
item_idYesMenu item ID
positionNoPosition in menu

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It signals a mutation but does not describe permissions, whether the update is partial or full, what happens to omitted fields, or any side effects.

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

Conciseness5/5

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

The description is a single, front-loaded phrase with no wasted words. It efficiently states the action and the main fields involved.

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 mutation tool with no annotations and no output schema, the description is too thin. It omits required inputs, update semantics, permissions, and response behavior, leaving important context to inference.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters are already documented in the schema. The description lists a subset of updateable fields but adds no syntax, format, or constraint details beyond what the schema provides.

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

Purpose4/5

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

The description states a specific verb and resource ('Update a menu item') and lists the fields it can change. It is clear what the tool does, but it does not distinguish itself from siblings like mcp_update_menu or mcp_add_menu_item.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, nor are any prerequisites or conditions mentioned. The agent is left to infer usage from the name alone.

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

mcp_update_pluginC

Update a single plugin to latest version

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
pluginYesPlugin file path (e.g., akismet/akismet.php)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden for a mutation tool, and it discloses almost nothing: no mention of permissions, whether the plugin must be inactive, whether it deactivates/reactivates, what happens if already current, or any failure/reversibility behavior.

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?

A single front-loaded sentence with no wasted words. It is arguably too terse for a mutation tool, but structurally it is clean and efficient.

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 multi-tenant mutation tool with no annotations and no output schema, the description omits essential context: auth/permission needs, side effects of updating, and outcome expectations. The schema covers parameters, but the description leaves the operation's behavior opaque.

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 'site' and 'plugin' both documented in the schema (including the path example), so the baseline of 3 applies. The description adds no format or constraint detail beyond what the schema already provides.

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

Purpose4/5

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

The description gives a specific verb and resource ('Update a single plugin') plus the target state ('to latest version'). The word 'single' implicitly distinguishes it from the sibling mcp_update_all_plugins, though it never names that alternative outright.

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 statement of when to use this versus mcp_update_all_plugins, wp_activate_plugin, or mcp_install_plugin, and no prerequisites such as whether the plugin must already be installed or inactive. The agent must infer usage from the name alone.

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

mcp_update_termC

Update a term in any taxonomy

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTerm ID
nameNoTerm name
siteYesSite id (see list_sites)
slugNoURL slug
parentNoParent term ID
taxonomyYesTaxonomy name
descriptionNoTerm description

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose whether this is a partial or full update, what happens to fields omitted from the call, whether slug/name collisions error out, or what permission level is required — all critical 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?

A single short sentence with no filler, and the verb+resource lead is front-loaded. It could be tightened only marginally; the phrase 'in any taxonomy' is the one part that carries real information.

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

Completeness2/5

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

A mutation tool with 7 parameters, no annotations, and no output schema needs the description to explain update semantics, required context (site + taxonomy + id), and side effects. None of that is present, so it is not complete enough 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?

Schema description coverage is 100%, so the schema already documents all 7 parameters (id, name, site, slug, parent, taxonomy, description). The description adds no parameter-level meaning beyond 'any taxonomy', so the baseline 3 applies.

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?

States a specific verb (Update) and resource (a term) with scope (any taxonomy), so the agent can tell it is a mutation on a taxonomy term. However, it does not differentiate from close siblings like wp_update_tag, wp_update_category, or mcp_create_term/mcp_delete_term, leaving the agent to infer which term type maps to this 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?

No when-to-use guidance, no prerequisites, and no mention of alternatives such as mcp_create_term for new terms or mcp_delete_term for removal. Usage is only implied by the word 'Update', which is not enough given the dense sibling set.

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

mcp_update_themeB

Update a single theme to latest version

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
stylesheetYesTheme folder name

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral burden, and it discloses almost nothing. It does not say where the 'latest version' comes from, whether local customizations are overwritten, whether an update precondition must be met, or whether the operation is reversible.

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?

A single short sentence with the verb and resource front-loaded and no filler. It is efficient, though the extreme brevity is partly responsible for the missing detail elsewhere rather than pure conciseness.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description should at minimum clarify what 'update to latest version' entails and what happens if it fails or is already current. Both parameters are schema-documented, but the behavioral picture an agent needs before invoking a write operation is largely absent.

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%: 'site' is documented as the site id and 'stylesheet' as the theme folder name, so the schema already carries parameter meaning. The description adds no additional semantics beyond that, which is the expected baseline 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?

States a specific verb+resource ('Update a single theme') with a clarifying scope ('to latest version'), which disambiguates from a settings edit. The word 'single' implicitly distinguishes it from siblings like mcp_update_all_themes, but the distinction is only implied rather than stated.

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?

Usage is only implied: 'a single theme' suggests use this instead of the bulk mcp_update_all_themes, and the required 'site'/'stylesheet' inputs imply the theme must already be installed. There is no explicit when-to-use statement, no prerequisite mention, and no named alternative.

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

mcp_update_userC

Update an existing user

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID
siteYesSite id (see list_sites)
emailNoEmail address
passwordNoNew password
last_nameNoLast name
first_nameNoFirst name

TDQS

C2.5/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, and it does not say whether this is a partial or full update, what permissions are required, whether a password change has side effects (e.g., session invalidation), or what the response contains. 'Existing' hints that the id must already resolve, but for a six-parameter mutation tool that is thin.

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

Conciseness3/5

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

The single short sentence is front-loaded and free of padding, which is good. But at four words it is under-specified rather than genuinely concise, so it earns no more than a middling score.

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?

This is a mutation tool with six parameters, no annotations, and no output schema, so the description must supply the missing behavioral context. It fails to cover required permissions, partial-update semantics, password side effects, or any distinction from the duplicate wp_update_user sibling.

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 every parameter (id, site, email, password, first_name, last_name) is already documented in the schema, and the baseline is 3. The description adds no extra semantics such as partial-update behavior or which fields are optional versus ignored.

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

Purpose3/5

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

The description states a clear verb and resource ('Update an existing user'), so the basic action is unambiguous. However, it offers nothing to separate it from near-identical siblings such as wp_update_user, mcp_create_user, or mcp_update_user_meta, leaving the agent unable to tell which user-update tool to pick.

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 when-to-use guidance, prerequisites, or named alternatives appear anywhere in the description. The agent gets no signal about when this tool is preferable to wp_update_user, mcp_change_user_role, or mcp_update_user_meta.

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

mcp_update_user_metaC

Update meta data for a user

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID
metaYesMeta key-value pairs to set
siteYesSite id (see list_sites)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It implies a write operation but does not disclose whether metadata is merged or replaced, what permissions are required, or what happens to existing keys, leaving significant ambiguity 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.

Conciseness3/5

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

The description is a single short sentence with no wasted words and the core action is front-loaded. However, it is so terse that it lacks the structural detail expected for a 3-parameter mutation with a nested meta object.

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 a mutation tool with a nested meta object, three required parameters, no output schema, and no annotations, the description is too thin. It omits key operational context such as merge semantics, required permissions, and the role of the 'site' parameter.

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 each parameter's meaning. The description adds no parameter-level detail beyond the schema, making the baseline score of 3 appropriate.

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

Purpose4/5

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

The description states a specific verb ('Update') and resource ('meta data for a user'), making it clear this mutates user metadata rather than a user record or other resource. It does not explicitly distinguish itself from siblings such as mcp_get_user_meta or mcp_update_user, keeping it from a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like mcp_update_user or mcp_get_user_meta, nor any prerequisites or context. The name implies a use case, but the description provides no explicit usage conditions.

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

mcp_update_widgetC

Update a widget's settings

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
settingsYesSettings to update
widget_idYesWidget ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it says nothing about whether unspecified settings are preserved or wiped, whether settings are merged or replaced, required capabilities, or whether the update is reversible. For a mutation tool with an opaque nested settings object, 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?

A single front-loaded sentence with no wasted words. It is efficient, though the brevity edges toward under-specification rather than true conciseness.

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

Completeness2/5

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

Given a mutation tool with zero annotations, no output schema, and a nested arbitrary-key settings object, the description should disclose merge semantics, permissions, and failure modes but does none of them. The structured fields alone are not enough to call this 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 'site', 'widget_id', and 'settings' are each documented in the schema and the baseline is 3. The description adds nothing beyond that, which is acceptable here but leaves the opaque 'settings' object (additionalProperties: {}) unexplained in both places.

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?

States a specific verb ('Update') and resource ('a widget's settings'), so an agent can tell it apart from mcp_get_widget or mcp_delete_widget by action alone. It does not, however, differentiate itself from sibling mutators like mcp_reorder_widgets or mcp_move_widget, which also change widgets.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus mcp_add_widget, mcp_move_widget, or mcp_reorder_widgets, nor any prerequisite (e.g. widget must already exist in a sidebar). The agent must infer usage entirely from the name.

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

seo_bulk_update_posts_seoC

Bulk update SEO meta across multiple posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
updatesYesBulk update payload (e.g. { posts: [{ id, ...meta }] })

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose mutation side effects, permission requirements, partial-failure behavior, rate limits, or whether existing meta is overwritten. For a bulk write operation, this leaves critical behavior unspecified.

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 front-loaded sentence with no wasted words. It is appropriately sized for a concise summary, though it could carry more useful context without becoming verbose.

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 is a bulk mutation with a nested 'updates' object, no annotations, and no output schema, the one-line description is not complete enough. It omits prerequisites, expected return behavior, and how to handle multiple posts in a single call.

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 both parameters, including the 'site' reference to list_sites and the 'updates' payload shape. The description adds no additional meaning beyond what the schema provides, making the baseline of 3 appropriate.

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

Purpose4/5

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

The description states a specific verb ('Bulk update') and resource ('SEO meta across multiple posts'), which distinguishes it from the single-post sibling seo_update_post_seo. It does not explicitly name that sibling or clarify scope boundaries beyond 'bulk', but the purpose is clear and actionable.

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 given on when to use this tool versus seo_update_post_seo, seo_list_posts_seo, or other alternatives. There is no mention of prerequisites, constraints, or conditions that would select this tool over single-post updates.

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

seo_clear_monitor_logC

Clear the 404/redirect monitor log.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.8/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 behavioral burden. 'Clear' implies irreversible deletion of log entries, but the description never says the data is destroyed permanently, whether it is scoped to one site, or whether the action is recoverable. For a destructive operation with zero annotation coverage this is a significant gap.

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

Conciseness3/5

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

A single short sentence with no filler, so it is concise, but it is terse to the point of under-specification for a destructive tool. Nothing is front-loaded incorrectly, yet nothing beyond the bare action is conveyed.

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 destructive, unannotated tool with no output schema, the description omits what gets removed (all log entries for the site? retained vs. truncated?), whether redirects created from the log are affected, and what is returned. The site parameter is at least covered by the 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?

Only one parameter ('site') and schema coverage is 100%, with the schema itself pointing to list_sites for valid ids. The description adds nothing about the parameter, so the baseline 3 applies.

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?

States a specific verb ('Clear') and resource ('404/redirect monitor log'), which is enough to distinguish it from seo_list_monitor_log and seo_create_redirect_from_log by name. It is clear but does not explicitly contrast itself with those siblings.

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

Usage Guidelines2/5

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

No guidance on when to clear the log versus when to read it via seo_list_monitor_log or promote entries via seo_create_redirect_from_log. There is no mention of prerequisites, confirmation, or the consequences of clearing unmatched 404 data.

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

seo_create_redirectC

Create a redirect.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
redirectYesRedirect fields (source, target, type, ...)

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only implies a write operation via 'Create' and says nothing about authentication requirements, required fields, whether existing redirects are overwritten, or what happens on success/failure.

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

Conciseness2/5

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

The description is a single four-word sentence with zero waste but is severely under-specified for a tool with a nested object parameter and no annotations. It is too terse to be considered 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.

Completeness2/5

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

Given the lack of annotations, no output schema, and a nested redirect object, the description is not complete enough to guide correct invocation. It omits behavioral traits, usage context, and any explanation of the redirect fields, though the input schema does document the 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 two parameters (site and redirect) are already documented in the schema. The description adds no additional meaning beyond what the schema provides; 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 states a clear verb and resource ('Create a redirect'), distinguishing it from sibling list/get/update/delete tools. However, it does not differentiate from other creation tools such as seo_create_redirect_from_log or seo_import_redirects, leaving some ambiguity for an agent.

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 when-to-use guidance, prerequisites, or alternatives are provided. The description gives no context about when creating a redirect is appropriate versus using seo_create_redirect_from_log or importing redirects.

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

seo_create_redirect_from_logB

Create a redirect directly from a monitor log entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMonitor log entry ID
siteYesSite id (see list_sites)
redirectNoRedirect fields (target, type, ...)

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 behavioral burden. "Create a redirect" is a mutation, yet the description says nothing about permissions required, whether it consumes/modifies the referenced log entry, what happens if the entry is missing, or whether the operation is idempotent.

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?

A single front-loaded sentence with zero filler; the resource and its source are stated immediately.

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 mutation tool with no annotations, no output schema and a nested redirect object, the description is too thin. It omits side effects, prerequisites and the relationship between the log entry and the created redirect, leaving significant gaps for an agent to guess at.

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 id, site and the redirect object, giving a baseline of 3. The description adds the contextual link between the log entry and the id parameter but offers no detail on the redirect object's expected fields beyond what the schema's "target, type, ..." hint already provides.

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

Purpose4/5

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

States a specific verb (create), resource (redirect) and source (a monitor log entry), which implicitly separates it from the sibling seo_create_redirect. It does not explicitly name that sibling, so the differentiation requires inference.

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?

"Directly from a monitor log entry" implies the situation in which this tool is appropriate, but there is no explicit when/when-not statement or reference to seo_create_redirect as the alternative for manual redirect creation. Usage must be inferred.

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

seo_delete_post_seoC

Delete (reset) the SEO meta for a post.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It usefully signals that deletion means 'reset' rather than hard removal, but it omits whether the operation is reversible, what happens to default/fallback SEO values, permission requirements, and error behavior when no SEO meta exists.

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?

A single tight sentence with the key semantic clarification front-loaded; nothing redundant and nothing padded.

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 mutation tool with no annotations and no output schema, the description is too thin: it does not cover return behavior, permission needs, or interaction with the corresponding get/update tools. The '(reset)' hint is helpful but insufficient.

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% (id = Post ID, site = Site id referencing list_sites), so the schema already documents both parameters. The description adds no additional meaning beyond that, which is the expected baseline.

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?

States a specific verb (Delete) and resource (SEO meta for a post), and the parenthetical '(reset)' clarifies the semantics of the delete. It is distinguishable from seo_delete_term_seo via 'for a post', but it does not explicitly contrast with siblings like seo_update_post_seo or seo_get_post_seo.

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

Usage Guidelines2/5

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

No guidance on when to use this versus seo_update_post_seo (clearing fields), seo_bulk_update_posts_seo, or seo_delete_term_seo, and no preconditions stated. The agent must infer usage entirely from the name.

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

seo_delete_redirectC

Delete a redirect by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRedirect ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not state whether deletion is permanent, whether the redirect is recoverable, if it requires a capability, or what happens if the id is missing. For a destructive mutation tool 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?

One short sentence that is front-loaded with the action and resource. It is efficient, though extremely terse given the destructive nature of the operation.

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 destructive redirect-deletion tool with no annotations and no output schema, the description omits permissions, irreversibility, and error behavior. It is not complete enough for an agent to call it safely without assumptions.

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 'id' and 'site' documented in the schema. The description adds nothing beyond the schema, so the baseline of 3 applies.

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?

States a specific verb (Delete) and resource (redirect) scoped by id, which is clear on its own. It does not distinguish itself from sibling redirect tools like seo_update_redirect or seo_list_redirects, but the verb+resource pairing is unambiguous.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives such as seo_update_redirect, nor any prerequisites or confirmation that the id must already exist. Usage is only implied by the verb.

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

seo_delete_term_seoB

Delete (reset) the SEO meta for a taxonomy term.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTerm ID
siteYesSite id (see list_sites)

TDQS

B3.2/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. The parenthetical '(reset)' adds real information: it tells the agent this reverts SEO meta to defaults rather than removing the term, which is a meaningful behavioral distinction. It still omits reversibility, permission requirements, and whether the operation is idempotent.

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?

A single front-loaded sentence with no filler, and the verb and target come first. It is arguably too terse for a destructive operation, but it is efficient rather than padded.

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?

For a destructive, annotation-free tool with no output schema, the description should say more about effects and safety (what is lost, whether it is reversible, required permissions). It does at least scope the blast radius to SEO meta rather than the term itself, so it is minimally viable but incomplete.

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% — 'id' (Term ID) and 'site' (see list_sites) are both documented in the schema. The description adds nothing parameter-specific, so the baseline of 3 applies.

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?

States a specific verb ('Delete'), resource ('SEO meta') and target ('taxonomy term') in one line, which distinguishes it from seo_get_term_seo and seo_update_term_seo by verb. It stops short of explicitly naming those siblings, but the purpose is unambiguous.

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 when-to-use guidance, no prerequisites, and no mention of the sibling tools (seo_get_term_seo, seo_update_term_seo) that an agent might reach for instead. The agent must infer that this is the counterpart to the term-SEO get/update pair.

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

seo_export_csvC

Export post SEO meta as CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It doesn't say whether the export is a download/file path, an inline payload, whether it requires auth or writes to disk, or what the CSV columns are. 'Export' implies output but nothing about its form.

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?

A single efficient sentence with no filler, front-loaded with the core verb and resource. It is lean but arguably too lean to be maximally useful.

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?

With no output schema and no annotations, the description should explain what the export produces and how it is delivered. It omits both, leaving the agent unable to anticipate the result of the call.

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?

One parameter with 100% schema description coverage; the schema already documents 'site' and points to list_sites. The description adds no additional meaning beyond what the schema provides, so baseline 3 applies.

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?

Clear verb+resource: exports post SEO meta as CSV. An agent can tell it apart from seo_export_settings and seo_export_redirects by the resource named (post SEO meta), though it doesn't explicitly contrast with those siblings.

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 when-to-use guidance, no prerequisites, no mention of the complementary seo_import_csv or seo_list_posts_seo siblings. The agent must infer context entirely from the name.

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

seo_export_redirectsC

Export redirects.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.5/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 behavioral burden and fails it. It does not disclose the output format (CSV? JSON? file download?), whether the export is scoped only to the given site, or whether it is read-only and safe to repeat.

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

Conciseness3/5

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

Two words are as concise as possible and contain no padding, but the terseness is under-specification rather than disciplined economy. There is no structure to speak of and nothing is front-loaded because nothing is said.

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?

With no output schema and no annotations, the description should at minimum say what an export produces and in what form. For an export tool sitting alongside seo_export_csv and seo_import_redirects, it leaves the agent without enough to call it confidently.

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?

There is a single parameter with 100% schema description coverage ('Site id (see list_sites)'), which already points the agent at list_sites for the value. The description adds nothing beyond the schema, so the baseline 3 applies.

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

Purpose3/5

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

States a verb (Export) and a resource (redirects), which is more than a pure tautology, but it is indistinguishable from sibling tools like seo_export_csv, seo_export_settings, or seo_import_redirects. The agent cannot tell from the text alone what makes this export different.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as seo_export_csv, despite several near-identical export siblings. The agent must infer the routing from the tool name alone.

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

seo_export_settingsC

Export cvrt-seo-manager settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it says nothing beyond 'export'. It does not disclose return format (file vs. JSON payload), whether the output can be fed to seo_import_settings, or what happens on an invalid site id.

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?

A single short, front-loaded sentence with zero waste. It is efficient, though arguably under-specified rather than maximally concise.

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 an export tool with no annotations and no output schema, the description should explain what the export produces and its relationship to seo_import_settings. Those gaps leave the agent unable to predict the return value or round-trip 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?

Only one parameter, and schema description coverage is 100% (the schema documents 'site' as a site id referencing list_sites). The description adds nothing beyond the schema, so the baseline 3 applies.

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?

States a specific verb+resource: 'Export cvrt-seo-manager settings.' It is clearly distinguishable from siblings like seo_get_settings (retrieve) and seo_update_settings (modify). It does not, however, differentiate from seo_export_csv/seo_export_redirects, which is a minor gap.

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 when-to-use context, no mention of the natural counterpart seo_import_settings, and no prerequisites such as permissions or site scope. The agent must infer all usage context from the name alone.

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

seo_get_post_analysisC

Get the SEO analysis (score, issues) for a post.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a read ('Get') and names the return fields, but says nothing about whether the analysis is computed on demand, cached, requires a prior analysis run, or what permissions are needed.

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?

A single tight sentence with the payload front-loaded. No waste, though it is arguably too sparse for the context.

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?

With no output schema and no annotations, the description is the only source of behavioral context, and it covers just the return fields at a high level. For a read tool this borders on adequate, but the lack of any differentiation from seo_get_post_seo leaves a real gap.

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% (both 'id' and 'site' are documented in the schema), so the baseline is 3. The description adds no parameter meaning beyond what the schema already provides.

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

Purpose4/5

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

States a specific verb ('Get') and resource ('SEO analysis') and even enumerates the return payload ('score, issues'). However, it does nothing to distinguish itself from the closely named sibling seo_get_post_seo, so an agent could easily confuse the two.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus seo_get_post_seo, seo_list_posts_seo, or seo_keyword_check. The description gives no context, prerequisites, or exclusions.

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

seo_get_post_seoC

Get the SEO meta for a post.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. 'Get' implies a read, but nothing is said about required permissions, whether an empty result is returned for posts with no SEO meta, or what fields the meta contains. For a read tool with zero annotation coverage this is thin, though the read-only nature is at least implied.

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?

A single front-loaded sentence with no padding or filler. It is efficient, though it is arguably under-specified rather than concise; one more clause on scope would not have hurt.

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?

No output schema and no annotations, so the description should describe what 'SEO meta' resolves to (title, description, canonical, robots, etc.) and what happens when none exists. It leaves the return shape and edge cases entirely undefined for a data-fetch 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% — both 'id' (Post ID) and 'site' (see list_sites) are documented in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb (get) and resource (SEO meta for a post), which is clearer than most siblings like seo_status or seo_get_settings. However, it does nothing to distinguish itself from adjacent siblings such as seo_get_post_analysis, seo_list_posts_seo, or seo_get_term_seo.

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

Usage Guidelines2/5

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

No guidance on when to use this versus seo_list_posts_seo or seo_get_post_analysis, and no prerequisites stated. The agent must infer that this is a per-post single-fetch and that the site/id pair is required from the schema alone.

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

seo_get_redirectC

Get a redirect by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRedirect ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read with no side effects, but nothing states the return shape, what happens when the id does not exist, or whether the site must be accessible. For a no-annotation tool this is thin.

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?

A single short sentence, front-loaded with the verb and resource, with zero waste. It is efficiently sized, though efficiency here partly reflects under-specification rather than editorial tightness.

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?

For a simple two-parameter read tool with full schema coverage and no output schema, the minimum is arguably met. Still missing is any note on not-found behavior or that it is a read-only sibling to create/update/delete redirect tools.

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% and both parameters are documented there, including the pointer to list_sites for the site id. The description adds no meaning beyond 'by id', so baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Get a redirect by id'), so the agent knows exactly what it retrieves. However, it offers no differentiation from siblings like seo_list_redirects or seo_get_post_seo, and 'redirect by id' is the only scoping detail given.

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

Usage Guidelines2/5

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

No guidance on when to use this versus seo_list_redirects (list all) or seo_update_redirect/seo_delete_redirect. The agent must infer that this is the single-item read path from the name alone.

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

seo_get_settingsB

Get cvrt-seo-manager settings. Secret values are returned as { set: boolean }, never raw.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden and does disclose an important security trait: secret values are returned as { set: boolean } and never raw. However, it does not mention permission requirements, side effects, or the shape of non-secret returned settings, leaving notable behavioral gaps for a settings-getter with 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.

Conciseness5/5

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

The description is two short sentences with zero waste; the core action is front-loaded and the important secret-handling caveat follows immediately. Every sentence 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 simple one-parameter getter, the description covers the purpose and a critical return-value caveat about secrets. It does not explain the shape of non-secret settings, but the tool is low-complexity and the schema fully covers the only parameter, making the description largely 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?

Schema description coverage is 100%, and the sole parameter 'site' is already documented in the schema as 'Site id (see list_sites)'. The description adds no additional meaning beyond what the schema provides, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb (Get) and resource (cvrt-seo-manager settings), distinguishing it from the sibling seo_update_settings mutation. It does not explicitly contrast with other read-oriented siblings such as seo_export_settings or seo_status, so it is clear but lacks 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?

No guidance is given about when to use this tool versus alternatives like seo_update_settings or seo_export_settings. The read-only intent is implied by 'Get', but no explicit when/when-not or alternative routing is provided.

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

seo_get_term_seoC

Get the SEO meta for a taxonomy term.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTerm ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a read but says nothing about what happens when no SEO meta is set, whether an empty object or defaults are returned, or any auth/error behavior. For a zero-annotation tool this is a notable 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?

A single efficient sentence with the verb and resource front-loaded and zero wasted words. It is arguably too terse given the missing behavioral and return-value context, but there is no filler.

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?

For a simple two-parameter read with full schema coverage and no output schema, the definition is minimally adequate. However, it omits any indication of the returned meta shape and the unset-value behavior, which an agent would want before calling.

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 coverage is 100% and both parameters (id, site) are documented in the schema, so the baseline is 3. The description adds nothing beyond the schema, e.g. which taxonomy the term ID belongs to or that site references list_sites.

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?

Names a specific verb (get) and resource (SEO meta for a taxonomy term), which clearly separates it from seo_get_post_seo and the mutating seo_update_term_seo/seo_delete_term_seo. It does not explicitly name those siblings, but the scope is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as seo_get_post_seo or how this relates to seo_update_term_seo. The agent must infer everything from the name.

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

seo_import_csvC

Import post SEO meta from CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesCSV import payload
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it discloses nothing about what an import does to existing meta (merge vs overwrite), the expected CSV structure, or whether it requires elevated capability. Only the bare operation is named, so this is a significant gap for a mutating import 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?

A single efficient sentence with the action front-loaded and no filler. It is arguably too terse for an import tool, but nothing in it is wasted.

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 an import tool with no annotations, no output schema, and an unspecified nested data payload, the description leaves critical information missing: CSV format/columns, overwrite semantics, and error behavior. It is not adequate 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?

Schema description coverage is 100%, so both site and data are documented in the schema, giving a baseline of 3. However, the description adds nothing about the opaque data payload (nested object with additionalProperties) or its expected CSV columns, leaving the one parameter that needs explanation unexplained.

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?

States a specific verb (import), resource (post SEO meta) and source format (CSV), which distinguishes it from seo_import_settings, seo_import_redirects and seo_import_migrate. It does not explicitly name those siblings, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of prerequisites, and no routing to the CSV export or the other import tools. Nothing tells an agent when this is preferable to seo_bulk_update_posts_seo or seo_import_migrate.

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

seo_import_migrateC

Run a migration import (e.g. from RankMath GLOBAL settings) into cvrt-seo-manager.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesMigration payload (source plugin, options to migrate, ...)
siteYesSite id (see list_sites)

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it discloses almost nothing: it does not say whether the import overwrites or merges existing settings, whether it requires specific permissions, whether it is reversible, or what 'GLOBAL' scope implies. For a migration tool that likely mutates configuration, 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?

A single, front-loaded sentence with no filler. It is efficient, though its brevity is partly a symptom of under-specification rather than disciplined concision.

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

Completeness2/5

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

For a nested-object migration payload with no annotations and no output schema, the description is too thin: it does not explain payload expectations, migration semantics, or side effects. An agent cannot confidently call this correctly against the crowded import-tool sibling set.

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 both 'site' and 'data' are documented in the schema itself, establishing the baseline of 3. The description adds no parameter detail (no payload shape, no site-id sourcing beyond what the schema's 'see list_sites' already says), so it does not exceed that baseline.

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

Purpose3/5

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

States a verb-resource pairing ('Run a migration import ... into cvrt-seo-manager') and gives one concrete example source (RankMath GLOBAL settings). However 'migration import' remains vague, and it does nothing to separate itself from the many sibling import tools (seo_import_settings, seo_import_csv, seo_import_redirects), leaving the agent to guess which one applies.

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?

A single example ('e.g. from RankMath GLOBAL settings') hints at one context, but there is no explicit when-to-use, no when-not-to-use, and no reference to the sibling import tools. The agent has no guidance for choosing between this and seo_import_settings or seo_import_csv.

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

seo_import_redirectsC

Import redirects.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesRedirects import payload
siteYesSite id (see list_sites)

TDQS

C2.8/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. 'Import redirects' discloses that this is a state-changing operation, but says nothing about permissions, overwrite behavior, idempotency, or the expected import format, leaving most behavioral traits undisclosed.

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

Conciseness3/5

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

The description is a single, front-loaded sentence with no wasted words. However, for a tool with two required parameters including a nested payload object, it is arguably under-specified rather than optimally sized, making it adequate but minimal.

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?

With no annotations, no output schema, and a nested data payload whose internal structure is unconstrained, the description does not explain what the import payload should contain or what the tool returns. It is incomplete for an agent to invoke this correctly 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%, with both required parameters (site, data) already documented in the schema. The description adds no additional meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description 'Import redirects.' states a specific verb (import) and resource (redirects), making the core action clear. However, it does not differentiate this tool from close siblings such as seo_import_migrate or seo_export_redirects, so it falls short of the top 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?

There is no guidance on when to use this tool versus alternatives like seo_import_migrate or seo_create_redirect, nor any prerequisites or exclusions. The only implied usage comes from the name itself.

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

seo_import_settingsC

Import cvrt-seo-manager settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesSettings payload to import
siteYesSite id (see list_sites)

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: not whether importing overwrites or merges existing settings, whether the operation is reversible, what permissions are needed, or what payload format 'data' requires. 'Import' weakly implies a write, which is the only signal available.

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

Conciseness3/5

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

A single short sentence with zero redundancy, so nothing is wasted. However, the brevity is under-specification rather than efficient conciseness, and there is no front-loaded scoping constraint to guide the call.

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 mutation tool with no annotations, no output schema, and an untyped nested payload, the description should at minimum say what happens to existing settings and what 'data' must contain. Neither is present, leaving the agent unable to call this safely or confidently.

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 both parameters ('site' and 'data') are documented in the schema, which sets the baseline at 3. The description adds no meaning beyond the schema, and the free-form 'data' object with additionalProperties and no shape hint is left equally opaque in both places.

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

Purpose2/5

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

The description restates the tool name nearly verbatim: 'seo_import_settings' → 'Import cvrt-seo-manager settings.' The only added token is the vendor qualifier 'cvrt-seo-manager', which does not clarify what settings are imported or distinguish this from seo_import_migrate, seo_import_csv, or seo_import_redirects.

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 when-to-use guidance, no prerequisites, and no mention of the four sibling import/export tools (seo_import_migrate, seo_import_csv, seo_import_redirects, seo_export_settings) that an agent must choose between. Nothing tells the caller when this tool is the right one.

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

seo_indexnow_pingC

Submit URLs to IndexNow.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
urlsNoURLs to submit

TDQS

C2.8/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 behavioral burden and fails to meet it. It does not disclose rate limits, whether submitted URLs must belong to the given site, or the consequences of omitting the optional 'urls' array (e.g., submitting all site URLs).

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

Conciseness3/5

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

The single sentence is efficiently front-loaded with the verb and resource, but its extreme brevity borders on under-specification rather than genuine conciseness, leaving key invocation context absent.

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 an external submission tool with no annotations and no output schema, the definition is too thin. It omits IndexNow prerequisites, the effect of the optional urls parameter, and any indication of success/failure behavior an agent would need to invoke 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% and both parameters are documented in the schema ('Site id (see list_sites)', 'URLs to submit'), so the baseline of 3 applies. The description adds no additional meaning about the site/urls relationship or format beyond what the schema already says.

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 gives a clear verb+resource: 'Submit URLs to IndexNow.' An agent knows exactly what happens. However, it does nothing to distinguish this from the very similar sibling seo_sitemap_ping, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to ping IndexNow versus alternatives like seo_sitemap_ping, nor any prerequisite (API key, verified site ownership) or rate-limit/quota context, which is critical for an external search-engine submission endpoint.

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

seo_keyword_checkC

Run the keyword analysis check.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
paramsYesKeyword-check inputs

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not state whether this is a read-only diagnostic or performs mutations, whether it requires authentication, whether it has side effects, or what the check actually inspects. The word 'check' weakly implies a read operation but is not reliable.

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

Conciseness3/5

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

A single short sentence with no wasted words, but its extreme brevity leaves it under-specified for a tool with two required parameters including a nested free-form object.

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

Completeness1/5

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

Completely inadequate for a tool that requires a site ID and a nested params object, has no annotations, and has no output schema. An agent cannot determine what the params object should contain or what the tool returns.

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. However the params object is completely free-form with only 'Keyword-check inputs' as a description, meaning neither the schema nor the description tells an agent what keys or values to pass.

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

Purpose3/5

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

States an action (run) and a resource (keyword analysis check) but provides no detail on what is analyzed or how it differs from sibling SEO tools like seo_get_post_analysis or seo_status. The description essentially restates the tool name in slightly different words.

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 indication of when this tool should be used versus other SEO analysis or status tools. No prerequisites, no alternatives, no context about the site parameter or what triggers this check.

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

seo_list_monitor_logC

List the 404/redirect monitor log entries.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
paramsNoQuery params (page, per_page, search, ...)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It says 'List', which implies a read, but discloses nothing about pagination behavior, whether the log is pruned/truncated, or what a log entry contains. For a monitoring/history tool this is thin.

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?

A single efficient sentence with no waste and the resource front-loaded. It is at the right size for the tool, though it is a fragment rather than a structured definition.

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?

With no output schema and no annotations, the description should at least sketch what the log entries are or how they are paged, and should point to the related clear/create-from-log tools. It is adequate to identify the tool but leaves the read-only safety profile and return shape implicit.

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% (site is documented as a site id, params as query params like page/per_page/search), so the baseline of 3 applies. The description adds no parameter meaning beyond 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?

States a clear verb+resource: listing 404/redirect monitor log entries. It is distinguishable in spirit from seo_list_redirects (redirect rules) and seo_create_redirect_from_log, though it never names those siblings to make the boundary explicit.

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

Usage Guidelines2/5

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

No guidance on when to use this versus seo_list_redirects, seo_clear_monitor_log, or seo_create_redirect_from_log. The agent must infer the intended workflow entirely from the names of siblings.

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

seo_list_posts_seoB

List SEO meta across posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
paramsNoQuery params (page, per_page, post_type, search, ...)

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 behavioral burden. It does not disclose that this is a read-only operation, whether authentication is required, pagination behavior, or what the response contains. The verb 'List' hints at a safe read, but no explicit traits are described.

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, front-loaded sentence with no wasted words. It is appropriately sized for a simple list tool.

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?

For a 2-parameter list tool with a nested params object and no output schema, the description is minimally adequate. It states the core operation but does not clarify return fields, pagination defaults, or how the nested query parameters map to the result, leaving some gaps that the schema alone does not fill.

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 input schema already documents both the required 'site' parameter and the generic 'params' object. The description adds no additional parameter semantics, making the baseline of 3 appropriate.

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

Purpose4/5

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

The description states a specific verb (List) and resource (SEO meta across posts), which is clear enough to distinguish it from single-post siblings like seo_get_post_seo. However, it does not explicitly name or contrast with those siblings, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives such as seo_get_post_seo (single post) or seo_bulk_update_posts_seo (bulk update). The plural 'posts' implies a list operation, but no when/when-not conditions or alternatives are stated.

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

seo_list_redirectsC

List all redirects.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
paramsNoQuery params (page, per_page, search, ...)

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden yet says only 'List all redirects.' It implies a safe read, but discloses nothing about pagination limits, result size, site scoping, or permissions. There is also low-key tension: the schema exposes a 'search' param while the description claims 'all' redirects.

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

Conciseness3/5

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

A single short sentence with zero padding, which is structurally clean. But at three words it is under-specified rather than genuinely concise; specificity was traded away for brevity.

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

Completeness2/5

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

For a tool that takes a nested free-form params object and has no annotations or output schema, the description is too thin to be complete. It does not clarify the pagination/search surface the nested 'params' object exposes, leaving the agent to guess how 'list all' interacts with optional filters.

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%, including the 'site' hint and the nested 'params' object enumerating page/per_page/search, so the baseline is 3. The description adds no meaning about parameter usage or defaults beyond what the schema already provides.

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

Purpose3/5

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

The description states a specific verb and resource ('List all redirects'), and the word 'all' weakly distinguishes it from the single-record seo_get_redirect sibling. However, it offers no scope or purpose detail beyond the name itself, so an agent gets only the minimum needed to identify the operation.

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 when-to-use guidance, no mention of alternatives such as seo_get_redirect or seo_export_redirects, and no indication of when this listing is preferable. The agent must infer usage entirely from context.

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

seo_sitemap_pingC

Ping search engines with the sitemap.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose that this makes outbound network calls to third-party search engines, which engines are pinged, whether it is rate-limited or idempotent, or what state changes (if any) occur — all material for a side-effecting external call.

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?

A single short sentence with the verb and target front-loaded and no filler. It is efficient, though its brevity is partly the source of the missing behavioral and usage context.

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 that fires outbound requests to external services, with no annotations and no output schema, the description should say what the call actually does and what the caller gets back (success/failure semantics, per-engine results). Instead it offers only the headline action, leaving the agent under-informed before calling.

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?

There is a single parameter with 100% schema description coverage ('Site id (see list_sites)'), so the schema already does the documenting and the baseline is 3. The description adds nothing about the parameter, but nothing is missing either.

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?

States a specific verb (ping) and a specific resource (search engines, via the sitemap), so the operation is immediately legible. It does not, however, distinguish itself from close siblings such as seo_sitemap_status or seo_indexnow_ping, which an agent must disambiguate on its own.

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

Usage Guidelines2/5

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

There is no guidance on when to invoke this versus seo_sitemap_status (check state) or seo_indexnow_ping (alternative submission channel), nor any precondition such as 'sitemap must exist/be enabled'. The agent is left to infer the trigger conditions from the name alone.

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

seo_sitemap_statusC

Get sitemap status.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.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, yet it discloses nothing about permissions required, whether the operation is read-only, or what triggers a status check. The terse phrasing implies a read but does not state it.

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

Conciseness3/5

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

The description is extremely short, which is concise but under-specified for a tool in a large SEO suite. It does not front-load any useful context, though it wastes no words.

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?

With no annotations, no output schema, and no description of return values, the definition leaves the agent guessing about what 'status' contains and when to call it. A diagnostic tool in a crowded SEO namespace needs more context to be useful.

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%, and the single parameter 'site' is documented with a reference to list_sites. The description adds no parameter information, but baseline 3 applies when the schema fully covers semantics.

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

Purpose2/5

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

The description 'Get sitemap status' restates the tool name with no additional specificity. It does not clarify what 'status' means (e.g., generation state, file presence, ping results) or distinguish it from sibling tools like seo_status or seo_sitemap_ping, making it near-tautological.

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

Usage Guidelines1/5

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

No when-to-use, when-not-to-use, or alternative guidance is provided. The agent cannot tell whether this should be invoked before seo_sitemap_ping, after seo_update_settings, or as a standalone diagnostic.

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

seo_statusB

Get cvrt-seo-manager status (version, configured, dependencies).

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.2/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 behavioral burden; it does disclose the payload contents (version, configured, dependencies), which is useful. However, it says nothing about permissions required, whether the plugin must be active, or failure behavior when cvrt-seo-manager is absent.

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?

One short sentence with the action front-loaded and the return fields in a compact parenthetical; no filler. The only minor cost is the opaque internal name 'cvrt-seo-manager', which an agent must map to the seo_* family on its own.

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?

For a one-parameter, read-only status tool with no output schema, naming the three returned fields gives reasonable coverage. It still omits when the tool is appropriate and what happens under error conditions, leaving the definition only minimally viable.

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 coverage is 100% and the single 'site' parameter is documented in the schema ('Site id (see list_sites)'), so the baseline is 3. The description adds nothing about the parameter, but no compensation is needed.

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?

States a specific verb and resource ('Get cvrt-seo-manager status') and enumerates the returned fields (version, configured, dependencies), which distinguishes it from the settings-oriented siblings like seo_get_settings. It does not explicitly say how it differs from seo_get_settings or the generic mcp_get_system_info, leaving some ambiguity.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as seo_get_settings or seo_sitemap_status. The agent must infer that this is a diagnostic call from the word 'status' alone.

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

seo_update_post_seoC

Update the SEO meta for a post.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID
metaYesSEO meta fields to set
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a mutation but does not disclose whether the update merges or replaces existing SEO meta, what permissions are required, what side effects occur, or what the response looks like. This is a significant gap for a write operation with a nested meta object.

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 front-loaded sentence with no wasted words. It is appropriately concise, though its terseness borders on under-specification for a tool with nested object parameters and no annotations.

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 a mutation tool with three required parameters, a nested meta object, no annotations, and no output schema, the one-sentence description is not complete enough. It identifies the target but omits update semantics, permission requirements, and any indication of what fields can be set.

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 input schema already documents site, id, and meta. The description adds no parameter-level meaning beyond what the schema provides, such as valid meta field names or whether meta is partial. The baseline 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.

Purpose4/5

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

The description states a specific verb ('Update') and resource ('SEO meta for a post'), making the operation clear. It implicitly distinguishes itself from sibling tools like seo_get_post_seo and seo_update_term_seo by specifying 'post', but it does not explicitly name alternatives or contrast its scope.

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 when-to-use, when-not-to-use, or alternative guidance is provided. The description does not mention related tools such as seo_get_post_seo, seo_delete_post_seo, or seo_bulk_update_posts_seo, leaving the agent to infer routing from the tool name alone.

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

seo_update_redirectC

Update a redirect by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRedirect ID
siteYesSite id (see list_sites)
redirectYesRedirect fields to change

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and delivers almost nothing: it doesn't state whether unspecified redirect fields are preserved or cleared, whether the site/id must already exist, or what a successful update returns. 'Update' implies mutation, but the semantics of a partial update over a free-form nested object are left entirely unexplained.

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?

A single short sentence with no filler and the verb and lookup key front-loaded. It is efficient, though the brevity borders on under-specification rather than tightness.

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?

This is a mutation tool with no annotations, no output schema, and a free-form nested object parameter ('redirect' with additionalProperties {}), which is exactly the case where the description must explain accepted fields and update semantics. None of that is present, so the definition is incomplete for the tool's complexity.

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 documented in the schema (Redirect ID, Site id (see list_sites), Redirect fields to change), so the baseline of 3 applies. The description's only parameter hint, 'by id', merely restates what the schema already says.

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?

States a specific verb (update) and resource (redirect) plus the lookup key (by id), so the purpose is unambiguous. However, it does no sibling differentiation despite seo_create_redirect, seo_get_redirect, and seo_delete_redirect sitting alongside it, so an agent must infer the boundary from names alone.

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 when-to-use guidance, no prerequisites, and no mention of the related tools (seo_get_redirect to inspect first, seo_create_redirect instead of updating). The agent gets no context for choosing this over its siblings.

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

seo_update_settingsA

Update cvrt-seo-manager settings. Provide only keys to change; a blank/omitted secret preserves the stored value.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
settingsYesPartial settings object to merge

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it usefully discloses merge semantics and the non-obvious rule that a blank/omitted secret preserves the stored value. It says nothing about required permissions, reversibility, or what happens to keys not supplied beyond the 'partial' implication, so meaningful behavioral gaps remain.

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?

Two tight sentences, front-loaded with the operation and followed by the key behavioral rule. Every clause earns its place; no filler.

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?

For a nested, free-form settings object (additionalProperties) with no output schema and no annotations, the description leaves the agent without any indication of which setting keys exist or where to discover them. It is adequate at the operation level but incomplete given the tool's complexity.

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 coverage is 100% and the schema already labels 'settings' as a 'Partial settings object to merge'. The description still adds value beyond the schema by clarifying that only changed keys need to be sent and that blank/omitted secrets are preserved, which is non-obvious parameter behavior.

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?

States a specific verb and resource ('Update cvrt-seo-manager settings'), which is unambiguous and separates it from seo_get_settings / seo_export_settings / seo_import_settings. It does not, however, explicitly name a sibling or scope boundary, so it falls short of 5.

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

Usage Guidelines3/5

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

It implies usage via 'Provide only keys to change', indicating a partial-merge update rather than a full replace, which is genuinely useful context. But it gives no when-to-use/when-not guidance and does not distinguish itself from seo_import_settings or seo_export_settings, so guidance remains implied rather than explicit.

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

seo_update_term_seoC

Update the SEO meta for a taxonomy term.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTerm ID
metaYesSEO meta fields to set
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a mutation ("Update") but says nothing about required permissions, whether unspecified meta fields are preserved or cleared, or what the response contains. This is a significant gap for a write operation.

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?

A single, front-loaded sentence with zero waste. It is appropriately sized for what it communicates, though it is quite sparse for a mutation tool with a nested meta object.

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?

The tool is a mutation with a nested meta object, no annotations, and no output schema. The description does not explain the meta object's expected fields, whether existing fields are merged or replaced, or any side effects. Given this complexity, the definition is incomplete.

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 site, id, and meta. The description adds no additional meaning beyond identifying the target as a taxonomy term, which is already implied by the tool name and parameter descriptions.

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

Purpose4/5

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

The description states a specific verb (Update) and resource (SEO meta for a taxonomy term), which distinguishes it from seo_update_post_seo and seo_get_term_seo. It is clear enough for an agent to identify the operation, though it does not explicitly call out the sibling alternatives.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like seo_get_term_seo or seo_update_post_seo, nor any prerequisites or context about when a term's SEO meta should be updated. The description provides only a bare statement of function.

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

woo_add_order_noteC

Add a note to an order

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrder ID
noteYesNote content
siteYesSite id (see list_sites)
customer_noteNoSend to customer

TDQS

C2.8/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 behavioral burden. It says nothing about side effects (e.g., that customer_note=true may email the customer), whether notes are private, or what permissions are required for a mutation.

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

Conciseness3/5

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

The single short sentence is front-loaded and free of waste, but it is terse to the point of under-specification rather than genuinely concise given the tool writes to an order.

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 mutation tool with no annotations and no output schema, the description leaves key agent-facing questions unanswered: the customer-notification side effect and any permission requirements. The structured fields cover inputs but the description adds no compensating 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% (id, note, site, customer_note all documented), so the schema does the heavy lifting and baseline 3 applies. The description adds no syntax, format, or length semantics beyond what the schema already states.

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?

States a specific verb and resource ('Add a note to an order'), which is unambiguous for an agent. It does not distinguish itself from the close sibling woo_get_order_notes or explain which order's notes are affected, so it stops short of full 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?

There is no guidance on when to add a note versus modify an order, or when to use the customer-facing variant. The only usage signal is smuggled into the schema via customer_note's 'Send to customer' description, not the tool description itself.

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

woo_bulk_update_stockC

Bulk update product stock

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
productsYesArray of products with stock updates

TDQS

C2.8/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 behavioral burden, and it discloses almost nothing: no permissions required, no statement about whether the batch is atomic or how partial failures are handled, and no note on whether omitted stock_status/stock_quantity fields are left untouched. Only the word 'bulk' hints at multi-item semantics.

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

Conciseness3/5

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

The single four-word sentence is front-loaded and wastes nothing, but it is under-specified rather than truly concise—it omits details an agent needs for a mutation tool. Brevity here comes at the cost of completeness.

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 batch mutation tool with no annotations and no output schema, the description should at minimum state failure behavior, matching semantics, and any return/result expectations. None of that is present, leaving the agent to guess about a destructive stock-changing 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?

Schema description coverage is 100%, so the schema already documents 'site' (see list_sites) and the 'products' array with its id/stock_status/stock_quantity fields. The description adds no extra meaning about how the array is matched or validated, so the baseline 3 applies.

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?

Specific verb+resource: 'Bulk update product stock' tells the agent it is a batch mutation on stock data, which is clearly distinct from read-side tools like woo_stock_report. It stops short of naming any sibling (e.g. woo_update_product or woo_update_variation) that also touches stock fields, so differentiation is left to inference.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all: nothing says when to prefer this batch tool over per-product updates via woo_update_product/woo_update_variation, nor are prerequisites (e.g. needing a site id) or exclusions stated. The description is purely a restatement of the operation.

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

woo_create_attributeD

Create a product attribute

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAttribute name
siteYesSite id (see list_sites)
slugNo
typeNoselect
order_byNomenu_order
has_archivesNo

TDQS

D1.8/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Create' and gives no information about required permissions, side effects, default behavior, idempotency, or what happens on failure.

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

Conciseness2/5

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

The single sentence is short and front-loaded, but it is under-specified rather than appropriately concise. For a six-parameter creation tool with no annotations, far more information is needed.

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

Completeness1/5

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

Given six parameters, 33% schema coverage, no annotations, and no output schema, the description is completely inadequate. It does not tell an agent how to call the tool correctly or what to expect from it.

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

Parameters1/5

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

Schema description coverage is only 33%, with slug, type, order_by, and has_archives undocumented. The description adds no parameter meaning at all, so it fails to compensate for the incomplete schema.

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

Purpose3/5

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

States a specific verb and resource ('Create a product attribute'), so the basic purpose is clear. However, it is essentially a restatement of the tool name and does not differentiate from nearby siblings such as woo_create_attribute_term or woo_list_attributes.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, when a product attribute should be created, or how it relates to attribute terms or existing attributes.

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

woo_create_attribute_termC

Create a term for an attribute

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTerm name
siteYesSite id (see list_sites)
slugNo
attribute_idYesAttribute ID

TDQS

C2.7/5.0
Behavior2/5

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

Annotations are absent, so the description must carry the full behavioral burden. It only implies a write operation but does not disclose required permissions, whether the attribute must already exist, side effects, 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.

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is appropriately terse for a simple create tool, though the brevity comes at the cost of missing context.

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

Completeness2/5

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

Given no annotations, no output schema, and a mutation tool, the description is incomplete. It omits usage context, preconditions, and behavioral details, leaving the agent with little more than the tool name and schema.

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

Parameters2/5

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

Schema description coverage is 75%; three of four parameters are documented in the schema, but the 'slug' parameter has no description. The tool description provides no additional parameter meaning beyond what the schema already states, and it does not compensate for the undocumented parameter.

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

Purpose4/5

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

The description states a specific verb (Create) and resource (term for an attribute), which distinguishes it from siblings like woo_create_attribute (creates the attribute itself) and mcp_create_term (generic term). However, it does not clarify that this is specifically a WooCommerce product-attribute term, leaving a small gap.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as woo_create_attribute or woo_list_attribute_terms. The description implies creation but offers no prerequisites, context, or exclusions.

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

woo_create_categoryC

Create a product category

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCategory name
siteYesSite id (see list_sites)
slugNo
parentNo
image_idNo
descriptionNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and delivers almost nothing: it does not say whether a duplicate name/slug fails or is silently suffixed, whether the slug is auto-generated, what permissions are required, or what the creation returns. 'Create' is the only disclosed behavior, which duplicates the name.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though the brevity borders on under-specification rather than tight prose.

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 six-parameter mutation tool with no annotations and no output schema, one vague sentence is inadequate. The agent lacks warning about duplicate handling, hierarchy behavior via 'parent', or what a successful call yields.

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

Parameters2/5

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

Schema coverage is only 33% and the description adds no parameter meaning at all. Only 'name' and 'site' carry schema descriptions; slug, parent, image_id, and description are undocumented anywhere, and the description does not tell the agent that slug/parent/image_id are optional or how parent encoding works.

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?

States a specific verb and resource ('Create a product category'), so the operation is unambiguous. However, it offers no differentiation from closely related siblings such as mcp_create_term, wp_create_category, or woo_create_attribute_term, which a reader would have to disambiguate by name alone.

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

Usage Guidelines2/5

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

No guidance on when to use this rather than woo_update_category (existing category) or the tag/term creation tools. Prerequisites such as needing a valid site id are only implicit.

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

woo_create_couponC

Create a coupon

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCoupon code
siteYesSite id (see list_sites)
amountNo0
product_idsNo
usage_limitNo
date_expiresNoExpiry date (YYYY-MM-DD)
discount_typeNofixed_cart
free_shippingNo
individual_useNo
maximum_amountNo
minimum_amountNo
excluded_product_idsNo
usage_limit_per_userNo

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It only implies a write operation via 'Create'; it does not disclose required permissions, duplicate-code handling, side effects, or what happens on invalid input.

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

Conciseness2/5

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

The single sentence is front-loaded and wastes no words, but for a 13-parameter mutation tool it is severely under-specified rather than appropriately concise.

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

Completeness1/5

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

Given high complexity (13 parameters, 2 required, no annotations, no output schema), the description is completely inadequate. It omits usage context, parameter guidance, behavioral traits, and return expectations.

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

Parameters1/5

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

With 13 parameters and only 23% schema description coverage, the description adds no parameter meaning at all. It does not mention required fields (site, code), discount_type enum values, expiry format, or any other parameter semantics needed to invoke the tool correctly.

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

Purpose4/5

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

The description states a clear verb and resource: create a coupon. This distinguishes it from siblings such as woo_list_coupons, woo_get_coupon, woo_update_coupon, and woo_delete_coupon, though it does not explicitly name or compare against them.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The agent must infer that this is the create path from the name alone.

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

woo_create_customerD

Create a customer

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
emailYesCustomer email
billingNo
passwordNo
shippingNo
usernameNo
last_nameNo
first_nameNo

TDQS

D1.8/5.0
Behavior1/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 and delivers nothing. It does not say whether this is a write to a WooCommerce store vs a WP user, whether email must be unique, whether a password is generated, or what the response contains.

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

Conciseness2/5

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

Three words is under-specification rather than conciseness; there is no structure or front-loaded information to speak of. Nothing is wasted simply because nothing is said.

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

Completeness1/5

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

For a mutation tool with 8 parameters, two required, nested objects, no annotations, and no output schema, the description is wholly inadequate. An agent lacks the information needed to invoke this correctly or predict its effects.

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

Parameters1/5

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

Schema description coverage is only 25% across 8 parameters, including two nested objects (billing, shipping) with no documented structure. The description adds zero parameter meaning, leaving most inputs undocumented in both schema and prose.

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

Purpose3/5

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

The description states a clear verb+resource ('Create a customer'), but it effectively restates the tool name 'woo_create_customer' with no added detail. It gives no differentiation from sibling creation tools such as wp_create_user, mcp_create_user, or the Woo Commerce customer read/update siblings, so an agent cannot tell what kind of customer this creates.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like wp_create_user or woocommerce-specific customer handling. No prerequisites, no mention that a site id is required, and no indication of what happens if the customer already exists.

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

woo_create_productC

Create a WooCommerce product

ParametersJSON Schema
NameRequiredDescriptionDefault
skuNo
nameYesProduct name
siteYesSite id (see list_sites)
tagsNo
typeNosimple
imagesNo
statusNopublish
meta_dataNo
attributesNo
categoriesNo
sale_priceNo
descriptionNo
manage_stockNo
stock_statusNoinstock
regular_priceNo
stock_quantityNo
short_descriptionNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: it does not mention that the default status is 'publish' (product goes live immediately), what permissions/authentication are needed, or which fields are required. 'Create' at least correctly signals a mutation, but that is all.

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

Conciseness3/5

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

The single sentence is maximally concise and front-loaded, but for a 17-parameter tool this brevity is under-specification rather than efficiency. It earns no waste but also conveys almost nothing.

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

Completeness1/5

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

A 17-param mutation tool with 12% schema coverage, no annotations, and no output schema. The description should compensate heavily and instead provides five words, leaving required-field usage, ID conventions, and the publish-by-default side effect unexplained.

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

Parameters1/5

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

17 parameters with only 12% schema description coverage, and the description adds zero parameter meaning. Critical items like the 'site' param's dependency on list_sites, numeric ID arrays for tags/images/categories, and enum semantics for 'type' are left entirely undocumented.

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?

States a specific verb and resource ('Create a WooCommerce product'), so an agent can tell it apart from unrelated tools like wp_create_post or woo_create_coupon. However it does nothing to distinguish it from close siblings such as woo_create_variation or woo_update_product beyond the obvious create verb.

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

Usage Guidelines2/5

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

No guidance on when to use this versus alternatives, no prerequisites, no mention of the required list_sites step needed for the 'site' parameter. The agent must infer everything from the schema.

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

woo_create_variationC

Create a product variation

ParametersJSON Schema
NameRequiredDescriptionDefault
skuNo
siteYesSite id (see list_sites)
attributesYesVariation attributes
product_idYesParent product ID
sale_priceNo
manage_stockNo
stock_statusNoinstock
regular_priceNo
stock_quantityNo

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Create a product variation' and omits permissions required, whether the parent product must already exist, whether stock or pricing side effects occur, and what the response contains. For a mutation tool with zero annotation coverage, this is a significant gap.

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

Conciseness2/5

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

The description is a four-word phrase, which is under-specified rather than concise. It omits necessary details for a nine-parameter creation tool. Brevity here does not earn its place because critical context is missing.

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

Completeness1/5

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

With nine parameters, no output schema, no annotations, and only 33% schema description coverage, the description is completely inadequate. It provides none of the prerequisites, parameter semantics, or behavioral context an agent needs to call this tool correctly.

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

Parameters1/5

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

Schema description coverage is only 33%, and the description adds no parameter meaning at all. Six parameters (sku, sale_price, manage_stock, stock_status, regular_price, stock_quantity) have no descriptions in either schema or description. The description fails to compensate for the low schema coverage.

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

Purpose4/5

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

The description states a specific verb and resource: 'Create a product variation.' It distinguishes from sibling verbs like update, delete, and list. However, it does not differentiate from woo_create_product or explain that a parent product is required, so it falls short of the highest clarity.

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

Usage Guidelines2/5

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

No when-to-use guidance is provided. The description does not mention alternatives, prerequisites like having an existing parent product, or when to prefer this over woo_update_variation or woo_create_product. The agent is left to infer everything.

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

woo_delete_categoryC

Delete a product category

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCategory ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosure. 'Delete' implies a mutation, but the description does not state whether the action is irreversible, what happens to posts assigned to the category, or what permissions are needed. This is a significant gap for a destructive operation.

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?

A single, front-loaded sentence with zero waste. It is appropriately sized for a simple delete tool, though the brevity contributes to the missing behavioral context.

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 destructive mutation tool with no annotations and no output schema, the description is too thin. It omits prerequisites, side effects on associated content, and confirmation of irreversibility, leaving the agent under-informed.

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 coverage is 100%, with both 'id' and 'site' documented in the input schema. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

States a specific verb (delete) and resource (product category), clearly distinguishing it from create/update/list siblings by the inherent action. However, it provides no scope or explicit sibling differentiation beyond the verb itself.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., woo_update_category), no prerequisites such as required permissions, and no warnings about irreversibility. The description assumes the reader already knows the context.

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

woo_delete_couponC

Delete a coupon

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCoupon ID
siteYesSite id (see list_sites)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It implies a destructive mutation but says nothing about irreversibility, required permissions, side effects, or confirmation requirements.

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

Conciseness3/5

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

The description is extremely concise, but it is under-specified rather than efficiently informative. It is front-loaded and has no wasted words, yet the lack of any contextual detail makes it feel incomplete for a destructive operation.

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 destructive tool with no annotations and no output schema, the description is too sparse. It does not mention the required site context (even though schema covers it), nor does it disclose behavioral expectations like return behavior or safety considerations.

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 input schema already fully documents both parameters (id and site). The description adds no additional meaning beyond what the schema provides, which is the expected baseline when schema coverage is high.

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

Purpose4/5

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

The description states a specific verb and resource: 'Delete a coupon'. It clearly identifies the operation, but does not differentiate itself from sibling coupon operations like woo_update_coupon or woo_get_coupon beyond the verb.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives, nor are prerequisites or warnings mentioned. The operation is implicitly clear from the name, but there is no explicit usage context.

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

woo_delete_productC

Delete a WooCommerce product

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProduct ID
siteYesSite id (see list_sites)
forceNoForce delete (skip trash)

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 behavioral burden and fails to disclose that this is an irreversible destructive operation, whether items go to trash by default, or what permissions are required. The only hint of trashing behavior lives in the schema's 'force' parameter, not the 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?

A single, front-loaded sentence with zero filler or redundancy. It is efficient, though its brevity borders on under-specification for a destructive tool.

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 destructive mutation tool with no annotations and no output schema, the description is too thin. It omits irreversibility warnings, default trash behavior, and the consequences of the force flag – all things an agent should know before invoking a delete.

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% – id, site, and force are all documented in the schema, including the trash-skipping semantics of force. The description adds nothing beyond this, so the baseline 3 applies.

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

Purpose4/5

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

The description states a specific verb (Delete) and resource (WooCommerce product), making the operation unambiguous. However, it offers no differentiation from nearby destructive siblings such as woo_delete_variation, woo_delete_category, or woo_delete_coupon beyond the resource noun.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, no prerequisites, and no mention of the trash-vs-permanent distinction that would let an agent choose correctly. The agent must infer everything from the tool name alone.

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

woo_delete_variationC

Delete a product variation

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
product_idYesParent product ID
variation_idYesVariation ID

TDQS

C2.6/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. For a destructive operation, it says nothing about whether children/data are destroyed, whether the parent product is affected, or what happens to orders referencing the variation. The word 'Delete' is the only behavioral signal, which 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?

A single, front-loaded sentence with zero filler. It is concise, though its brevity reflects under-specification rather than tight writing of a complete idea.

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 destructive tool with no annotations, no output schema, and three required parameters, the description omits critical context: permission requirements, irreversibility, cascading effects on parent/orders, and return behavior. It is far from complete enough for safe 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?

Schema coverage is 100%, so the schema fully documents site, product_id, and variation_id. The description adds no additional parameter semantics (e.g., validation rules, ordering requirements), so the baseline 3 is appropriate.

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

Purpose3/5

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

States a clear verb and resource ('Delete a product variation'), which is distinct from woo_delete_product. However, it is a bare tautology-level restatement with no scope, no destructive-behavior nuance beyond the verb, and no sibling differentiation (e.g., vs. woo_delete_product or woo_update_variation).

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

Usage Guidelines2/5

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

No guidance on when to use this versus woo_delete_product, woo_update_variation, or alternative deletion paths. No prerequisites (permissions, product/variation state) are mentioned. The agent must infer everything from the name and schema.

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

woo_get_couponC

Get coupon details

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCoupon ID
siteYesSite id (see list_sites)

TDQS

C2.5/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 behavioral burden. 'Get' implies a safe read, but it says nothing about permissions required, whether the coupon must exist or what happens if it doesn't, or the shape of the returned object.

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

Conciseness3/5

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

Three words, front-loaded and waste-free, but this brevity reflects under-specification rather than tight writing. There is no structure to evaluate beyond the single phrase.

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 two-parameter tool with no annotations and no output schema, the description is far too thin. It leaves the agent without return-value expectations, error behavior, or disambiguation from the many sibling coupon and product tools.

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%, and the schema documents both 'id' (Coupon ID) and 'site' (Site id, see list_sites). The description adds nothing beyond the schema, so the baseline of 3 applies.

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

Purpose3/5

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

States a clear verb+resource ('Get coupon details'), so the agent knows it's a read of a single coupon. However, it does nothing to distinguish itself from siblings like woo_list_coupons or woo_get_product, and the scope (single vs. list) is only implied by the singular noun.

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

Usage Guidelines2/5

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

No guidance on when to use this versus woo_list_coupons (to browse) or woo_update_coupon (to modify). No mention of prerequisites, auth, or the required site/id combination. The agent must infer usage entirely from the name.

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

woo_get_customerC

Get customer details

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCustomer ID
siteYesSite id (see list_sites)

TDQS

C2.6/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 behavioral burden. It implies a read operation but says nothing about permission requirements, what happens if the id does not exist, or what constitutes the returned 'details'.

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

Conciseness3/5

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

The description is a single short phrase with no waste, which is structurally efficient. But it is under-specified rather than genuinely concise; the brevity comes at the cost of any useful context.

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?

For a simple two-parameter getter with fully documented parameters, an agent has enough to call it correctly. The missing return-shape detail is a real gap since no output schema exists, but it is minor for a straightforward read 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% – both 'id' (Customer ID) and 'site' (see list_sites) are documented inline. The description adds no additional meaning beyond the schema, so the baseline 3 applies.

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

Purpose3/5

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

The phrase 'Get customer details' states a clear verb (get) and resource (customer), so the purpose is discernible. However, it does not distinguish itself from siblings like woo_list_customers, woo_update_customer, or woo_get_customer_orders, and 'details' remains vague about what is returned.

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

Usage Guidelines2/5

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

There is no guidance on when to fetch a single customer versus using woo_list_customers, and no mention of prerequisites such as needing a valid customer id. Usage must be entirely inferred from the tool name.

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

woo_get_customer_ordersB

Get customer's order history

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCustomer ID
siteYesSite id (see list_sites)

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 behavioral burden. 'Get' implies a read operation, but the description does not disclose permissions, pagination limits, rate limits, or response format. It adds almost no behavioral context beyond the tool name.

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

Conciseness5/5

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

A single, front-loaded sentence with no wasted words. It is appropriately sized for a simple retrieval tool and says exactly what it does.

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?

The core intent is covered and the required parameters are fully documented in the schema. However, without an output schema or any pagination/return-format details, the description leaves gaps that could affect how an agent interprets or uses the 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%, with both parameters documented in the input schema. The description adds no parameter-level detail, so the baseline of 3 is appropriate when the schema already 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?

States a specific verb and resource: 'Get customer's order history'. It is distinguishable from woo_get_customer (customer profile) and woo_list_orders (all orders), though it does not explicitly name those siblings. Clear enough for an agent to understand the tool's intent.

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 when-to-use, when-not-to-use, prerequisites, or alternatives are given. The agent must infer that it is for retrieving one customer's orders by ID, with no guidance on when to prefer it over woo_list_orders or woo_get_order.

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

woo_get_orderC

Get WooCommerce order details

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrder ID
siteYesSite id (see list_sites)

TDQS

C2.8/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 behavioral burden and delivers almost nothing: it doesn't say whether the call is read-only (implied by 'Get'), what happens on an invalid/missing order id, whether authentication scoping applies, or what the response contains. 'Details' is undefined.

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

Conciseness3/5

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

A single front-loaded sentence with no filler, which is good, but it is also under-specified rather than tight – there is no second sentence to earn the brevity. Adequate but minimal.

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

Completeness2/5

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

For a tool with no annotations and no output schema, the description should at least sketch what 'details' are returned or how errors are surfaced. Instead it leaves the agent to call blind, which is a meaningful gap against the complexity of an order entity.

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% – both 'id' (Order ID) and 'site' (Site id, see list_sites) are documented in the schema. The description adds no syntax, format, or cross-parameter meaning, so the baseline 3 applies.

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?

States a specific verb ('Get') and resource ('WooCommerce order details'), so the agent knows it retrieves a single order. It doesn't explicitly distinguish itself from nearby siblings like woo_list_orders or woo_get_order_notes, but the singular 'order' plus the id parameter makes the intent reasonably clear.

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

Usage Guidelines2/5

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

No guidance on when to use this versus woo_list_orders (for browsing), woo_get_order_notes (for notes), or woo_update_order_status. No prerequisites or context conditions are stated; the agent must infer usage entirely from the name.

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

woo_get_order_notesC

Get order notes

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrder ID
siteYesSite id (see list_sites)

TDQS

C2.5/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. 'Get' weakly implies a read, but nothing is said about authentication, whether notes are private/customer-facing, pagination, or return format. The description adds essentially no behavioral context.

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

Conciseness3/5

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

It is a single front-loaded phrase with zero waste, but it is under-specified rather than genuinely concise; the terseness buys no clarity and omits useful context an agent would need.

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?

With no annotations, no output schema, and only two documented params, the description should explain what the notes contain (visibility, ordering, pagination) and how it differs from sibling note/order tools. As written it is too thin for the agent to call confidently.

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% — both 'id' (Order ID) and 'site' (see list_sites) are documented in the schema, so the baseline is 3. The description adds no meaning beyond the schema.

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

Purpose3/5

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

The name and description give a clear verb+resource ('Get order notes'), so an agent knows it retrieves notes for an order. However, it does nothing to distinguish itself from close siblings like woo_add_order_note, woo_get_order, or woo_list_orders — the description is a bare restatement of the noun phrase.

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

Usage Guidelines2/5

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

There is no indication of when to use this versus woo_get_order or woo_add_order_note, nor any mention of prerequisites such as needing an existing order ID from list_sites/woo_list_orders. Usage is only implied by the name.

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

woo_get_productC

Get WooCommerce product details

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProduct ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: it does not confirm read-only semantics, state permission/auth requirements, or describe what the returned payload contains. 'Get' weakly implies a read, but for a zero-annotation tool 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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity borders on under-specification rather than true conciseness.

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?

For a two-parameter read tool with 100% schema coverage, the minimum is met, and an output schema is absent so return values need not be spelled out. Still, with no annotations there is no disclosure of read-only status or auth needs, leaving the definition merely adequate.

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 coverage is 100% — both 'id' and 'site' are documented in the schema (site even points to list_sites) — so the schema does the heavy lifting. The description adds no meaning beyond it, which lands at the baseline for fully documented parameters.

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

Purpose4/5

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

States a specific verb and resource (get a WooCommerce product), which is enough to separate it from write siblings like woo_create_product and woo_update_product. However, it never contrasts itself with the closest alternative, woo_list_products, nor clarifies what 'details' covers (e.g., meta, variations, categories).

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 gives no when-to-use guidance, no prerequisites, and no mention of alternatives such as woo_list_products for browsing or woo_get_product_meta for meta specifically. The agent must infer the selection rule entirely from the name.

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

woo_get_product_metaC

Get all product meta data

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProduct ID
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies read-only, but the description says nothing about permissions, whether all meta keys are returned, or the response shape, and there is no output schema to fill that 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?

A single short, front-loaded sentence with no wasted words. It is efficient, though its brevity is under-specification rather than genuine tightness.

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?

For a two-parameter read tool with full schema coverage, the description is minimally viable. With no annotations and no output schema, it leaves the return format and read-safety context entirely unstated.

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% (id = Product ID, site = Site id see list_sites), so the schema already documents both parameters fully. The description adds no syntax or format detail beyond that, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (product meta data), so the operation is unambiguous. It does not distinguish itself from the sibling woo_get_product, which an agent must infer is the fuller product-object retrieval.

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 when-to-use guidance, no prerequisites, and no mention of the obvious alternative woo_get_product or the write counterpart woo_update_product_meta. The agent must guess when raw meta retrieval is preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_list_attributesC

List product attributes

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'List' implies a read operation, but the description omits authentication requirements, pagination behavior, side effects, and return format.

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, front-loaded phrase with no filler or redundant clauses. Every word earns its place for a simple list operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description should provide more context about what is returned and how the tool relates to siblings. It mentions only the resource and verb, leaving the agent without enough information to confidently select and invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the sole parameter ('site') is already documented in the input schema. The description adds no additional meaning beyond what the schema provides, which is the baseline of 3 for full 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 states a specific verb ('List') and resource ('product attributes'), making the core operation clear. However, it does not distinguish this tool from siblings like woo_list_attribute_terms or woo_create_attribute, leaving the agent to infer scope from the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of related tools such as woo_list_attribute_terms. The agent must infer usage solely from the tool name and sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_list_attribute_termsC

List terms for an attribute

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
attribute_idYesAttribute ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden but provides almost nothing beyond purpose. It does not state that this is a read-only operation, whether it paginates, what the response contains, or any rate limits. It is not misleading, but it is nearly silent on behavior.

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 single sentence is tight and front-loaded with the core action and resource. There is no wasted wording, though the extreme brevity leaves little room for structure beyond the core statement.

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?

The tool is simple: two required parameters, both fully described in the schema, and no output schema. The description is minimal but sufficient for correct invocation. It could be improved by noting read-only nature or listing scope, but the essentials are covered.

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 both parameters are fully documented in the schema. The description adds no parameter-specific semantics beyond the implied 'attribute' link, making 3 the appropriate baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'List terms for an attribute.' An agent can tell it lists attribute terms, not the attributes themselves. However, it does not explicitly differentiate from siblings like woo_list_attributes or woo_create_attribute_term, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions; the agent must infer everything from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_list_categoriesC

List product categories

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
parentNo
hide_emptyNo

TDQS

C2.6/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 disclosure burden and delivers almost nothing: it does not say whether results are paginated, what fields are returned, whether empty categories are included by default, or what happens with an invalid parent id. For a read tool with zero annotation coverage this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single front-loaded phrase with no wasted words, which is structurally clean, but at four words it is under-specified rather than concise. Brevity here costs information the agent needs, so it sits at minimum-viable rather than exemplary.

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?

With no annotations, no output schema, only 33% parameter coverage, and a near-identical sibling (wp_list_categories), the description should do substantially more work. It omits return shape, pagination, filtering behavior, and scope relative to the WordPress-core category tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% – 'site' is documented but 'parent' and 'hide_empty' have no descriptions anywhere. The description does not compensate: it says nothing about hierarchical filtering via parent or about the hide_empty default, so an agent cannot infer the semantics of two of the three parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource (list product categories), and the word 'product' mildly distinguishes it from the sibling wp_list_categories, which lists core post categories. However, it never explicitly names that sibling or states that this tool is WooCommerce-scoped, so the differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus wp_list_categories, woo_list_tags, or woo_list_attributes, and no mention of prerequisites such as needing a valid site id from list_sites. The agent is left to infer everything from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_list_couponsD

List WooCommerce coupons

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYesSite id (see list_sites)
searchNo
per_pageNo

TDQS

D1.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 does not disclose that this is a read-only list operation, nor does it mention pagination behavior, filtering options, required permissions, or the shape of returned data. It adds essentially no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words, so it is concise and front-loaded. However, this brevity is achieved through under-specification rather than efficient information delivery.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with a required site parameter, filtering (search), and pagination (page, per_page), the description is far too sparse. With no annotations and no output schema, the agent lacks critical context about how to invoke the tool correctly or what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Four parameters exist with only 25% schema description coverage (only 'site' is documented). The description mentions no parameters at all, so it completely fails to compensate for the low coverage—nothing about page, search, or per_page is explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List WooCommerce coupons' simply restates the tool name (woo_list_coupons). It states a verb and resource but adds no scope details (e.g., filtering, pagination) or differentiation from sibling coupon tools like woo_get_coupon or woo_create_coupon.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as woo_get_coupon (for a single coupon) or other list tools. The description offers no context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_list_customersC

List WooCommerce customers

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
roleNocustomer
siteYesSite id (see list_sites)
searchNo
per_pageNo

TDQS

C2.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose pagination behavior, default role filtering, return format, or permissions. The only hint is the parameter defaults, but the description adds nothing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but severely under-specified for a 5-parameter tool. It is front-loaded but wastes no words; however, it fails to earn its place by omitting necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, low schema coverage, no annotations, and no output schema, the description is completely inadequate. It provides no information about pagination, filtering, or the return structure, leaving the agent unable to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 20%, meaning only 'site' is documented; the other four parameters (page, role, search, per_page) lack schema descriptions. The description does not compensate at all—it mentions no parameters or their meanings.

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?

States a specific verb (List) and resource (WooCommerce customers), which is clear enough. However, it does not differentiate from sibling tools like wp_list_users or mcp_list_users, which also list users and could be confused with WooCommerce customers. No mention of scope or filtering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as wp_list_users or woo_get_customer. The description provides no context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_list_ordersC

List WooCommerce orders

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYesSite id (see list_sites)
afterNoOrders after date (YYYY-MM-DD)
beforeNoOrders before date (YYYY-MM-DD)
statusNoany
productNoProduct ID
customerNoCustomer ID
per_pageNo

TDQS

C2.6/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 behavioral burden. It does not disclose read-only behavior, pagination behavior, default result limits, permissions, or return format, despite the schema exposing page, per_page, and filter parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded phrase with no wasted words. It is concise, but it is too thin for a tool with eight parameters, so it lands at minimum viable rather than fully appropriate.

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 8-parameter schema, no annotations, no output schema, and 63% parameter description coverage, the description is incomplete. It omits filtering behavior, pagination defaults, and what the returned order list contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter meaning beyond the schema. With 8 parameters and only 63% schema description coverage, the undocumented parameters such as page, status, and per_page are not clarified anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'List WooCommerce orders.' That is clear enough for an agent to know the tool returns a collection of orders. However, it does not differentiate this tool from siblings such as woo_get_order, woo_get_customer_orders, or woo_sales_report.

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 gives no usage context, exclusions, or alternatives. It does not explain when to use this list tool versus retrieving a single order or pulling customer-specific orders.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_list_productsC

List WooCommerce products

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoTag ID
pageNo
siteYesSite id (see list_sites)
typeNo
orderNodesc
searchNo
statusNoany
on_saleNo
orderbyNodate
categoryNoCategory ID
featuredNo
per_pageNo
stock_statusNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it only implicitly conveys read-only/non-mutating semantics via the word 'List'. It says nothing about result pagination (page/per_page defaults exist in the schema but the description doesn't explain behavior), ordering effects, or what the response contains despite there being 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single clean, front-loaded sentence with no filler or redundancy, so it is not verbose. But it is far undersized for a 13-parameter listing tool, so 'appropriately sized' is only partially satisfied.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A 13-parameter listing tool with no annotations, no output schema, and 23% schema coverage is left almost entirely unexplained. Nothing an agent needs for correct invocation - filter semantics, pagination behavior, return shape - is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 23% across 13 parameters, so the description must compensate and it does not. It adds zero meaning for any of the 13 filters (tag, category, status, type, stock_status, on_sale, featured, orderby, search, per_page, etc.), leaving most parameters undocumented end to end.

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?

States a specific verb ('List') plus resource ('WooCommerce products'), which separates it from the write-side siblings woo_create_product/woo_update_product/woo_delete_product without reading any schema. However, it offers no differentiation from the closest read siblings (woo_get_product for a single product, woo_list_variations), so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites (e.g. site id from list_sites), and no mention of alternatives such as woo_get_product for a single item or woo_list_categories/woo_list_tags for taxonomy lookups. The agent must infer all routing decisions from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_list_tagsC

List product tags

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about read-only semantics, pagination, ordering, or result limits. For a list tool with zero annotation coverage this is a notable gap, though the operation is inherently low-risk.

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?

A single front-loaded phrase with zero waste. It is efficient, though terse enough that it borders on under-specification rather than optimally structured guidance.

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?

For a simple one-parameter read tool with no output schema, the description is minimally sufficient, but it omits pagination behavior and does not clarify WooCommerce-product-tag scope versus the core wp_list_tags sibling.

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?

There is a single parameter ('site') and schema description coverage is 100%, with the schema already pointing to list_sites. The description adds no meaning beyond the schema, so the baseline 3 applies.

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?

States a clear verb (List) and resource (product tags), so an agent knows the operation and the entity. However, it does not differentiate from the sibling wp_list_tags or mcp_list_terms, leaving ambiguity about which tag taxonomy/scope applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus wp_list_tags or woo_list_categories, no prerequisites, and no mention of the 'site' requirement context. The agent must infer usage purely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_list_variationsC

List variations for a variable product

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
product_idYesParent product ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and adds almost nothing: no mention of pagination, return shape, ordering, whether it is read-only, or what happens for non-variable products. A single read operation is implied by 'list' but nothing is disclosed beyond that.

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?

A single compact sentence with zero waste and the key scope ('variable product') up front. It is efficient, though its brevity borders on under-specification rather than tightness.

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?

For a simple two-parameter read tool with a fully documented schema and no output schema, the description is minimally adequate. It omits return contents and pagination behavior, which an agent would need for a listing operation, but nothing is actively misleading.

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% (site id and parent product ID both documented in the schema), so the baseline is 3. The description adds no extra meaning about the parameters beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb (list) and resource (variations) with a scope qualifier (for a variable product). It does not explicitly distinguish itself from siblings like woo_create_variation or woo_get_product, but the verb+resource pair is specific enough to be unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus alternatives (e.g., woo_get_product to fetch the parent, woo_list_products to enumerate products, or woo_get_product_meta). The only implied usage is that the product must be variable, which is stated as a condition but not elaborated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_sales_reportC

Get sales report

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
periodNomonth
date_maxNoEnd date (YYYY-MM-DD)
date_minNoStart date (YYYY-MM-DD)

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and delivers almost nothing. 'Get' weakly implies a read-only operation, but there is no mention of required site context, how period/date filters interact, pagination, or what the report returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three words is not conciseness here but under-specification; the sentence is front-loaded but carries no substantive information an agent could act on.

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 reporting tool with no annotations and no output schema, the description is far too thin: it omits report contents, filtering semantics, and what results to expect, so an agent cannot confidently select or call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% and the description adds zero parameter meaning on top of it. In particular the 'period' enum and the date_min/date_max interaction are left entirely to the schema, and the description does not compensate for the undocumented field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb ('Get') and a resource ('sales report'), so the basic operation is identifiable. However, it does not specify what the report contains or how it differs from closely related siblings like woo_stock_report and woo_top_sellers, leaving the scope vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus the other WooCommerce reporting tools (woo_stock_report, woo_top_sellers, woo_list_orders). The agent must guess which report tool answers a given sales question.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_stock_reportC

Get stock status report

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
limitNo
statusNolowstock

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must carry the full behavioral burden, and it does not. It never states that the operation is read-only, whether results are paginated, what the default status filter is, or what shape the report takes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single four-word fragment with no wasted words, but the shortness reflects under-specification rather than tight writing. There is no front-loaded scope, filter, or return-value framing to anchor the call.

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 reporting tool with no output schema, no annotations, and two of three parameters undocumented, the description supplies almost none of the missing context. An agent cannot tell what filters do or what the report returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only 'site' is documented, and even that just points at list_sites). The description adds nothing about 'status' (lowstock/outofstock/onbackorder), the default lowstock filter, or 'limit' at 20, leaving the agent to rely entirely on the enum and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a verb ('Get') and a resource ('stock status report'), so the general intent is legible. However, it does not distinguish this tool from nearby siblings such as woo_sales_report or woo_top_sellers, nor does it say what the report contains (low stock counts, per-product rows, thresholds).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this report versus woo_bulk_update_stock or the sales/top-seller reports, and no prerequisites stated. An agent must infer usage purely from the name and the enum in the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_top_sellersC

Get top selling products

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
limitNo
periodNomonth

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, yet it discloses nothing about what is returned (product IDs? sales counts? revenue?), whether results are paginated, or how 'top selling' is computed. 'Get' implies a read, but that is the only inference available.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence is front-loaded and wastes no words, but its brevity comes at the cost of under-specification rather than genuine economy. There is nothing structurally wrong, but nothing to reward either.

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 reporting tool with a required 'site', an undocumented time-window parameter, no annotations, and no output schema, the definition is materially incomplete. An agent cannot determine valid 'period' values or what the returned ranking contains without experimentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%: 'site' is documented, but 'limit' and 'period' have no descriptions. The description adds nothing about the accepted values for 'period' (the default 'month' implies week/year/all-time options that are never enumerated) or the meaning of 'limit'. It fails to compensate for the coverage gap.

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?

States a specific verb ('Get') and resource ('top selling products'), so the agent knows this is a read-only ranking query. It does not distinguish itself from nearby reporting siblings like woo_sales_report or woo_stock_report, leaving the agent to infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus woo_sales_report, woo_stock_report, or woo_list_products. No preconditions, no exclusions, no mention of the ranking basis or tie-breaking.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_update_categoryC

Update a product category

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCategory ID
nameNo
siteYesSite id (see list_sites)
slugNo
parentNo
image_idNo
descriptionNo

TDQS

C2.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Update a product category' and reveals nothing about required permissions, reversibility, side effects, or what happens to unspecified fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short, but it is under-specified rather than efficiently concise. For a mutation tool with seven parameters, this single sentence does not earn its place by conveying useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations, no output schema, and low schema parameter coverage, the description is completely inadequate. It provides none of the context an agent needs to invoke a 7-parameter update operation correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 7 parameters with only 29% description coverage, and the description adds no parameter meaning at all. Fields like name, slug, parent, image_id, and description are left entirely undocumented in both the schema and 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 states a specific verb ('Update') and resource ('product category'), so the basic action is clear. However, it offers no differentiation from sibling tools like woo_create_category, wp_update_category, or woo_delete_category, which an agent must infer from the tool name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The description only implies that the tool is for updating an existing category, leaving the agent to guess the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_update_couponC

Update a coupon

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCoupon ID
codeNo
siteYesSite id (see list_sites)
amountNo
product_idsNo
usage_limitNo
date_expiresNo
discount_typeNo
free_shippingNo
individual_useNo
maximum_amountNo
minimum_amountNo
excluded_product_idsNo
usage_limit_per_userNo

TDQS

C2/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 and discloses almost nothing. It does not state whether this is a partial or full update, what permissions are required, whether omitted fields are preserved, or whether changes are reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three words is not conciseness but under-specification; there is nothing front-loaded or structured because there is essentially no content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A 14-parameter mutation tool with no annotations, no output schema, and near-zero schema description coverage needs substantial description support and receives none. An agent cannot safely invoke this from the definition alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 14% across 14 parameters, and the description mentions no parameters at all. Fields like discount_type, individual_use, and usage_limit_per_user have no documentation anywhere, leaving the agent to guess at semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Update) and resource (coupon), which does distinguish it from woo_create_coupon, woo_delete_coupon, woo_list_coupons and woo_get_coupon by name alone. However it is only three words and gives no scope, so it is minimal rather than clear.

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 indication of when to use this versus alternatives, no prerequisites, no note that a coupon id must already exist. Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_update_customerD

Update a customer

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCustomer ID
siteYesSite id (see list_sites)
emailNo
billingNo
shippingNo
last_nameNo
first_nameNo

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing. It does not state required permissions, whether omitted fields are cleared or preserved, whether the update is reversible, or that a site and customer id are mandatory. For a mutation tool this is a critical gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three words are technically concise, but this is under-specification rather than conciseness. There is nothing to front-load and no useful structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A seven-parameter mutation tool with nested billing/shipping objects, no annotations, and no output schema demands far more than a three-word description. An agent cannot determine required arguments, update semantics, or side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 29%, with five parameters (email, billing, shipping, first_name, last_name) undocumented, and two of them are nested objects. The description adds zero parameter meaning, so it fails to compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb (Update) and resource (customer), so the basic operation is identifiable. However, it gives no scope: which fields are updatable, whether it is a partial or full update, or how it differs from siblings like woo_create_customer or woo_get_customer. It is adequate but vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as woo_create_customer for new customers or woo_get_customer for reads. The only hint is the verb 'Update' itself, which the agent must infer from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_update_order_statusC

Update order status

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrder ID
noteNoOptional status change note
siteYesSite id (see list_sites)
statusYesNew status (pending, processing, on-hold, completed, cancelled, refunded, failed)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a mutation but does not describe permissions, side effects, reversibility, or the effect of changing order status beyond the status itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short and front-loaded, but for a four-parameter mutation tool it is arguably too terse. It avoids waste but provides minimal structure or context.

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?

The schema fully documents the parameters, which covers a significant portion of the calling contract. However, with no annotations and no output schema, the description remains thin for a mutation operation, especially regarding permissions and 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?

Schema description coverage is 100%, so the schema already documents all four parameters, including the allowed status values. The description adds no meaning beyond the schema, making the baseline score of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Update order status'. It is clear what operation is performed, but it does not differentiate from related sibling tools such as woo_get_order or woo_add_order_note.

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 when-to-use guidance is provided. It does not mention prerequisites, alternatives, or conditions under which this tool should be selected over related order tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_update_productC

Update a WooCommerce product

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProduct ID
skuNo
nameNo
siteYesSite id (see list_sites)
tagsNo
statusNo
meta_dataNo
categoriesNo
sale_priceNo
descriptionNo
manage_stockNo
stock_statusNo
regular_priceNo
stock_quantityNo
short_descriptionNo

TDQS

C2.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it discloses nothing. It doesn't explain partial-update semantics (whether omitted fields are preserved or cleared), permission requirements, validation failures, or side effects on stock and pricing — critical for a 15-parameter 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.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four words is well under the space needed rather than genuinely concise. It is front-loaded but the omission of any qualifying detail is under-specification, not efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A 15-parameter mutation tool with no annotations, no output schema, and 13% parameter coverage needs substantial description to be safely callable. The one-line description leaves the agent without update semantics, return behavior, or field guidance — completely inadequate for this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 13% (just 'id' and 'site'), so 13 of 15 parameters are undocumented anywhere. The description adds no meaning for fields like sale_price, manage_stock, meta_data, or categories, leaving the agent to guess at formats and expected types.

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?

States a specific verb ('Update') and resource ('WooCommerce product'), which is clear enough for an agent to grasp the operation. However, it offers no differentiation from closely related siblings such as woo_update_variation, woo_update_product_meta, or woo_bulk_update_stock, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance at all: it doesn't say when to prefer this over woo_update_product_meta or woo_update_variation, nor does it note that it requires an existing product id. The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_update_product_metaC

Update product meta data

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProduct ID
metaYesMeta key-value pairs
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full behavioral burden and says only 'update'. It never states whether the supplied key-value pairs merge with or overwrite existing meta, whether values are replaced wholesale, or whether any permission is required — the single most important question for a meta-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?

A single four-word sentence with zero filler and the verb-resource pairing front-loaded. It is efficient, though the terseness here reflects under-specification rather than disciplined brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool on a nested key-value object with no annotations and no output schema, the description is far too thin — it omits merge-vs-replace semantics and validation expectations that an agent needs before calling it safely.

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% (id, site, meta all documented), so the baseline is 3. The description adds no extra meaning about the nested meta object, serialization of values, or key naming conventions beyond what the schema already conveys.

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?

States a specific verb and resource (update product meta data), which is unambiguous on its own. However it does nothing to distinguish itself from the read sibling woo_get_product_meta or from woo_update_product, so the agent must infer the boundary from the name alone.

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 when-to-use guidance, no alternative tools named, and no prerequisites. An agent is given no signal about when to reach for this versus woo_get_product_meta or woo_update_product.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

woo_update_variationD

Update a product variation

ParametersJSON Schema
NameRequiredDescriptionDefault
skuNo
siteYesSite id (see list_sites)
attributesNo
product_idYesParent product ID
sale_priceNo
manage_stockNo
stock_statusNo
variation_idYesVariation ID
regular_priceNo
stock_quantityNo

TDQS

D1.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure and delivers none. For a mutation tool with 10 parameters, nothing is said about required permissions, whether changes are reversible, partial-update semantics, or side effects such as stock recalculation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four words is not conciseness here but under-specification; the sentence carries no useful information beyond the tool name and leaves the agent with nothing to act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutation tool with 10 parameters, 30% schema coverage, no annotations, and no output schema demands a much richer description. Nothing about update semantics, idempotency, or the site/product_id/variation_id relationship is explained, so the definition is inadequate for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 10 parameters and only 30% schema description coverage, the description must compensate for the gap but contributes zero parameter information. Fields like sku, sale_price, manage_stock, stock_quantity, and attributes are neither explained nor constrained anywhere in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a verb (Update) and a resource (product variation), so the basic operation is identifiable. However, it is essentially a restatement of the tool name 'woo_update_variation' and offers no detail on what aspects of a variation are updatable, nor any differentiation from siblings like woo_create_variation or woo_delete_variation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives (woo_create_variation, woo_delete_variation, woo_update_product) and no stated prerequisites. The agent must infer usage entirely from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_activate_pluginB

Activate an installed plugin (via cvrt-mcp-endpoints, avoids the often-blocked core route)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
pluginYesPlugin file path, e.g. akismet/akismet.php

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses the transport detail that activation runs via cvrt-mcp-endpoints and sidesteps a commonly blocked core route, which is real operational context. It says nothing about permissions required, idempotency, or what happens if the plugin is missing, so disclosure is partial.

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?

A single sentence with verb+resource front-loaded and the caveat appended. Nothing is wasted, though it is terse enough to leave gaps rather than being padded.

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?

For a simple two-parameter mutation with full schema coverage and no output schema, the description covers purpose and the endpoint rationale. It omits error behavior, permission requirements, and confirmation of the activation result, which an agent invoking a state-changing operation would benefit from.

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 coverage is 100% and both parameters (site, plugin) are documented in the schema with examples. The description adds no additional parameter meaning, so the baseline 3 applies.

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?

Specific verb (Activate) plus resource (plugin) with a scope qualifier ('installed'), so an agent can tell it apart from install/update/delete siblings. It does not explicitly name the closest alternative wp_deactivate_plugin, so it stops short of full 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parenthetical 'avoids the often-blocked core route' implies this variant is preferable to the core route, giving implicit usage context. However it never states prerequisites (the plugin must already be installed) or explicitly contrasts wp_activate_plugin with wp_deactivate_plugin/mcp_install_plugin.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_activate_themeC

Activate a theme (switch themes)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
stylesheetYesTheme stylesheet (folder name) to activate

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. 'Switch themes' implies the previously active theme is replaced, but nothing is said about reversibility, required permissions, or whether the target theme must be pre-installed — all significant for a state-changing 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?

Extremely short and front-loaded; the core action is stated immediately. The parenthetical 'switch themes' is mildly redundant but cheaply clarifies intent, so there is no meaningful waste.

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?

For a simple two-parameter mutation with full schema coverage and no output schema, the description is close to sufficient, but it omits the key behavioral fact — what happens to the currently active theme — leaving a gap an agent would want filled.

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%: 'site' (site id, see list_sites) and 'stylesheet' (theme folder name) are already documented in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

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?

States a specific verb (activate) and resource (theme), with the parenthetical clarifying that it switches the site's active theme. It does not distinguish itself from siblings like mcp_install_theme, mcp_update_theme, or wp_get_active_theme, so an agent must infer the boundary from names alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus installing/updating a theme, and no prerequisites stated (e.g., that the theme must already be installed). The agent gets no explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_create_categoryC

Create a new category

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCategory name
siteYesSite id (see list_sites)
slugNoURL slug
parentNoParent category ID
descriptionNoDescription

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden for a mutation tool, yet says nothing about permissions required, how slugs are derived when omitted, behavior on duplicate names, or what the parent default of 0 implies. It adds essentially nothing beyond the tool name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single front-loaded sentence with zero waste, but that brevity comes at the cost of under-specification rather than genuine conciseness. Size is not the problem; content is.

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 five-parameter mutation tool with no annotations and no output schema, sitting in a very large sibling set with near-identical category/tag tools, the description is too thin to let an agent confidently select and call it. It should at minimum state the taxonomy context and any uniqueness or default 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?

Schema description coverage is 100%, so all five parameters are already documented in the schema (name, site, slug, parent, description). The description adds no syntax, format, or constraint detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a new category'), which is clear on its own. However, in a sibling set containing wp_create_tag, wp_create_term, and woo_create_category, it offers no differentiation about which taxonomy or platform this targets, leaving the agent to infer from the name prefix alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites (e.g., that a site id is required and obtainable via list_sites), and no pointer to alternatives like woo_create_category for WooCommerce taxonomies. The agent gets no routing help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_create_commentC

Create a comment on a post

ParametersJSON Schema
NameRequiredDescriptionDefault
postYesPost ID
siteYesSite id (see list_sites)
parentNoParent comment ID (for replies)
contentYesComment content
author_nameNoAuthor name (if not logged in)
author_emailNoAuthor email (if not logged in)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about the outcome. It does not state whether the created comment is published or held for moderation, whether authentication is required, how author_name/author_email interact with a logged-in identity, or whether spam filtering applies.

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?

A single five-word sentence that is front-loaded and wastes nothing. It is efficient, though its brevity borders on under-specification rather than deliberate economy.

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 mutation tool with no annotations, no output schema, and six parameters (three required), the description is far too thin. It omits the moderation state of the result, authentication requirements, and reply behavior, leaving the agent unable to predict the effect of the call.

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 every one of the six parameters is already documented in the schema with its purpose, defaults, and reply semantics via 'parent'. The description adds no parameter meaning beyond that, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ("Create a comment on a post"), which is unambiguous about what the tool does. However, it does not differentiate itself from the many comment siblings (wp_update_comment, wp_moderate_comments, wp_list_comments), so the agent gets no help distinguishing it beyond the verb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites (e.g. needing a valid post ID, authentication state), and no routing to alternatives such as wp_update_comment for edits or wp_moderate_comments for approval. The agent must infer all context from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_create_pageC

Create a new WordPress page

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
titleYesPage title
parentNoParent page ID
statusNoPage statusdraft
contentNoPage content (HTML)
menu_orderNoMenu order

TDQS

C2.8/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 behavioral burden. It conveys only that this is a mutation ('Create'), with no mention of required capabilities/permissions, that the tool defaults to draft status, or what happens to the returned page object. For a write tool with zero annotation coverage this is a real gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded clause with no wasted words, but it is under-specified for a tool with six parameters rather than being a model of tight, informative structure.

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 six parameters, no annotations, and no output schema, the description should at minimum mention that it returns the created page/ID and note the draft default. It omits both, leaving the agent to infer post-creation state and follow-up steps.

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 6 documented parameters (site, title, parent, status enum, content, menu_order), so the schema does the explanatory work. The description adds no parameter meaning beyond what the schema already provides, which matches the baseline 3.

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?

States a specific verb and resource: 'Create a new WordPress page.' An agent can identify it as a page-creation tool distinct from list/get/update page tools. However, it does nothing to distinguish itself from the closely related wp_create_post or mcp_create_cpt_post siblings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus wp_create_post or mcp_create_cpt_post, nor on prerequisites such as obtaining a site id via list_sites. The single sentence gives context only by implication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_create_postC

Create a new WordPress post

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
tagsNoTag IDs
titleYesPost title
statusNoPost statusdraft
contentNoPost content (HTML)
excerptNoPost excerpt
categoriesNoCategory IDs
featured_mediaNoFeatured image ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state required permissions, side effects, return value, or the significance of the status default and enum values like publish/private/trash, leaving important mutation behavior undocumented.

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, front-loaded sentence with no wasted words. It is efficient, though extremely sparse for a tool with eight parameters and a mutation side effect.

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 absence of annotations and output schema, the description should say more about permissions, side effects, and the practical meaning of creating a post in various statuses. It covers only the bare action and leaves an agent to infer the rest from structured fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all eight parameters are already documented in the input schema. The description adds no parameter meaning beyond the schema, which is the baseline expectation 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 states a specific verb and resource ('Create a new WordPress post'), so the core action is immediately clear. However, it does not distinguish this tool from close siblings like wp_create_page or mcp_create_cpt_post, nor does it clarify scope beyond standard posts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as wp_create_page or mcp_create_cpt_post, and no prerequisites or context are provided. The description only implies usage from its name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_create_tagC

Create a new tag

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTag name
siteYesSite id (see list_sites)
slugNoURL slug
descriptionNoDescription

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only implies a write operation but says nothing about authentication, side effects, duplicate handling, or what the tool returns, leaving key behavioral traits undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short clause and is front-loaded, but it is under-specified rather than efficiently concise. It omits essential context that would make the brevity useful.

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 mutation tool with four parameters, no annotations, and no output schema, the description is incomplete. It omits prerequisites (such as needing a valid site ID), failure modes (e.g., duplicate tag names), and return behavior, leaving the agent to infer these from the schema alone.

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 four parameters including 'site' and 'name'. The description adds no additional parameter meaning, making the baseline score of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Create') and resource ('tag'), making the basic action clear. However, it does not distinguish this tool from closely related siblings like wp_create_term or wp_create_category, so it fails to help an agent choose correctly among similar creation 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?

Provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description only names the action without any context for selecting it over related siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_create_userC

Create a new WordPress user

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name
siteYesSite id (see list_sites)
emailYesEmail address
rolesNoRoles (e.g., ['editor'])
passwordYesPassword
usernameYesUsername (login name)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden. It does not disclose whether the new user is emailed, whether password is hashed or set as-is, whether username/email must be unique, what default role applies if 'roles' is omitted, or that this is an irreversible mutating operation. 'Create' implies a write but nothing beyond that.

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?

A single front-loaded sentence with zero waste. It is efficient, though the brevity borders on under-specification rather than deliberate conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating, 4-required-parameter tool with no annotations and no output schema, the description omits everything an agent needs beyond the parameter list: auth/permission needs, side effects, and distinction from mcp_create_user. Not adequate for this complexity.

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 6 well-documented parameters, so the schema already does the work; baseline 3 applies. The description adds no syntax, format, or constraint detail (e.g. role values, username rules) beyond 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?

States a specific verb ('Create') and resource ('WordPress user'), which is clear and unambiguous. However, it offers no differentiation from the near-identical sibling mcp_create_user (nor from wp_list_users/wp_update_user/wp_delete_user), so an agent must guess which of the two creation tools applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no note on prerequisites (e.g. which site/permissions), and no routing to the alternative mcp_create_user. Usage must be entirely inferred from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_deactivate_pluginC

Deactivate an installed plugin (via cvrt-mcp-endpoints)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
pluginYesPlugin file path, e.g. akismet/akismet.php

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state that this is a mutation operation, whether it requires specific permissions, whether it is reversible, or what side effects occur. The parenthetical '(via cvrt-mcp-endpoints)' is an implementation detail that adds little 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient phrase that is front-loaded with the action. It could be slightly clearer by omitting the implementation detail, but overall it is concise.

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 mutation tool with no annotations and no output schema, the description is too sparse. It does not cover prerequisites, side effects, return values, or error conditions, leaving significant gaps for safe and 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?

Schema description coverage is 100%, so the schema already documents both parameters ('site' and 'plugin') with examples. The description adds no additional parameter meaning beyond what the schema provides. 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 states a specific verb+resource: 'Deactivate an installed plugin'. This clearly conveys the action and target, distinguishing it from siblings like wp_activate_plugin or wp_delete_plugin. However, it does not explicitly differentiate from those siblings in the text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as wp_activate_plugin or wp_delete_plugin. The description provides only the bare action without context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_delete_categoryC

Delete a category

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCategory ID
siteYesSite id (see list_sites)

TDQS

C2.8/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 behavioral burden, yet it says only 'Delete a category'. It omits critical WordPress-specific behavior such as whether posts in the category are reassigned to the default category, whether deletion is reversible, and whether elevated permissions are required for a destructive mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three words are front-loaded and free of waste, but here brevity reflects under-specification rather than disciplined conciseness for a destructive two-parameter tool. It is efficient but does not earn its place by conveying anything actionable.

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?

With no annotations, no output schema, and a destructive mutation, the description is far too thin to be complete. An agent lacks any signal about side effects, permission requirements, or failure modes before calling it.

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% (both 'id' and 'site' are documented, with 'site' pointing to list_sites), so the schema already does the work. The description adds no syntax or format detail beyond the schema, which is the expected baseline when coverage is complete.

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 gives a specific verb and resource ('Delete a category'), so the operation is unambiguous. However, it offers no differentiation from close siblings such as wp_update_category, wp_delete_tag, or woo_delete_category, which an agent must distinguish when selecting a 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?

There is no guidance on when to use this tool versus wp_delete_tag, mcp_delete_term, or woo_delete_category, and no prerequisites or exclusions are stated. The agent must infer everything from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_delete_commentD

Delete a comment

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesComment ID
siteYesSite id (see list_sites)
forceNoBypass trash and delete permanently

TDQS

D1.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden, yet it says nothing about whether the comment is trashed or permanently destroyed, whether force is needed, what permissions are required, or whether replies are affected. The only behavioral hint (trash vs permanent) lives in the schema's force field, not the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and front-loaded, but this is under-specification rather than conciseness: the single phrase conveys no information an agent could not infer from the tool name alone.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A destructive mutation tool with no annotations, no output schema, and an optional force flag that changes consequences irreversibly needs at least a note on trash-vs-permanent behavior and required capability; the description supplies none of it.

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 id, site, and force are already documented in the schema (force explicitly as 'Bypass trash and delete permanently'). The description adds nothing beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Delete a comment" names a verb and resource but is effectively a restatement of the tool name with no scope, no distinction from the roughly two dozen other delete_* siblings (wp_delete_post, wp_delete_media, wp_delete_category, mcp_delete_widget), and no indication of what deletion means here.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use statement, no prerequisites, and no routing to alternatives such as wp_moderate_comments (which can trash/spam a comment) or wp_update_comment. The agent is given nothing to decide between this and sibling comment tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_delete_mediaC

Delete a media item

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMedia ID
siteYesSite id (see list_sites)
forceNoPermanently delete (bypass trash)

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. 'Delete' implies a destructive mutation, but the description doesn't disclose whether deletion is permanent, requires specific permissions, affects associated files/thumbnails, or can be undone. The schema's force parameter hints at trash vs permanent, but the description itself adds nothing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief (five words) and front-loaded, but it's under-specified rather than concise. It lacks the detail needed for correct invocation, so brevity here is a weakness, not a strength.

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 destructive mutation tool with no annotations and no output schema, the description is inadequate. It doesn't cover safety, side effects, or differentiation from similar tools. An agent would need to rely on schema and assumptions, which is risky for deletion.

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 parameters are fully documented in the schema. The description adds no additional meaning beyond what the schema provides. 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.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource: 'Delete a media item.' This is sufficient to understand the basic operation. However, it does not differentiate from siblings like mcp_delete_media, mcp_bulk_delete_media, or wp_delete_post/comment/category, leaving the agent to infer the exact scope.

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 when-to-use guidance is provided. There are three delete-related media tools (wp_delete_media, mcp_delete_media, mcp_bulk_delete_media) and many other delete tools, yet the description offers no context on when to choose this one over alternatives or what prerequisites exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_delete_pageA

Delete a page (moves to trash, or permanently if force=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPage ID
siteYesSite id (see list_sites)
forceNoBypass trash and delete permanently

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full behavioral burden. It does disclose the most important trait for a destructive tool: default soft-delete to trash versus permanent deletion when force=true. It omits permission requirements, whether trashed pages are recoverable, and side effects such as orphaned children or menu references.

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?

A single tight sentence with the default behavior stated first and the destructive variant second. Every clause earns its place and nothing is padded.

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?

For a destructive tool with zero annotation coverage and no output schema, the description covers the core trash-vs-permanent distinction but should say more: that force=true is irreversible, that the required site and id identify the target, and what happens to a page once trashed. It is adequate but clearly under-documented for the stakes.

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 id, site, and force are already documented in the schema, including force's 'Bypass trash and delete permanently'. The description's restatement of force adds no syntax or semantics beyond that, so the baseline 3 applies.

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 gives a specific verb ('Delete') and resource ('a page'), clearly separating it from the adjacent page tools like wp_get_page, wp_update_page, and wp_list_pages. It does not, however, explicitly distinguish itself from wp_delete_post, the closest sibling, leaving the page-vs-post routing to the tool name.

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 parenthetical 'moves to trash, or permanently if force=true' implies the two operating modes an agent must choose between, which is useful guidance. But there is no explicit when-to-use instruction, no warning about irreversibility, and no pointer to any alternative such as wp_delete_post for non-page content.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_delete_pluginB

Delete an installed plugin (via cvrt-mcp-endpoints; deactivates first)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
pluginYesPlugin file path, e.g. akismet/akismet.php

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden, and it does add one non-obvious behavioral fact: the plugin is deactivated before deletion. However, it omits critical traits like irreversibility, required capabilities, and failure behavior for a destructive operation.

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?

A single front-loaded sentence with no filler. The parenthetical 'via cvrt-mcp-endpoints' is somewhat internal and does not help an agent decide or invoke, so it is minor noise rather than a scoring failure.

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 destructive mutation tool with no annotations and no output schema, the description is too thin. It should disclose irreversibility, permissions, and what happens if the plugin is active or missing, none of which appear.

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 both 'site' and 'plugin' are already documented, including the plugin path format. The description adds no parameter meaning beyond what the schema provides, matching the baseline of 3 for high 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?

States a specific verb and resource ('Delete an installed plugin') and even notes the deactivation prerequisite. The resource is distinct from the many other delete tools in the sibling set. No explicit sibling routing, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus safe alternatives like wp_deactivate_plugin, or when deletion is inappropriate. Prerequisites (plugin must be installed, permissions required) are absent. The agent must infer all usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_delete_postB

Delete a post (moves to trash, or permanently if force=true)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID
siteYesSite id (see list_sites)
forceNoBypass trash and delete permanently

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It usefully discloses that deletion defaults to moving a post to trash and becomes permanent only with force=true. However, it omits permission requirements, side effects on comments/revisions/meta, and whether trashed posts can be restored.

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?

It is a single front-loaded sentence with no redundant filler. The parenthetical efficiently captures the conditional behavior without bloating the description.

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?

For a mutation tool with no annotations and no output schema, the description covers only the trash-versus-permanent distinction. It lacks prerequisite permissions, destructive side effects, and guidance on choosing among sibling delete tools, leaving meaningful gaps 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 defines site, id, and force. The description mentions force=true but adds no semantics beyond what the schema provides, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Delete a post', with the post-specific scope and default trash behavior. It does not explicitly differentiate from sibling tools such as wp_delete_page or mcp_delete_cpt_post, but the resource noun gives reasonable clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance. The description explains force=true behavior but does not say when to prefer this tool over wp_delete_page, mcp_delete_cpt_post, or other delete siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_delete_tagC

Delete a tag

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTag ID
siteYesSite id (see list_sites)

TDQS

C2.6/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 disclosure burden. 'Delete' implies destruction, but the description never says whether the deletion is permanent, whether the tag is detached from existing posts, or what permissions are required - significant gaps for a destructive operation.

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?

A single three-word phrase with zero padding and the key verb front-loaded. It is efficiently structured, though its brevity reflects under-specification rather than disciplined concision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, unannotated tool with no output schema, the description is too thin: it omits any warning about irreversibility, side effects on posts, or error behavior when the ID is invalid. The schema covers inputs but nothing covers 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?

Schema description coverage is 100%, with 'id' documented as 'Tag ID' and 'site' pointing to list_sites, so the schema already does the heavy lifting. The description adds no meaning beyond it, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb and resource ('Delete a tag'), so the intent is unambiguous, but for a tool literally named wp_delete_tag it largely restates the name and does nothing to distinguish it from sibling destructive tools like wp_delete_category or wp_delete_comment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no note about when to update (wp_update_tag) versus delete, and no mention of prerequisites or consequences. The agent must infer everything from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_delete_userB

Delete a user (requires reassign parameter)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID to delete
siteYesSite id (see list_sites)
reassignYesUser ID to reassign content to

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It says nothing about irreversibility, what happens to the deleted user's content, permission requirements, or side effects. The only behavioral hint is the reassign requirement, which the schema already enforces via the required list, so it adds essentially no new disclosure for a destructive 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?

A single short sentence with the verb and resource front-loaded and zero filler. Nothing is padded or redundant at the sentence level.

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 destructive, unannotated deletion tool with no output schema, the definition is too thin. An agent cannot tell whether the action is reversible, what occurs to the user's content beyond reassignment, whether confirmation is expected, or how it differs from mcp_delete_user.

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 all three parameters documented, so the baseline is 3. The description restates that reassign is required, which the schema already declares, adding no syntax or semantic detail beyond the structured field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Delete a user'), which is unambiguous on its own. However, it does not distinguish this tool from the very similarly named sibling mcp_delete_user, so an agent has no basis in the description for choosing between them.

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 parenthetical '(requires reassign parameter)' hints at a precondition, but it is duplicated from the schema's required list and gives no when-to-use vs when-not guidance, no mention of alternatives like mcp_delete_user, and no prerequisites such as capability or role checks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_active_themeC

Get the currently active theme

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no statement that this is a read-only operation, no indication of what the response contains (theme name, stylesheet, version, parent?), and no failure mode when no theme resolves.

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?

A single front-loaded sentence with zero filler; nothing is padded. It is arguably too terse for the disclosure burden it carries, but on pure conciseness it is efficient.

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?

For a trivial one-parameter getter this is close to adequate, but with no annotations and no output schema the definition leaves the agent unsure what is returned and how this differs from wp_get_theme. A clause on the return shape or the sibling distinction would close the gap.

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% — the single 'site' parameter is documented in-schema as 'Site id (see list_sites)'. The description adds no syntax or format detail beyond that, so the schema does the work and a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get the currently active theme'), and the adjective 'active' distinguishes it from wp_get_theme in concept. However, it never names wp_get_theme, wp_list_themes, or wp_activate_theme, so the sibling boundary is left to inference.

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 when-to-use guidance at all. With siblings like wp_get_theme (get one theme by handle) and wp_list_themes (enumerate all), the agent gets no rule for choosing this tool versus those; it must guess that 'active' is the discriminator.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_commentB

Get a comment by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesComment ID
siteYesSite id (see list_sites)

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 behavioral burden. 'Get a comment by ID' implies a read operation but does not disclose authorization requirements, error behavior for missing/invalid IDs, or any rate limits. For a tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is appropriately sized for a simple retrieval tool.

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 low complexity and full parameter schema coverage, the description is minimally adequate. However, because there is no output schema, it should ideally state what a retrieved comment contains or the shape of the return value; that omission leaves a small but real gap.

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 two parameters ('id' and 'site') are fully documented in the schema. The description only echoes 'by ID' and adds no syntax, format, or meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and resource ('comment') and adds 'by ID', so the agent knows exactly what the tool retrieves. It does not explicitly differentiate from sibling retrieval tools like wp_list_comments, but the core purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool instead of wp_list_comments or other comment-related siblings. It also omits prerequisites such as required permissions or the fact that the comment must exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_mediaB

Get a media item by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMedia ID
siteYesSite id (see list_sites)

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 behavioral burden. It implies a read operation but says nothing about permissions, error behavior (e.g., missing ID), response shape, or whether the item is returned in full or summary form.

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?

A single front-loaded sentence with zero waste. It communicates the core action immediately and contains no redundant filler.

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?

The tool is simple (two required parameters, no output schema), and the schema fully covers those parameters. However, with no annotations and no output schema, the description should at least hint at return structure or site context; it leaves the agent to infer both.

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 both 'id' and 'site' are already documented in the schema. The description adds no meaning beyond restating the ID concept, which is the expected baseline when schema coverage is complete.

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?

States a specific verb ('Get') and resource ('media item') with the key identifier ('by ID'). Distinguishable from most siblings, but does not differentiate from the nearly identical 'mcp_get_media' or explain why an agent would choose one over the other.

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 when-to-use guidance, no exclusions, and no mention of alternatives such as 'wp_list_media' or 'mcp_get_media'. The agent must infer context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_namespacesA

List available REST API namespaces (plugins may add custom endpoints)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

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 behavioral burden. 'List' strongly implies a read-only operation, and the note that plugins may add custom endpoints usefully signals result variability, but there is no explicit statement about permissions, side effects, or pagination.

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 compact sentence with zero filler, and the core purpose is front-loaded. The parenthetical is short and adds relevant scope rather than bloat.

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 read-only discovery tool with one fully documented parameter, the description is nearly complete: it states what is returned and notes plugin-added custom endpoints. The lack of annotations and an output schema leaves minor gaps around response format and permissions, but nothing critical is missing.

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% and the single parameter ('site') is documented in the schema as 'Site id (see list_sites).' The description adds no parameter-level meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-resource pair: 'List available REST API namespaces.' It is immediately clear what the tool returns, and no sibling tool shares this discovery purpose, so an agent can identify it without opening the schema.

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 gives no explicit when-to-use guidance, no when-not-to-use conditions, and names no alternatives. The parenthetical about plugins adding custom endpoints adds context but does not tell the agent when this tool is preferable to siblings like mcp_get_system_info or wp_site_info.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_pageB

Get a single page by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPage ID
siteYesSite id (see list_sites)
contentNoInclude full content

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full disclosure burden. It indicates a read operation but does not mention that the optional content flag defaults to false, nor does it describe permissions, rate limits, or output behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with zero wasted words. It states the core action and scoping constraint immediately.

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?

For a simple get-by-ID tool with no output schema, the description is minimally adequate. It omits the behavioral effect of the content flag and gives no indication of what the returned page object contains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no extra meaning beyond the schema, not even referencing the optional content parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ('Get') and resource ('page') scoped by ID. It does not, however, differentiate itself from siblings like wp_get_post or clarify why one would use it over wp_list_pages.

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 phrase 'by ID' implies the tool is for retrieving a single page when its identifier is known, providing some usage context. It does not state when to choose this over alternatives such as wp_list_pages or wp_search_posts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_pluginC

Get plugin details by slug

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
pluginYesPlugin identifier (e.g., 'akismet/akismet.php')

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about permissions, whether the plugin must be installed/active, or what 'details' actually covers. The only implicit signal is that this is a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short, front-loaded sentence with no wasted words. It is efficient, though 'by slug' slightly muddies the identifier semantics the schema calls a plugin identifier.

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?

For a simple two-parameter read tool with a fully documented schema and no output schema, the description is minimally adequate. However, with no annotations and no indication of what 'details' returns, it leaves gaps an agent would want filled.

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 'site' and 'plugin' documented, so the baseline is 3. The phrase 'by slug' adds mild meaning to the 'plugin' parameter, though the schema's own example is more precise.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Get plugin details') and adds the lookup key ('by slug'), so an agent knows it retrieves a single plugin rather than listing them. It is clear, but it does not explicitly distinguish itself from the sibling wp_list_plugins.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites, and no routing to the obvious alternatives (wp_list_plugins to discover plugins, mcp_search_plugins to search). The agent must infer the use case entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_postC

Get a single post by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID
siteYesSite id (see list_sites)
contentNoInclude full content

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden, and it discloses almost nothing beyond the read implication of 'Get' — no note on whether content is returned summarized or full, what happens for an invalid/nonexistent ID, or any permission requirement. The 'content' flag's effect is left entirely to 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single four-word sentence with zero filler and the key qualifier ('by ID') front-loaded. It is efficient, though its brevity edges toward under-specification rather than genuine tightness.

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?

With no annotations and no output schema, the description should explain what a retrieved post contains and any notable behavior; instead it says nothing about the return shape or the post types supported. An agent knows the input but not what it will receive.

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 three documented parameters, so the baseline is 3. 'By ID' maps to the required id parameter but adds no format or constraint detail beyond what the schema already states.

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?

States a specific verb and resource ('Get a single post') and adds the lookup key ('by ID'), so the operation is unambiguous. It does not distinguish itself from near-siblings such as wp_get_page or acf_get_post_fields, so an agent still has to infer which retrieval tool applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus wp_list_posts, wp_search_posts, or wp_get_page, and no prerequisites (site scoping, permissions) are mentioned. Usage is only implied by the verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_settingsB

Get WordPress site settings (title, tagline, timezone, date format)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden. It discloses the shape of the result by listing title, tagline, timezone and date format, and 'Get' implies a non-mutating read. It says nothing about permissions, caching, or whether the response is scoped per site, leaving gaps for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, front-loaded with the verb and resource, with the parenthetical field list adding real information. Nothing wasted.

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?

With no output schema, the description usefully names the fields returned, and the single required parameter is fully documented in the schema. It is nearly complete for this simple read tool, only missing a note on scope/permissions and sibling differentiation.

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?

Only one parameter (site) and schema coverage is 100%, with the schema itself pointing to list_sites. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

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?

States a specific verb (Get) and resource (WordPress site settings), then enumerates the fields returned, so the agent knows exactly what comes back. It does not, however, distinguish itself from near-siblings like wp_site_info, mcp_get_option, or the various seo_get_settings/legal_get_settings tools in the same namespace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of when a different settings-getter (mcp_get_option, wp_site_info, seo_get_settings) is the right choice, and no prerequisites or exclusion criteria. Usage must be inferred entirely from the verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_themeC

Get theme details by stylesheet name

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
stylesheetYesTheme stylesheet (folder name)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. Beyond implying a read operation with 'Get', it discloses nothing about permissions, error behavior, return values, or side effects. The short phrase adds little 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?

The description is a single front-loaded sentence with no wasted words. It states the action and the identifying key immediately. It is appropriately sized for a simple lookup tool.

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?

There are no annotations and no output schema, so the description should ideally explain what kind of theme details are returned or any constraints. It does not describe the response shape, required capabilities, or relevant limitations. For a read tool with no structured behavioral coverage, this is incomplete.

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 both required parameters are already documented in the input schema. The description adds only the phrase 'by stylesheet name,' which mirrors the schema's 'Theme stylesheet (folder name)' parameter. 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 states a specific verb and resource: 'Get theme details by stylesheet name.' It is clear that this retrieves a single theme identified by stylesheet. However, it does not explicitly distinguish itself from siblings like wp_list_themes or wp_get_active_theme.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It does not mention when-not to use it, nor does it name related tools such as wp_list_themes or wp_get_active_theme. Usage context is only implied by 'Get'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_userB

Get a user by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID
siteYesSite id (see list_sites)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implicitly indicates a read operation but says nothing about authentication requirements, error handling for invalid IDs, or whether sensitive fields are returned.

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?

A single front-loaded sentence with no wasted words. The action and resource are immediately clear, and there is no filler or redundancy.

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?

For a simple read tool whose parameters are fully described in the schema and which has no output schema to explain, the description is minimally adequate. It leaves gaps around sibling differentiation and any behavioral context, but these are limited in impact for a basic getter.

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 both 'id' and 'site' are already documented in the input schema. The description's 'by ID' adds no syntax, format, or constraint beyond what the schema provides, matching the baseline for fully covered parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('Get a user'), plus the key input qualifier ('by ID'). However, it does not differentiate from siblings such as wp_list_users, wp_me, or the duplicate mcp_get_user, leaving the agent to infer when this specific getter is appropriate.

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 phrase 'by ID' implies the tool is used when a specific user ID is already known, which is adequate implied usage for a simple getter. But it names no alternatives and gives no explicit when/when-not guidance relative to wp_list_users, wp_me, or mcp_get_user.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_categoriesC

List all categories

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
parentNoParent category ID (0 for top-level)
per_pageNoCategories per page
hide_emptyNoHide categories with no posts

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 behavioral burden and supplies almost none of it. It implies a safe read via 'List', but says nothing about authentication/site scoping requirements, pagination behavior, or what fields are returned — all relevant for a real invocation.

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 single sentence is front-loaded, with no wasted words. It is arguably under-specified rather than verbose, but nothing in it fails to earn its place.

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?

The description claims it lists 'all' categories while the schema exposes parent, per_page, and hide_empty filters, leaving the actual scope ambiguous. Combined with no annotations and no output schema, the definition leaves the agent unsure about result shape and filtering 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?

Schema description coverage is 100%, so all four parameters (site, parent, per_page, hide_empty) are already documented in the schema. The description adds no syntax or defaulting detail beyond that, so the baseline 3 applies.

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 names a specific verb and resource (list categories), which is enough for an agent to distinguish it from create/update/delete category siblings. However, it does not differentiate from the many other listing tools (wp_list_tags, woo_list_categories, mcp_list_terms), so an agent must infer this is the WordPress core category lister from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance whatsoever: no mention of when to prefer this over wp_list_tags, woo_list_categories, or mcp_list_terms, and no prerequisites. The agent gets no routing help from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_commentsC

List comments

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
postNoFilter by post ID
siteYesSite id (see list_sites)
statusNoComment status
per_pageNoComments per page

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure and delivers almost nothing. 'List' weakly implies a read-only retrieval, but pagination behavior, default page size, ordering, and permission requirements are unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two words contain no waste, but this is under-specification rather than conciseness. For a five-parameter listing tool with filtering and pagination options, the definition is too thin to be considered appropriately sized.

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?

No output schema and no annotations mean the description should explain return shape and behavioral traits, and it does none of that. The only saving grace is the fully covered parameter schema, which prevents this from being a 1.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (page, post, site, status, per_page) are already documented in the schema with the status enum. The description adds no meaning beyond that, which is the expected baseline of 3 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.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('List comments'), so an agent knows this retrieves comments. However, it adds nothing beyond restating the tool name and gives no scope detail (site-wide vs per-post), so it cannot be distinguished from siblings like wp_get_comment or wp_moderate_comments without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives, and no indication of when this is preferable to wp_get_comment (single fetch) or wp_moderate_comments. The agent is left to infer usage entirely from the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_mediaC

List media library items

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
siteYesSite id (see list_sites)
searchNoSearch term
per_pageNoItems per page (max 100)
media_typeNoFilter by type

TDQS

C2.8/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, and it does almost none of it. It does not say whether results span all sites or the required one, how pagination behaves, what ordering is applied, or what fields come back. Beyond implying a non-destructive read, nothing is disclosed.

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?

A single four-word sentence with zero waste and the resource front-loaded. It is efficient, though it is arguably too terse to count as optimally structured for a 5-parameter tool.

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?

Placed in context: no output schema exists but the schema fully documents all five parameters, and annotations are absent, which raises the bar. The description omits the required site scoping, pagination behavior, and any distinction from mcp_list_media, leaving real gaps for a listing tool. The rich schema coverage keeps this from dropping lower.

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 page, site, search, per_page, and media_type all documented inline including the media_type enum and per_page max. The description adds no parameter meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (media library items), so the basic purpose is unambiguous. However, the sibling set contains an apparently duplicate tool, mcp_list_media, and the description gives no basis for distinguishing the two. That missing differentiation caps this below a 4.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no statement of prerequisites, and no routing to alternatives such as wp_get_media for a single item or mcp_list_media for the duplicate listing path. The agent must infer all selection logic from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_pagesC

List WordPress pages

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
siteYesSite id (see list_sites)
orderNoasc
parentNoParent page ID (0 for top-level)
statusNoPage status filter
orderbyNomenu_order
per_pageNoPages per request (max 100)

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it says nothing about pagination, ordering, filtering behavior, or return shape. "List" implies a read-only operation, but that is the only behavioral signal available.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence wastes no words, but it is under-specified rather than genuinely concise. There is no filler, yet the brevity leaves critical usage context absent.

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 7-parameter tool with no output schema and no annotations, the description is inadequate. An agent would need to reverse-engineer filtering, pagination, and ordering semantics from the schema alone, with no behavioral or usage context to guide correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

At 71% schema description coverage, the schema documents most parameters (site, page, parent, status, per_page) but leaves order and orderby undocumented. The description adds no parameter meaning whatsoever, so it does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ("List") and resource ("WordPress pages"), which distinguishes it loosely from wp_get_page (singular) and wp_create_page. However, it is close to restating the tool name and offers no explicit sibling differentiation, leaving an agent to infer the list-vs-get distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as wp_get_page or wp_list_posts. The agent gets no help deciding between this and the other page-related siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_pluginsC

List all installed plugins

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
statusNoFilter by status

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'List all installed plugins' implies a read operation but never confirms it is non-destructive, says nothing about the return shape, or notes whether status filtering affects scope — a significant gap for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with zero waste and the core purpose front-loaded. It is arguably too terse rather than padded, so there is no structural bloat to penalize.

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?

This is a simple list tool with no output schema, so return-format explanation is not strictly required. Still, with no annotations and no mention of scope (all plugins vs. filtered), the description leaves behavioral context thin for an agent deciding how to call it.

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 both the required 'site' (with a pointer to list_sites) and the 'status' enum are already fully documented in the schema. The description adds nothing beyond this, so the baseline 3 applies.

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?

States a specific verb (list) and resource (installed plugins), making the operation unambiguous. However, it does not distinguish itself from siblings like wp_get_plugin, mcp_search_plugins, or mcp_get_plugins_health, so the agent must infer the boundary from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus alternatives such as wp_get_plugin (single plugin) or mcp_search_plugins (find plugins in the repo). No context, prerequisites, or exclusions are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_postsC

List WordPress posts with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
siteYesSite id (see list_sites)
tagsNoTag ID(s), comma-separated
orderNodesc
authorNoAuthor ID
searchNoSearch term
statusNoPost status filter
orderbyNodate
per_pageNoPosts per page (max 100)
categoriesNoCategory ID(s), comma-separated

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'List' implies a safe read, but nothing is said about pagination limits, default ordering, return shape, or permissions. The one hint of behavior, per_page max 100, lives only in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero waste. It is arguably too terse for a 10-parameter tool, but there is no filler to cut.

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 10-parameter listing tool with no annotations and no output schema, the description omits filter behavior, pagination, default ordering, and what a returned post contains. It is not misleading, but it is far too thin to stand in for the missing structured 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 80%, so the schema already documents nearly every parameter (site, page, tags, author, search, status, per_page, categories); order and orderby carry only enum defaults. The description adds no filter syntax or semantics beyond the schema, which is the baseline-3 case.

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?

States a specific verb and resource ('List WordPress posts') plus scope ('optional filters'), so the agent knows exactly what it returns. It does not distinguish itself from siblings like wp_search_posts or wp_list_pages, which is the only thing keeping it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no named alternative, despite wp_search_posts and wp_list_pages being obvious siblings. 'With optional filters' hints at capability but gives no conditions for choosing this tool over search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_tagsC

List all tags

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
searchNoSearch term
per_pageNoTags per page
hide_emptyNoHide tags with no posts

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden of behavioral disclosure and fails to meet it. It doesn't state that this is a safe read-only operation, doesn't mention pagination defaults (per_page=100), result limits, or the absence of side effects. Only the word 'List' weakly implies a read.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The two-word phrasing is front-loaded and wastes nothing, but it is terse to the point of being underspecified for a four-parameter tool. Brevity here reflects under-specification rather than disciplined conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and four parameters, the description should convey at least the return shape and pagination behavior. It conveys none of this, leaving the agent unable to predict what a call returns or how results are bounded.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (site, search, per_page, hide_empty) are documented in the schema itself. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb and resource ('List all tags'), which is understandable in isolation. However, it offers no differentiation from closely related siblings such as mcp_list_terms (generic taxonomy terms) or woo_list_tags (WooCommerce tags), so an agent cannot disambiguate purely from the description. The word 'all' is also slightly misleading given the tool supports search/per_page/hide_empty filtering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives, no mention of prerequisites, and no indication of when it should not be used. The description is a bare statement of function with zero routing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_themesC

List all installed themes

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
statusNoFilter by status

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It conveys only that this is a listing operation; it does not mention permissions required, whether inactive/child themes are included, multisite behavior, or result volume. For a tool with zero annotation coverage this is thin.

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?

A single, front-loaded sentence with no filler, appropriate for a simple list tool. It is efficient, though it errs toward under-specification rather than tight conciseness.

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?

The tool is a simple read-only listing with a complete two-parameter schema and no output schema, so requirements are modest. Still, with no annotations, the description should at minimum confirm it is a safe read and clarify the scope of 'all' (active vs inactive), which it does not.

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 'site' (referencing list_sites) and the 'status' enum fully documented in the schema, so the baseline is 3. The description adds no parameter-level meaning (e.g. default status behavior when the filter is omitted) beyond what the schema already states.

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?

States a specific verb and resource ('List all installed themes'), so an agent immediately knows the operation. However it does nothing to differentiate itself from close siblings such as wp_get_theme, wp_get_active_theme, or mcp_search_themes, which a caller must disambiguate by introspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to call this rather than wp_get_theme (single theme detail), wp_get_active_theme (current theme only), or mcp_search_themes (theme repository search). The only hint of scope is the word 'all', which is not framed as an exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_usersC

List WordPress users

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
siteYesSite id (see list_sites)
rolesNoFilter by role(s), comma-separated
searchNoSearch by name or email
per_pageNoUsers per page (max 100)

TDQS

C2.5/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, and it discloses nothing beyond the title. It does not mention that listing users is typically a privileged operation requiring capability checks, nor how pagination behaves or what the response contains. This is a significant gap for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of padding, so it is not wasteful. But at four words it is under-specified for a five-parameter tool with no annotations, falling short of "appropriately sized" even though it is tidy.

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?

With five parameters, no annotations, no output schema, and no sibling differentiation, the description leaves too much unresolved for an agent to call the tool confidently. Auth requirements, default result shape, and the distinction from mcp_list_users are all absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (site, page, per_page, roles, search) are already documented in the input schema. The description adds nothing beyond that, which meets the baseline of 3 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.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb and resource ("List WordPress users"), so an agent knows the operation. However, it offers no differentiation from siblings that do nearly the same thing, notably mcp_list_users and woo_list_customers, nor from wp_get_user. With that ambiguity unresolved, this is only minimally viable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no stated context for when to use this tool rather than mcp_list_users or wp_get_user, and no exclusions or prerequisites. The listing purpose is implied by the name alone, which is thin guidance for a tool with several close siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_meB

Get the currently authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It implies a read operation but omits authentication prerequisites, error behavior when unauthenticated, required permissions, and return value shape—gaps made more significant by the absence of an 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with zero waste. The purpose is stated immediately and no unnecessary detail is included.

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?

For a simple one-parameter read tool, the description covers the core purpose but leaves out return value information (no output schema exists) and authentication requirements. It is minimally viable but not rich enough to fully guide response handling.

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%, and the single required parameter ('site') is fully documented in the schema as 'Site id (see list_sites)'. The description adds no parameter meaning beyond that, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('currently authenticated user'), clearly distinguishing it from sibling tools like wp_get_user or mcp_get_user that fetch users by identifier. However, it does not explicitly name or compare against those alternatives, leaving the differentiation implicit.

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?

Usage is implied by the phrase 'currently authenticated user'—use it when you need the caller's own profile rather than a specified user. There is no explicit when-to-use statement, no exclusion conditions, and no named alternatives, so an agent must infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_moderate_commentsC

Batch moderate comments by status

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesComment IDs
siteYesSite id (see list_sites)
statusYesNew status

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It says only that comments are moderated in batch by status, without disclosing permission needs, reversibility, partial-failure behavior, or the meaning of destructive statuses such as spam/trash.

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?

A single front-loaded phrase with no wasted words. It is very terse, but structurally efficient and directly states the core action.

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 batch mutation tool with no annotations and no output schema, the description is too thin. It omits behavioral, permission, and failure-mode context that an agent would need to invoke it safely.

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 site, ids, and status. The description only echoes 'status' in passing and adds no syntax or semantic detail beyond the structured fields.

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?

States a specific verb (moderate), resource (comments), and batch scope, which separates it from single-comment update tools like wp_update_comment. However, it does not explicitly name or contrast with the closest siblings.

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 when-to-use guidance, prerequisites, or alternatives are given. It does not explain when to choose batch moderation versus wp_update_comment, wp_delete_comment, or individual comment-status changes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_search_postsC

Search posts by keyword

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
searchYesSearch term
per_pageNoResults per page

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden yet only says 'Search posts by keyword.' It does not disclose the search scope (title/content/meta), pagination behavior, result ordering, or that this is a read-only operation.

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?

A single front-loaded sentence with zero waste, which is appropriately sized for the tool's framing. However, it is terse to the point of omitting useful context, keeping it just under a 5.

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?

For a simple 3-param read tool with no output schema and no annotations, the description is minimally adequate but leaves the return shape (result fields, pagination via per_page) and search semantics unstated. Nothing an agent strictly needs to invoke it is missing, but nothing extra is provided either.

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 site, search, and per_page are already documented in the schema. The description's 'by keyword' adds only marginal meaning to the 'search' parameter and nothing to the others, matching the baseline 3 for schema-covered params.

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?

States a specific verb ('Search') and resource ('posts') with the search basis ('by keyword'), so the agent knows exactly what the tool does. It does not differentiate itself from the sibling wp_list_posts, which also surfaces posts, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus wp_list_posts or wp_get_post, no mention of prerequisites, and no exclusions. An agent must infer that this is the keyword-driven alternative to listing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_site_infoB

Get WordPress site information (name, description, URL, timezone)

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)

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 implies a read operation via 'Get' but does not state authentication requirements, whether the site must exist, what happens on failure, or any 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 a single, front-loaded sentence with zero waste. Every word earns its place by naming the verb, resource, and returned 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?

For a simple read-only tool with one fully documented parameter and no output schema, the description adequately covers purpose and return fields. The only gap is the lack of usage context relative to sibling tools, which is minor given the tool's simplicity.

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 single 'site' parameter is already fully documented in the schema. The description adds no additional meaning about the parameter, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('Get WordPress site information') and enumerates the returned fields (name, description, URL, timezone), making its scope clear. It does not explicitly distinguish itself from siblings like mcp_get_system_info or wp_get_settings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives such as mcp_get_system_info, wp_get_settings, or list_sites. The only hint is in the schema parameter description ('see list_sites'), but that is outside the description text and does not compensate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_categoryC

Update a category

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCategory ID
nameNoCategory name
siteYesSite id (see list_sites)
slugNoURL slug
parentNoParent category ID
descriptionNoDescription

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, but it discloses nothing beyond the mutation verb. It does not state required permissions, whether updates are partial or destructive, what happens to omitted fields, or any side effects of changing a category.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only three words and gives no useful structure or front-loaded context for a six-parameter mutation tool. It is not verbose, but it is severely under-specified rather than appropriately concise.

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 six-parameter category-mutation tool with no annotations and no output schema, the description is nearly empty. The schema covers parameter names, but the description provides no behavioral context, no usage context, and no indication of what the update operation affects.

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 coverage is 100%, and the schema already documents all six parameters (id, name, site, slug, parent, description). The description adds no parameter meaning beyond what the schema provides, which is the expected baseline when schema coverage is high.

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?

States a clear verb+resource combination ('Update a category'), so the agent knows this mutates an existing category rather than creating, deleting, or listing one. It does not differentiate from related siblings such as wp_update_tag, mcp_update_term, or woo_update_category, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no prerequisites, and no comparison to alternatives. It only implies that the tool is for updating an existing category, leaving routing decisions entirely to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_commentC

Update a comment (approve, edit content, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesComment ID
siteYesSite id (see list_sites)
statusNoComment status
contentNoComment content

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 must carry the full behavioral burden. It implies mutation but does not disclose required permissions, reversibility, side effects (e.g., what happens when approving or trashing), or any 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the core action and examples. It is efficient and wastes no words, though it could be considered minimal for a tool with four parameters.

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 mutation tool with no annotations, no output schema, and four parameters (two required), the description is too thin. It omits usage context, permissions, side effects, and differentiation from the closely related wp_moderate_comments sibling.

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 four parameters. The description mentions 'approve' and 'edit content' which correspond to status and content, but adds no syntax, format, or meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Update a comment') and gives examples of update types (approve, edit content), so an agent can tell it's a mutation tool for comments. However, it does not distinguish from siblings like wp_moderate_comments, which also handles approve/status changes, so it 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?

No when-to-use guidance, no prerequisites, and no alternatives are named. The description only states what the tool does, leaving the agent to infer that it should be used for any comment update rather than wp_moderate_comments or wp_get_comment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_mediaC

Update media item metadata (title, alt text, caption)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMedia ID
siteYesSite id (see list_sites)
titleNoTitle
captionNoCaption
alt_textNoAlt text for images
descriptionNoDescription

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a mutation but does not state whether it is a partial/patch update, what permissions are required, or what happens to omitted fields, leaving significant gaps for a write 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?

A single tight sentence, front-loaded with the verb and resource. Efficient, though it could have used the space to add routing or behavioral context.

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?

For a six-parameter mutation tool with no annotations and no output schema, the description is minimal. It covers the general intent but omits the required site/id context and update semantics, leaving moderate 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 six parameters, establishing the baseline of 3. The description names title, alt text, and caption, which partly maps to the fields but adds little semantic meaning and omits the 'description' parameter entirely.

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?

States a specific verb (update) and resource (media item metadata) with example fields. Distinguishes the operation type, but does not differentiate from the sibling wp_update_media/mcp_update_media variants or clarify how it differs from wp_get_media/wp_delete_media beyond the verb.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as mcp_update_media or wp_get_media. Usage is only implied by the verb 'update'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_pageC

Update an existing page

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPage ID
siteYesSite id (see list_sites)
titleNoPage title
parentNoParent page ID
statusNoPage status
contentNoPage content (HTML)
menu_orderNoMenu order

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description must carry the full behavioral burden, yet it only implies a mutation via 'Update'. It does not disclose authorization requirements, whether omitted fields are preserved or cleared, how the 'status' enum (including 'trash') affects deletion, or what happens on invalid IDs.

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, front-loaded phrase with zero wasted words. It is efficient, though it does not attempt to structure or convey any supplementary context.

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 mutation tool with no annotations and no output schema, the description is incomplete. It omits critical behavioral context such as authentication, partial-update semantics, side effects of status changes, and return behavior, leaving the agent to infer too much.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all seven parameters are already documented in the input schema, including the site reference and status enum. The description adds no additional parameter meaning, but the baseline of 3 is appropriate when the schema fully covers the fields.

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?

States a specific verb and resource ('Update an existing page'), which clearly separates it from wp_create_page and wp_delete_page. It does not explicitly differentiate from closely related siblings like wp_update_post or wp_update_cpt_post, but the resource noun is specific enough for an agent to select it.

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 when-to-use guidance, prerequisites, or alternatives are provided. The phrase 'existing page' hints that it is for modifying rather than creating, but there is no explicit instruction on when to choose this over wp_update_post or how to handle missing pages.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_postC

Update an existing post

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID
siteYesSite id (see list_sites)
tagsNoTag IDs
titleNoPost title
statusNoPost status
contentNoPost content (HTML)
excerptNoPost excerpt
categoriesNoCategory IDs
featured_mediaNoFeatured image ID

TDQS

C2.5/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 disclosure burden, and it largely fails. It does not say whether the update is partial or a full replacement, what happens to unspecified fields (e.g., content/categories omitted), whether 'trash' status deletes the post, or what permissions/auth are needed for a write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The phrase is front-loaded and wastes no words, but for a 9-parameter mutation tool it is under-specified rather than genuinely concise. Brevity here comes at the cost of missing guidance, not from efficient editing.

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 a 9-parameter write tool with no annotations and no output schema, the description should carry much more. It omits partial-update semantics, side effects (status='trash'), required ID sourcing (see list_posts/wp_list_posts), and return 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?

Schema description coverage is 100%, so all nine parameters (id, site, tags, title, status, content, excerpt, categories, featured_media) are already documented in the schema. The description adds no syntax, format, or constraint detail beyond what the schema provides, which is the expected baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ('Update an existing post'), so the agent knows it is a mutation on a post object. However it is essentially a restatement of the tool name wp_update_post and offers no differentiation from siblings like wp_update_page, wp_update_cpt_post, or wp_create_post beyond the post/page noun.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as wp_create_post or wp_delete_post. The word 'existing' faintly implies a valid post ID is required, but nothing is stated explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_settingsC

Update WordPress site settings

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYesSite id (see list_sites)
titleNoSite title
descriptionNoSite tagline/description
timezone_stringNoTimezone (e.g., Europe/Berlin)

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It does not say whether omitted fields are preserved or cleared, whether this overwrites global or per-site settings, what permissions are needed, or whether the change is reversible — all material 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?

A single short sentence with no filler and the verb-resource pair front-loaded. It is efficient, though the terseness is achieved by omitting needed information rather than by tight editing.

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 four-parameter mutation tool with no annotations and no output schema, the description is too thin. It never mentions which settings are mutable, that site is required, or how the update behaves, leaving the agent dependent on the schema alone.

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 every parameter (site, title, description, timezone_string) is already documented. The description adds no format, constraint, or default information beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource (update WordPress site settings), which is clear enough on its own. However, it offers no differentiation from the many sibling settings-mutation tools (legal_update_settings, seo_update_settings, fields_update_settings, mcp_set_option), so an agent cannot tell which scope applies without inspecting schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus wp_get_settings, mcp_set_option, or the other settings updaters. No prerequisites, no exclusions, and no stated relationship to list_sites despite site being required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_tagC

Update a tag

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTag ID
nameNoTag name
siteYesSite id (see list_sites)
slugNoURL slug
descriptionNoDescription

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It implies mutation through the verb "update" but says nothing about permissions required, whether unset fields are preserved, or whether the change is reversible — significant gaps for a zero-annotation write tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence with no waste, but this is conciseness by omission rather than by editing — the brevity reflects missing content, not efficient front-loading.

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 five-parameter mutation tool with no annotations and no output schema, the description is far too thin: nothing about required identifiers, update semantics, or mutation side effects. The only thing an agent can rely on is the 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% with five well-labeled parameters (id, name, slug, description, site), so the schema does the work. The description adds nothing about parameter semantics, which is the expected baseline when coverage is this high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Update a tag" is essentially a restatement of the tool name wp_update_tag, adding no scope, no field hints, and no differentiation from siblings like wp_create_tag, wp_delete_tag, or wp_list_tags. The verb+resource is identifiable only because the name supplies it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this versus wp_create_tag or wp_delete_tag, no mention of required tag id/site preconditions, and no indication of what happens if the tag does not exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_userC

Update an existing user

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesUser ID
nameNoDisplay name
siteYesSite id (see list_sites)
emailNoEmail address
rolesNoRoles
passwordNoNew password

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It implies a mutation operation but discloses nothing about permission requirements, side effects of changing passwords or roles, reversibility, or whether updates are destructive. For a user-mutation tool with no annotations, 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 a single, efficient sentence with no redundant wording. It is front-loaded and wastes no space. Its brevity is not due to verbosity but rather to under-specification, which is assessed under other dimensions.

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 six parameters, no annotations, no output schema, and a mutation operation, the description is far too sparse. It does not explain prerequisites, permissions, side effects, or the update semantics beyond the schema. An agent has almost no contextual guidance beyond the parameter names.

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 for all six parameters, so the schema itself documents id, site, name, email, roles, and password. The description adds no parameter-level meaning beyond what the schema already provides. Baseline 3 is appropriate when schema coverage is high and the description does not compensate further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Update an existing user'. This distinguishes it from creation and deletion siblings, but it does not differentiate it from the similarly named mcp_update_user or explain what aspects of the user are updated. The purpose is clear but lacks 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?

No guidance is provided on when to use this tool versus alternatives such as mcp_update_user, wp_get_user, or wp_create_user. There are no prerequisites or exclusions mentioned. The description only states what the tool does, not when an agent should select it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 277 tool updatesv3.4.0
    • Changedacf_create_field_group2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "title",
        -  "fields"
        -]New value: +[
        +  "site",
        +  "title",
        +  "fields"
        +]
    • Changedacf_delete_field_group2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "key"
        -]New value: +[
        +  "site",
        +  "key"
        +]
    • Changedacf_export_field_group2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "key"
        -]New value: +[
        +  "site",
        +  "key"
        +]
    • Changedacf_get_field_group2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "key"
        -]New value: +[
        +  "site",
        +  "key"
        +]
    • Changedacf_get_post_field2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "post_id",
        -  "field"
        -]New value: +[
        +  "site",
        +  "post_id",
        +  "field"
        +]
    • Changedacf_get_post_fields2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "post_id"
        -]New value: +[
        +  "site",
        +  "post_id"
        +]
    • Changedacf_import_field_groups2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "groups"
        -]New value: +[
        +  "site",
        +  "groups"
        +]
    • Changedacf_list_field_groups3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedacf_update_field_group2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "key"
        -]New value: +[
        +  "site",
        +  "key"
        +]
    • Changedacf_update_post_field2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "post_id",
        -  "field"
        -]New value: +[
        +  "site",
        +  "post_id",
        +  "field"
        +]
    • Changedacf_update_post_fields2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "post_id",
        -  "fields"
        -]New value: +[
        +  "site",
        +  "post_id",
        +  "fields"
        +]
    • Addedfields_create_definition
    • Addedfields_delete_definition
    • Addedfields_get_definition
    • Addedfields_get_location_values
    • Addedfields_get_schema
    • Addedfields_get_settings
    • Addedfields_list_definitions
    • Addedfields_list_types
    • Addedfields_status
    • Addedfields_sync_definition
    • Addedfields_update_definition
    • Addedfields_update_settings
    • Addedfulfillment_fulfill_order
    • Addedfulfillment_get_settings
    • Addedfulfillment_queue
    • Addedfulfillment_reprint_job
    • Addedfulfillment_status
    • Addedfulfillment_update_apply
    • Addedfulfillment_update_check
    • Addedfulfillment_update_settings
    • Addedlegal_add_section
    • Addedlegal_consent_log_export
    • Addedlegal_consent_log_get
    • Addedlegal_consent_log_stats
    • Addedlegal_delete_section
    • Addedlegal_get_accessibility
    • Addedlegal_get_accessibility_report
    • Addedlegal_get_consent
    • Addedlegal_get_document
    • Addedlegal_get_facts
    • Addedlegal_get_generator
    • Addedlegal_get_generator_library
    • Addedlegal_get_page
    • Addedlegal_get_settings
    • Addedlegal_get_social
    • Addedlegal_get_social_modules
    • Addedlegal_get_theme
    • Addedlegal_link_page
    • Addedlegal_list_documents
    • Addedlegal_put_accessibility
    • Addedlegal_put_consent
    • Addedlegal_put_document
    • Addedlegal_put_facts
    • Addedlegal_put_generator
    • Addedlegal_put_generator_library
    • Addedlegal_put_social
    • Addedlegal_put_social_modules
    • Addedlegal_put_theme
    • Addedlegal_render_document
    • Addedlegal_reset_accessibility_report
    • Addedlegal_restore_generator
    • Addedlegal_status
    • Addedlegal_update_section
    • Addedlegal_update_settings
    • Addedlist_sites
    • Changedmcp_add_menu_item2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "menu_id",
        -  "title"
        -]New value: +[
        +  "site",
        +  "menu_id",
        +  "title"
        +]
    • Changedmcp_add_widget2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "sidebar_id",
        -  "widget_type"
        -]New value: +[
        +  "site",
        +  "sidebar_id",
        +  "widget_type"
        +]
    • Changedmcp_assign_menu_location2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "menu_id",
        -  "location"
        -]New value: +[
        +  "site",
        +  "menu_id",
        +  "location"
        +]
    • Changedmcp_assign_terms2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "post_id",
        -  "taxonomy",
        -  "terms"
        -]New value: +[
        +  "site",
        +  "post_id",
        +  "taxonomy",
        +  "terms"
        +]
    • Changedmcp_bulk_delete_media2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "ids"
        -]New value: +[
        +  "site",
        +  "ids"
        +]
    • Changedmcp_bulk_get_options2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "keys"
        -]New value: +[
        +  "site",
        +  "keys"
        +]
    • Changedmcp_change_user_role2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "role"
        -]New value: +[
        +  "site",
        +  "id",
        +  "role"
        +]
    • Changedmcp_check_updates3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_clean_comments3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_clean_revisions2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_create_cpt_post2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "type",
        -  "title"
        -]New value: +[
        +  "site",
        +  "type",
        +  "title"
        +]
    • Changedmcp_create_menu2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "name"
        -]New value: +[
        +  "site",
        +  "name"
        +]
    • Changedmcp_create_term2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "taxonomy",
        -  "name"
        -]New value: +[
        +  "site",
        +  "taxonomy",
        +  "name"
        +]
    • Changedmcp_create_user2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "username",
        -  "email"
        -]New value: +[
        +  "site",
        +  "username",
        +  "email"
        +]
    • Changedmcp_delete_cpt_post2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "type",
        -  "id"
        -]New value: +[
        +  "site",
        +  "type",
        +  "id"
        +]
    • Changedmcp_delete_media2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_delete_menu2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_delete_menu_item2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "item_id"
        -]New value: +[
        +  "site",
        +  "item_id"
        +]
    • Changedmcp_delete_option2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "key"
        -]New value: +[
        +  "site",
        +  "key"
        +]
    • Changedmcp_delete_term2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "taxonomy",
        -  "id"
        -]New value: +[
        +  "site",
        +  "taxonomy",
        +  "id"
        +]
    • Changedmcp_delete_theme2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "stylesheet"
        -]New value: +[
        +  "site",
        +  "stylesheet"
        +]
    • Changedmcp_delete_user2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_delete_widget2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "widget_id"
        -]New value: +[
        +  "site",
        +  "widget_id"
        +]
    • Changedmcp_flush_cache3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_flush_rewrite3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_cron_status3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_debug_info3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_elementor_build2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_get_elementor_conditions2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_get_elementor_element2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "element_id"
        -]New value: +[
        +  "site",
        +  "id",
        +  "element_id"
        +]
    • Changedmcp_get_elementor_flat2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_get_elementor_kit3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_elementor_page_settings2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_get_health3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_media2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_get_media_stats3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_menu2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_get_menu_locations3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_option2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "key"
        -]New value: +[
        +  "site",
        +  "key"
        +]
    • Changedmcp_get_php_info3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_plugins_health3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_post_type2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "type"
        -]New value: +[
        +  "site",
        +  "type"
        +]
    • Changedmcp_get_sidebar_widgets2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "sidebar_id"
        -]New value: +[
        +  "site",
        +  "sidebar_id"
        +]
    • Changedmcp_get_system_info3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_tables3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_taxonomy2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "taxonomy"
        -]New value: +[
        +  "site",
        +  "taxonomy"
        +]
    • Changedmcp_get_user2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_get_user_meta2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_get_version3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_get_widget2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "widget_id"
        -]New value: +[
        +  "site",
        +  "widget_id"
        +]
    • Changedmcp_install_plugin2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "slug"
        -]New value: +[
        +  "site",
        +  "slug"
        +]
    • Changedmcp_install_plugin_zip2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "url"
        -]New value: +[
        +  "site",
        +  "url"
        +]
    • Changedmcp_install_theme2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "slug"
        -]New value: +[
        +  "site",
        +  "slug"
        +]
    • Changedmcp_install_theme_zip2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "url"
        -]New value: +[
        +  "site",
        +  "url"
        +]
    • Changedmcp_list_cpt_posts2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "type"
        -]New value: +[
        +  "site",
        +  "type"
        +]
    • Changedmcp_list_elementor_templates2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_list_media2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_list_menus3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_list_options2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_list_post_types3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_list_roles3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_list_sidebars3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_list_taxonomies3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_list_terms2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "taxonomy"
        -]New value: +[
        +  "site",
        +  "taxonomy"
        +]
    • Changedmcp_list_users2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_list_widget_types3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_move_widget2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "widget_id",
        -  "sidebar_id"
        -]New value: +[
        +  "site",
        +  "widget_id",
        +  "sidebar_id"
        +]
    • Changedmcp_optimize_tables3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_regenerate_thumbnails2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_reorder_widgets2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "sidebar_id",
        -  "widget_ids"
        -]New value: +[
        +  "site",
        +  "sidebar_id",
        +  "widget_ids"
        +]
    • Changedmcp_run_cron2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "hook"
        -]New value: +[
        +  "site",
        +  "hook"
        +]
    • Changedmcp_search_elementor2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_search_plugins2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "search"
        -]New value: +[
        +  "site",
        +  "search"
        +]
    • Changedmcp_search_replace2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "search",
        -  "replace"
        -]New value: +[
        +  "site",
        +  "search",
        +  "replace"
        +]
    • Changedmcp_search_themes2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "search"
        -]New value: +[
        +  "site",
        +  "search"
        +]
    • Changedmcp_set_option2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "key"
        -]New value: +[
        +  "site",
        +  "key"
        +]
    • Changedmcp_sideload_media2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "url"
        -]New value: +[
        +  "site",
        +  "url"
        +]
    • Changedmcp_update_all_plugins3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_update_all_themes3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_update_core3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedmcp_update_cpt_post2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "type",
        -  "id"
        -]New value: +[
        +  "site",
        +  "type",
        +  "id"
        +]
    • Changedmcp_update_elementor_element5 fields changed
      • changedInput schema / properties / settings / description
        Previous value: -"Settings to merge into the element"New value: +"Settings to merge into (or, with settings_mode replace, to become) the element's settings"
      • addedInput schema / properties / settings_mode
        Added value: +{
        +  "description": "merge (default) or replace: settings become the element's complete settings",
        +  "enum": [
        +    "merge",
        +    "replace"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / properties / widget_type
        Added value: +{
        +  "description": "Replace the widget type in place (cvrt-mcp-endpoints 1.13.0+). Widgets only, not containers.",
        +  "pattern": "^[a-z0-9][a-z0-9_-]*$",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "element_id",
        -  "settings"
        -]New value: +[
        +  "site",
        +  "id",
        +  "element_id",
        +  "settings"
        +]
    • Changedmcp_update_elementor_kit2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "settings"
        -]New value: +[
        +  "site",
        +  "settings"
        +]
    • Changedmcp_update_elementor_page_settings2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "settings"
        -]New value: +[
        +  "site",
        +  "id",
        +  "settings"
        +]
    • Changedmcp_update_media2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_update_menu2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "name"
        -]New value: +[
        +  "site",
        +  "id",
        +  "name"
        +]
    • Changedmcp_update_menu_item2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "item_id"
        -]New value: +[
        +  "site",
        +  "item_id"
        +]
    • Changedmcp_update_plugin2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "plugin"
        -]New value: +[
        +  "site",
        +  "plugin"
        +]
    • Changedmcp_update_term2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "taxonomy",
        -  "id"
        -]New value: +[
        +  "site",
        +  "taxonomy",
        +  "id"
        +]
    • Changedmcp_update_theme2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "stylesheet"
        -]New value: +[
        +  "site",
        +  "stylesheet"
        +]
    • Changedmcp_update_user2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedmcp_update_user_meta2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "meta"
        -]New value: +[
        +  "site",
        +  "id",
        +  "meta"
        +]
    • Changedmcp_update_widget2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "widget_id",
        -  "settings"
        -]New value: +[
        +  "site",
        +  "widget_id",
        +  "settings"
        +]
    • Addedseo_bulk_update_posts_seo
    • Addedseo_clear_monitor_log
    • Addedseo_create_redirect
    • Addedseo_create_redirect_from_log
    • Addedseo_delete_post_seo
    • Addedseo_delete_redirect
    • Addedseo_delete_term_seo
    • Addedseo_export_csv
    • Addedseo_export_redirects
    • Addedseo_export_settings
    • Addedseo_get_post_analysis
    • Addedseo_get_post_seo
    • Addedseo_get_redirect
    • Addedseo_get_settings
    • Addedseo_get_term_seo
    • Addedseo_import_csv
    • Addedseo_import_migrate
    • Addedseo_import_redirects
    • Addedseo_import_settings
    • Addedseo_indexnow_ping
    • Addedseo_keyword_check
    • Addedseo_list_monitor_log
    • Addedseo_list_posts_seo
    • Addedseo_list_redirects
    • Addedseo_sitemap_ping
    • Addedseo_sitemap_status
    • Addedseo_status
    • Addedseo_update_post_seo
    • Addedseo_update_redirect
    • Addedseo_update_settings
    • Addedseo_update_term_seo
    • Changedwoo_add_order_note2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "note"
        -]New value: +[
        +  "site",
        +  "id",
        +  "note"
        +]
    • Changedwoo_bulk_update_stock2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "products"
        -]New value: +[
        +  "site",
        +  "products"
        +]
    • Changedwoo_create_attribute2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "name"
        -]New value: +[
        +  "site",
        +  "name"
        +]
    • Changedwoo_create_attribute_term2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "attribute_id",
        -  "name"
        -]New value: +[
        +  "site",
        +  "attribute_id",
        +  "name"
        +]
    • Changedwoo_create_category2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "name"
        -]New value: +[
        +  "site",
        +  "name"
        +]
    • Changedwoo_create_coupon2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "code"
        -]New value: +[
        +  "site",
        +  "code"
        +]
    • Changedwoo_create_customer2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "email"
        -]New value: +[
        +  "site",
        +  "email"
        +]
    • Changedwoo_create_product2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "name"
        -]New value: +[
        +  "site",
        +  "name"
        +]
    • Changedwoo_create_variation2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "product_id",
        -  "attributes"
        -]New value: +[
        +  "site",
        +  "product_id",
        +  "attributes"
        +]
    • Changedwoo_delete_category2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_delete_coupon2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_delete_product2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_delete_variation2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "product_id",
        -  "variation_id"
        -]New value: +[
        +  "site",
        +  "product_id",
        +  "variation_id"
        +]
    • Changedwoo_get_coupon2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_get_customer2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_get_customer_orders2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_get_order2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_get_order_notes2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_get_product2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_get_product_meta2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_list_attribute_terms2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "attribute_id"
        -]New value: +[
        +  "site",
        +  "attribute_id"
        +]
    • Changedwoo_list_attributes3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwoo_list_categories2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwoo_list_coupons2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwoo_list_customers2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwoo_list_orders2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwoo_list_products2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwoo_list_tags3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwoo_list_variations2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "product_id"
        -]New value: +[
        +  "site",
        +  "product_id"
        +]
    • Changedwoo_sales_report2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwoo_stock_report2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwoo_top_sellers2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwoo_update_category2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_update_coupon2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_update_customer2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_update_order_status2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "status"
        -]New value: +[
        +  "site",
        +  "id",
        +  "status"
        +]
    • Changedwoo_update_product2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwoo_update_product_meta2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "meta"
        -]New value: +[
        +  "site",
        +  "id",
        +  "meta"
        +]
    • Changedwoo_update_variation2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "product_id",
        -  "variation_id"
        -]New value: +[
        +  "site",
        +  "product_id",
        +  "variation_id"
        +]
    • Changedwp_activate_plugin3 fields changed
      • changedInput schema / properties / plugin / description
        Previous value: -"Plugin identifier (e.g., 'akismet/akismet.php')"New value: +"Plugin file path, e.g. akismet/akismet.php"
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "plugin"
        -]New value: +[
        +  "site",
        +  "plugin"
        +]
    • Changedwp_activate_theme2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "stylesheet"
        -]New value: +[
        +  "site",
        +  "stylesheet"
        +]
    • Changedwp_create_category2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "name"
        -]New value: +[
        +  "site",
        +  "name"
        +]
    • Changedwp_create_comment2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "post",
        -  "content"
        -]New value: +[
        +  "site",
        +  "post",
        +  "content"
        +]
    • Changedwp_create_page2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "title"
        -]New value: +[
        +  "site",
        +  "title"
        +]
    • Changedwp_create_post2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "title"
        -]New value: +[
        +  "site",
        +  "title"
        +]
    • Changedwp_create_tag2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "name"
        -]New value: +[
        +  "site",
        +  "name"
        +]
    • Changedwp_create_user2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "username",
        -  "email",
        -  "password"
        -]New value: +[
        +  "site",
        +  "username",
        +  "email",
        +  "password"
        +]
    • Changedwp_deactivate_plugin3 fields changed
      • changedInput schema / properties / plugin / description
        Previous value: -"Plugin identifier (e.g., 'akismet/akismet.php')"New value: +"Plugin file path, e.g. akismet/akismet.php"
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "plugin"
        -]New value: +[
        +  "site",
        +  "plugin"
        +]
    • Changedwp_delete_category2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_delete_comment2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_delete_media2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_delete_page2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_delete_plugin3 fields changed
      • changedInput schema / properties / plugin / description
        Previous value: -"Plugin identifier (e.g., 'akismet/akismet.php')"New value: +"Plugin file path, e.g. akismet/akismet.php"
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "plugin"
        -]New value: +[
        +  "site",
        +  "plugin"
        +]
    • Changedwp_delete_post2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_delete_tag2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_delete_user2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "reassign"
        -]New value: +[
        +  "site",
        +  "id",
        +  "reassign"
        +]
    • Changedwp_get_active_theme3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_get_comment2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_get_media2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_get_namespaces3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_get_page2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_get_plugin2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "plugin"
        -]New value: +[
        +  "site",
        +  "plugin"
        +]
    • Changedwp_get_post2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_get_settings3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_get_theme2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "stylesheet"
        -]New value: +[
        +  "site",
        +  "stylesheet"
        +]
    • Changedwp_get_user2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_list_categories2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_list_comments2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_list_media2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_list_pages2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_list_plugins2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_list_posts2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_list_tags2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_list_themes2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_list_users2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_me3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_moderate_comments2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "ids",
        -  "status"
        -]New value: +[
        +  "site",
        +  "ids",
        +  "status"
        +]
    • Changedwp_search_posts2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "search"
        -]New value: +[
        +  "site",
        +  "search"
        +]
    • Changedwp_site_info3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_update_category2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_update_comment2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_update_media2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_update_page2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_update_post2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_update_settings2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • addedInput schema / required
        Added value: +[
        +  "site"
        +]
    • Changedwp_update_tag2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
    • Changedwp_update_user2 fields changed
      • addedInput schema / properties / site
        Added value: +{
        +  "description": "Site id (see list_sites)",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id"
        -]New value: +[
        +  "site",
        +  "id"
        +]
  2. 191 tool updatesv2.0.0
    • First observedacf_create_field_group
    • First observedacf_delete_field_group
    • First observedacf_export_field_group
    • First observedacf_get_field_group
    • First observedacf_get_post_field
    • First observedacf_get_post_fields
    • First observedacf_import_field_groups
    • First observedacf_list_field_groups
    • First observedacf_update_field_group
    • First observedacf_update_post_field
    • First observedacf_update_post_fields
    • First observedmcp_add_menu_item
    • First observedmcp_add_widget
    • First observedmcp_assign_menu_location
    • First observedmcp_assign_terms
    • First observedmcp_bulk_delete_media
    • First observedmcp_bulk_get_options
    • First observedmcp_change_user_role
    • First observedmcp_check_updates
    • First observedmcp_clean_comments
    • First observedmcp_clean_revisions
    • First observedmcp_create_cpt_post
    • First observedmcp_create_menu
    • First observedmcp_create_term
    • First observedmcp_create_user
    • First observedmcp_delete_cpt_post
    • First observedmcp_delete_media
    • First observedmcp_delete_menu
    • First observedmcp_delete_menu_item
    • First observedmcp_delete_option
    • First observedmcp_delete_term
    • First observedmcp_delete_theme
    • First observedmcp_delete_user
    • First observedmcp_delete_widget
    • First observedmcp_flush_cache
    • First observedmcp_flush_rewrite
    • First observedmcp_get_cron_status
    • First observedmcp_get_debug_info
    • First observedmcp_get_elementor_build
    • First observedmcp_get_elementor_conditions
    • First observedmcp_get_elementor_element
    • First observedmcp_get_elementor_flat
    • First observedmcp_get_elementor_kit
    • First observedmcp_get_elementor_page_settings
    • First observedmcp_get_health
    • First observedmcp_get_media
    • First observedmcp_get_media_stats
    • First observedmcp_get_menu
    • First observedmcp_get_menu_locations
    • First observedmcp_get_option
    • First observedmcp_get_php_info
    • First observedmcp_get_plugins_health
    • First observedmcp_get_post_type
    • First observedmcp_get_sidebar_widgets
    • First observedmcp_get_system_info
    • First observedmcp_get_tables
    • First observedmcp_get_taxonomy
    • First observedmcp_get_user
    • First observedmcp_get_user_meta
    • First observedmcp_get_version
    • First observedmcp_get_widget
    • First observedmcp_install_plugin
    • First observedmcp_install_plugin_zip
    • First observedmcp_install_theme
    • First observedmcp_install_theme_zip
    • First observedmcp_list_cpt_posts
    • First observedmcp_list_elementor_templates
    • First observedmcp_list_media
    • First observedmcp_list_menus
    • First observedmcp_list_options
    • First observedmcp_list_post_types
    • First observedmcp_list_roles
    • First observedmcp_list_sidebars
    • First observedmcp_list_taxonomies
    • First observedmcp_list_terms
    • First observedmcp_list_users
    • First observedmcp_list_widget_types
    • First observedmcp_move_widget
    • First observedmcp_optimize_tables
    • First observedmcp_regenerate_thumbnails
    • First observedmcp_reorder_widgets
    • First observedmcp_run_cron
    • First observedmcp_search_elementor
    • First observedmcp_search_plugins
    • First observedmcp_search_replace
    • First observedmcp_search_themes
    • First observedmcp_set_option
    • First observedmcp_sideload_media
    • First observedmcp_update_all_plugins
    • First observedmcp_update_all_themes
    • First observedmcp_update_core
    • First observedmcp_update_cpt_post
    • First observedmcp_update_elementor_element
    • First observedmcp_update_elementor_kit
    • First observedmcp_update_elementor_page_settings
    • First observedmcp_update_media
    • First observedmcp_update_menu
    • First observedmcp_update_menu_item
    • First observedmcp_update_plugin
    • First observedmcp_update_term
    • First observedmcp_update_theme
    • First observedmcp_update_user
    • First observedmcp_update_user_meta
    • First observedmcp_update_widget
    • First observedwoo_add_order_note
    • First observedwoo_bulk_update_stock
    • First observedwoo_create_attribute
    • First observedwoo_create_attribute_term
    • First observedwoo_create_category
    • First observedwoo_create_coupon
    • First observedwoo_create_customer
    • First observedwoo_create_product
    • First observedwoo_create_variation
    • First observedwoo_delete_category
    • First observedwoo_delete_coupon
    • First observedwoo_delete_product
    • First observedwoo_delete_variation
    • First observedwoo_get_coupon
    • First observedwoo_get_customer
    • First observedwoo_get_customer_orders
    • First observedwoo_get_order
    • First observedwoo_get_order_notes
    • First observedwoo_get_product
    • First observedwoo_get_product_meta
    • First observedwoo_list_attribute_terms
    • First observedwoo_list_attributes
    • First observedwoo_list_categories
    • First observedwoo_list_coupons
    • First observedwoo_list_customers
    • First observedwoo_list_orders
    • First observedwoo_list_products
    • First observedwoo_list_tags
    • First observedwoo_list_variations
    • First observedwoo_sales_report
    • First observedwoo_stock_report
    • First observedwoo_top_sellers
    • First observedwoo_update_category
    • First observedwoo_update_coupon
    • First observedwoo_update_customer
    • First observedwoo_update_order_status
    • First observedwoo_update_product
    • First observedwoo_update_product_meta
    • First observedwoo_update_variation
    • First observedwp_activate_plugin
    • First observedwp_activate_theme
    • First observedwp_create_category
    • First observedwp_create_comment
    • First observedwp_create_page
    • First observedwp_create_post
    • First observedwp_create_tag
    • First observedwp_create_user
    • First observedwp_deactivate_plugin
    • First observedwp_delete_category
    • First observedwp_delete_comment
    • First observedwp_delete_media
    • First observedwp_delete_page
    • First observedwp_delete_plugin
    • First observedwp_delete_post
    • First observedwp_delete_tag
    • First observedwp_delete_user
    • First observedwp_get_active_theme
    • First observedwp_get_comment
    • First observedwp_get_media
    • First observedwp_get_namespaces
    • First observedwp_get_page
    • First observedwp_get_plugin
    • First observedwp_get_post
    • First observedwp_get_settings
    • First observedwp_get_theme
    • First observedwp_get_user
    • First observedwp_list_categories
    • First observedwp_list_comments
    • First observedwp_list_media
    • First observedwp_list_pages
    • First observedwp_list_plugins
    • First observedwp_list_posts
    • First observedwp_list_tags
    • First observedwp_list_themes
    • First observedwp_list_users
    • First observedwp_me
    • First observedwp_moderate_comments
    • First observedwp_search_posts
    • First observedwp_site_info
    • First observedwp_update_category
    • First observedwp_update_comment
    • First observedwp_update_media
    • First observedwp_update_page
    • First observedwp_update_post
    • First observedwp_update_settings
    • First observedwp_update_tag
    • First observedwp_update_user

TDQS

C2.5/5.0

Scored across 277 tools

Disambiguation2/5

The set contains two parallel namespaces (wp_* and mcp_*) that duplicate the same resources: wp_list_users/mcp_list_users, wp_get_user/mcp_get_user, wp_update_user/mcp_update_user, wp_list_media/mcp_list_media, wp_list_plugins/mcp_search_plugins, etc. An agent cannot reliably tell whether to call the core route or the cvrt-mcp-endpoints version. Beyond that, many domain-specific tools are distinct, but the systematic duplication makes tool selection error-prone.

Naming Consistency3/5

Most tools use a prefix_verb_noun pattern (woo_list_products, acf_get_field_group), but verb placement is inconsistent in several families: legal_get_settings vs legal_consent_log_get, seo_status vs seo_get_settings, fields_status vs fields_list_types. The mix of wp_ and mcp_ prefixes for the same domain also breaks predictability. Still readable overall, hence a middle score.

Tool Count1/5

277 tools is far beyond any reasonable scope for a single server and reflects heavy redundancy (parallel wp_/mcp_ CRUD sets) and many plugin-specific sub-surfaces. This extreme count is a strong mismatch with the intended purpose, and agents will struggle to navigate it.

Completeness4/5

Coverage is very broad: full CRUD for posts, pages, media, users, comments, taxonomies, plugins, themes, menus, widgets, options, WooCommerce, Elementor, ACF, SEO and legal documents. Only minor gaps exist (e.g., generic post meta and some widget-block operations), so the surface is largely complete despite being bloated.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers