wordpress-mcp
Manages WordPress sites via MCP with token-optimized responses.
Site info, settings, and namespaces.
CRUD for posts, pages, media, categories, tags, and comments (including moderation and search).
User management: list, get, create, update, delete.
Plugin and theme management: list, activate, deactivate, delete, install/update from WordPress.org (requires cvrt-mcp-endpoints plugin).
Extended admin: core updates, cache/rewrite flush, database search-replace/optimize/clean, options CRUD, menus, widgets, health checks, and cron.
Premium modules: ACF fields, WooCommerce (products, orders, customers, coupons, reports), SEO manager, legal documents/consent, custom fields definitions, and order fulfillment.
Multi-site support: one instance manages many sites via WORDPRESS_SITES; every tool takes a site id except list_sites.
Offers integration with WooCommerce for e-commerce functionality, including product and order management (though specific tools are listed as part of Pro modules).
Provides tools for managing WordPress sites, including posts, pages, comments, users, media, categories, tags, settings, plugins, themes, menus, widgets, and site health diagnostics via the WordPress REST API and extended endpoints.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@wordpress-mcpList the 5 most recent posts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
wordpress-mcp
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 |
| ~50KB | ~2KB | 96% |
| ~5KB | ~200 bytes | 96% |
| ~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-mcpOr run directly:
npx @cavort-it-systems/wordpress-mcpConfiguration
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-mcpFrom Source
git clone https://github.com/cvrt-jh/wordpress-mcp.git
cd wordpress-mcp
npm install && npm run buildAuthentication
Uses Application Passwords (WordPress 5.6+):
Go to Users → Profile in WordPress admin
Scroll to Application Passwords
Create new password for "Claude MCP"
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 |
| everywhere | Internal WordPress data |
| lists | Only included when explicitly requested |
| posts/pages | Theme/plugin metadata |
| posts | Rarely needed |
| 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 (nositeargument; passwords never returned)
Standard WordPress REST API (42 tools)
These work with any WordPress site:
Site (4)
wp_site_info- Get site name, description, URLwp_get_settings- Get site settingswp_update_settings- Update site settingswp_get_namespaces- List REST API namespaces
Posts (6)
wp_list_posts- List posts with filterswp_get_post- Get single postwp_create_post- Create postwp_update_post- Update postwp_delete_post- Delete postwp_search_posts- Search posts
Pages (5)
wp_list_pages- List pageswp_get_page- Get single pagewp_create_page- Create pagewp_update_page- Update pagewp_delete_page- Delete page
Users (6)
wp_list_users- List userswp_me- Get current userwp_get_user- Get user by IDwp_create_user- Create userwp_update_user- Update userwp_delete_user- Delete user
Plugins (5)
wp_list_plugins- List pluginswp_get_plugin- Get plugin detailswp_activate_plugin- Activate plugin (mcp/v1;pluginis the file path, e.g.akismet/akismet.php)wp_deactivate_plugin- Deactivate plugin (mcp/v1;pluginis the file path)wp_delete_plugin- Delete plugin (mcp/v1;pluginis the file path)
Themes (4)
wp_list_themes- List themeswp_get_active_theme- Get active themewp_get_theme- Get theme detailswp_activate_theme- Switch themes
Media (4)
wp_list_media- List media librarywp_get_media- Get media itemwp_update_media- Update media metadatawp_delete_media- Delete media
Categories & Tags (8)
wp_list_categories- List categorieswp_create_category- Create categorywp_update_category- Update categorywp_delete_category- Delete categorywp_list_tags- List tagswp_create_tag- Create tagwp_update_tag- Update tagwp_delete_tag- Delete tag
Comments (6)
wp_list_comments- List commentswp_get_comment- Get commentwp_create_comment- Create commentwp_update_comment- Update/moderate commentwp_delete_comment- Delete commentwp_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 pluginsmcp_install_plugin- Install plugin from WordPress.orgmcp_update_plugin- Update single pluginmcp_update_all_plugins- Update all plugins
Theme Management (5)
mcp_search_themes- Search WordPress.org themesmcp_install_theme- Install theme from WordPress.orgmcp_update_theme- Update single thememcp_update_all_themes- Update all themesmcp_delete_theme- Delete inactive theme
Core Management (6)
mcp_get_version- Get WordPress version infomcp_get_system_info- Get comprehensive system infomcp_check_updates- Check for all updatesmcp_update_core- Update WordPress coremcp_flush_rewrite- Flush rewrite rulesmcp_flush_cache- Clear all caches
Database Management (5)
mcp_get_tables- List tables with sizesmcp_search_replace- Search/replace in databasemcp_optimize_tables- Optimize all tablesmcp_clean_revisions- Delete old revisionsmcp_clean_comments- Delete spam/trash comments
Options Management (5)
mcp_list_options- List options with prefix filtermcp_get_option- Get single optionmcp_set_option- Create/update optionmcp_delete_option- Delete optionmcp_bulk_get_options- Get multiple options
Menu Management (8)
mcp_list_menus- List navigation menusmcp_get_menu_locations- Get theme locationsmcp_get_menu- Get menu with itemsmcp_create_menu- Create menumcp_delete_menu- Delete menumcp_add_menu_item- Add menu itemmcp_delete_menu_item- Delete menu itemmcp_assign_menu_location- Assign menu to location
Widget Management (8)
mcp_list_sidebars- List all sidebarsmcp_get_sidebar_widgets- Get sidebar widgetsmcp_list_widget_types- List widget typesmcp_get_widget- Get widget detailsmcp_add_widget- Add widget to sidebarmcp_update_widget- Update widget settingsmcp_delete_widget- Remove widgetmcp_move_widget- Move widget to sidebar
Health & Diagnostics (6)
mcp_get_health- Site health scoremcp_get_debug_info- Debug informationmcp_get_php_info- PHP configurationmcp_get_plugins_health- Plugin health/updatesmcp_get_cron_status- Cron jobs statusmcp_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 groupsacf_get_field_group- Get field group with schemaacf_export_field_groups- Export as JSONacf_import_field_groups- Import from JSON
Post Fields (4)
acf_get_post_fields- Get all fields for postacf_update_post_fields- Update multiple fieldsacf_get_post_field- Get single field valueacf_update_post_field- Update single field
Term & User Fields (4)
acf_get_term_fields- Get term ACF fieldsacf_update_term_fields- Update term fieldsacf_get_user_fields- Get user ACF fieldsacf_update_user_fields- Update user fields
Options Pages (3)
acf_list_options_pages- List options pagesacf_get_options_fields- Get options page fieldsacf_update_options_fields- Update options fields
Repeater Fields (5)
acf_get_repeater- Get repeater rowsacf_add_repeater_row- Add rowacf_update_repeater_row- Update rowacf_delete_repeater_row- Delete rowacf_reorder_repeater- Reorder rows
Flexible Content (5)
acf_get_flexible- Get layoutsacf_add_flexible_layout- Add layoutacf_update_flexible_layout- Update layoutacf_delete_flexible_layout- Delete layoutacf_reorder_flexible- Reorder layouts
Relationship Fields (4)
acf_get_relationship- Get related postsacf_set_relationship- Set related postsacf_add_to_relationship- Add postsacf_remove_from_relationship- Remove posts
Utility (2)
acf_get_clone_references- Get clone field refsacf_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 filterswoo_get_product- Get product detailswoo_create_product- Create productwoo_update_product- Update productwoo_delete_product- Delete product
Variations (4)
woo_list_variations- List product variationswoo_create_variation- Create variationwoo_update_variation- Update variationwoo_delete_variation- Delete variation
Attributes (4)
woo_list_attributes- List attributeswoo_list_attribute_terms- List attribute termswoo_create_attribute- Create attributewoo_create_attribute_term- Create term
Categories & Tags (5)
woo_list_categories- List product categorieswoo_create_category- Create categorywoo_update_category- Update categorywoo_delete_category- Delete categorywoo_list_tags- List product tags
Orders (5)
woo_list_orders- List orderswoo_get_order- Get order detailswoo_update_order_status- Update statuswoo_add_order_note- Add notewoo_get_order_notes- Get notes
Customers (5)
woo_list_customers- List customerswoo_get_customer- Get customerwoo_create_customer- Create customerwoo_update_customer- Update customerwoo_get_customer_orders- Get order history
Coupons (5)
woo_list_coupons- List couponswoo_get_coupon- Get couponwoo_create_coupon- Create couponwoo_update_coupon- Update couponwoo_delete_coupon- Delete coupon
Reports (3)
woo_sales_report- Sales reportwoo_top_sellers- Top selling productswoo_stock_report- Stock status report
Product Meta & Inventory (3)
woo_get_product_meta- Get product metawoo_update_product_meta- Update product metawoo_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 settingsseo_update_settings- Update cvrt-seo-manager settingsseo_get_post_seo- Get the SEO meta for a postseo_update_post_seo- Update the SEO meta for a postseo_delete_post_seo- Delete (reset) the SEO meta for a postseo_get_post_analysis- Get the SEO analysis (score, issues) for a postseo_list_posts_seo- List SEO meta across postsseo_bulk_update_posts_seo- Bulk update SEO meta across multiple postsseo_get_term_seo- Get the SEO meta for a taxonomy termseo_update_term_seo- Update the SEO meta for a taxonomy termseo_delete_term_seo- Delete (reset) the SEO meta for a taxonomy termseo_keyword_check- Run the keyword analysis checkseo_list_redirects- List all redirectsseo_create_redirect- Create a redirectseo_get_redirect- Get a redirect by idseo_update_redirect- Update a redirect by idseo_delete_redirect- Delete a redirect by idseo_list_monitor_log- List the 404/redirect monitor log entriesseo_clear_monitor_log- Clear the 404/redirect monitor logseo_create_redirect_from_log- Create a redirect directly from a monitor log entryseo_sitemap_status- Get sitemap statusseo_sitemap_ping- Ping search engines with the sitemapseo_indexnow_ping- Submit URLs to IndexNowseo_export_settings- Export cvrt-seo-manager settingsseo_import_settings- Import cvrt-seo-manager settingsseo_export_csv- Export post SEO meta as CSVseo_import_csv- Import post SEO meta from CSVseo_export_redirects- Export redirectsseo_import_redirects- Import redirectsseo_import_migrate- Run a migration import (e.g
Legal Module (34 tools) - Requires cvrt-legal (legal_get_page / legal_link_page need 0.4.2+, legal_consent_log_* 0.5.0+, social 0.6.0+, generator and facts 0.7.0+, accessibility 0.8.0+)
legal_status- Legal document status for a site: which documents are required, filled and published, plus a single compliant flaglegal_list_documents- List all legal document types with their required/filled state and linked pagelegal_get_document- Get one legal document including its ordered sectionslegal_put_document- Replace a legal documentlegal_render_document- Render a document to normalized HTML without savinglegal_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 documentlegal_update_section- Update a sectionlegal_delete_section- Delete a section from a legal documentlegal_get_consent- Get the cookie consent banner configurationlegal_put_consent- Configure the consent banner and every tracking credential the site useslegal_get_theme- Get the banner theme: preset name, CSS custom property overrides and the rendered CSSlegal_put_theme- Set the banner theme preset and/or individual CSS custom propertieslegal_get_settings- Get cvrt-legal settingslegal_consent_log_get- Get every logged consent decision for one consent_idlegal_consent_log_stats- Aggregate consent decision counts by action and banner_version over a day rangelegal_consent_log_export- Export the raw consent decision log as CSV for a day rangelegal_update_settings- Set the GitHub update token (write-only) and the required-document overridelegal_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 itlegal_get_generator_library/legal_put_generator_library- The imported text library; import inline or vialibrary_file(local.json)legal_restore_generator- Restore the document as it was before the generator first wrote itlegal_get_social/legal_put_social- Social-media section: networks and profile URLslegal_get_social_modules/legal_put_social_modules- The social-media text modules (inline ormodules_file)legal_get_accessibility/legal_put_accessibility- The self-hosted accessibility tool (replaces the Ally widget, no third-party request);repairsswitches 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 statefields_get_settings/fields_update_settings- Update token (masked as{ set }, write-only, stored encrypted) and JSON sync pathfields_list_types- Available field typesfields_get_location_values- Values for location rulesfields_get_schema- Editor form schema of a definition kindfields_list_definitions/fields_get_definition/fields_create_definition/fields_update_definition/fields_delete_definition- CRUD forgroups,post-types,taxonomies,options-pagesfields_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 settingsfulfillment_update_settings- Update cvrt-order-fulfillment settingsfulfillment_status- Pipeline health: which credentials are set, ClickUp list/assignee, when the print agent last polled, and print-queue countsfulfillment_queue- Print-queue state: status counts (pending/printing/printed/failed) and the recent jobs with their errorsfulfillment_reprint_job- Reset a print job to pending so the agent prints it againfulfillment_fulfill_order- Manually (force) run fulfillment for an order: renders the packing slip, creates the ClickUp task, notifies Slackfulfillment_update_check- Force an immediate plugin-update check (bypassing PUC's throttle) and report whether a newer version is availablefulfillment_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 - WooCommerceMulti-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 toolsacf_create_field_groupC
Create an ACF field group with fields
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Field group key (auto-generated if omitted) | |
| site | Yes | Site id (see list_sites) | |
| style | No | default | |
| title | Yes | Field group title | |
| fields | Yes | Array of field definitions | |
| location | No | Location rules (defaults to post_type == post) | |
| position | No | normal | |
| hide_on_screen | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Field group key | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Field group key | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Field group key (e.g., group_abc123) | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| field | Yes | Field name | |
| format | No | formatted | |
| post_id | Yes | Post ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| format | No | formatted | |
| post_id | Yes | Post ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| groups | Yes | Array of ACF field group JSON objects |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Field group key | |
| site | Yes | Site id (see list_sites) | |
| style | No | ||
| title | No | New title | |
| active | No | ||
| fields | No | Updated field definitions (replaces all fields) | |
| location | No | Updated location rules | |
| position | No | ||
| hide_on_screen | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| field | Yes | Field name | |
| value | No | New value | |
| post_id | Yes | Post ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| fields | Yes | Field name => value pairs | |
| post_id | Yes | Post ID |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Definition kind: field groups, post types, taxonomies or options pages | |
| site | Yes | Site id (see list_sites) | |
| definition | Yes | Definition object in the shape of fields_get_schema for this kind (ACF-compatible) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Definition key (lowercase letters, digits, underscore), e.g. group_event or event | |
| kind | Yes | Definition kind: field groups, post types, taxonomies or options pages | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Definition key (lowercase letters, digits, underscore), e.g. group_event or event | |
| kind | Yes | Definition kind: field groups, post types, taxonomies or options pages | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Definition kind: field groups, post types, taxonomies or options pages | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Definition kind: field groups, post types, taxonomies or options pages | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Definition key (lowercase letters, digits, underscore), e.g. group_event or event | |
| kind | Yes | Definition kind: field groups, post types, taxonomies or options pages | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Definition key (lowercase letters, digits, underscore), e.g. group_event or event | |
| kind | Yes | Definition kind: field groups, post types, taxonomies or options pages | |
| site | Yes | Site id (see list_sites) | |
| definition | Yes | Definition object in the shape of fields_get_schema for this kind (ACF-compatible) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| github_token | No | ||
| clear_github_token | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| order_id | Yes | The WooCommerce order id |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| job_id | Yes | The print job id (from fulfillment_queue) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| agent_token | No | ||
| clickup_token | No | ||
| webhook_secret | No | ||
| clickup_list_id | No | ||
| slack_webhook_url | No | ||
| clickup_assignee_id | No | ||
| github_updater_token | No |
TDQS
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.
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.
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.
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.
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.
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.
legal_add_sectionC
Append a section to a legal document. Returns the resolved slug, which is what shortcodes address.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Document type | |
| body | Yes | HTML body | |
| site | Yes | Site id (see list_sites) | |
| slug | No | ||
| level | No | 2 or 3, default 2 | |
| heading | Yes |
TDQS
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 that the call returns a resolved slug for shortcode addressing, but says nothing about permissions, whether changes are reversible, whether 'body' is sanitized, or what happens if the section already exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the action front-loaded and the return-contract second; nothing is wasted. It is efficient, though very brief for a 6-parameter mutation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter mutation tool with no annotations, no output schema, and only partial schema coverage, this description is too thin. It omits the invocation context an agent needs (document must exist, HTML body format, slug behavior) and relies on the name alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 67% (slug and heading lack descriptions) and the description adds no parameter meaning at all - it never mentions site, doc, heading, body, slug, or level. With moderate coverage and zero compensating detail, this is weak.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Append a section to a legal document'), which clearly separates it from the update/delete section siblings. 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.
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 legal_update_section or legal_delete_section, nor any prerequisites (e.g. does the document need to exist first). 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.
legal_consent_log_exportA
Export the raw consent decision log as CSV for a day range (same optional from/to rules as legal_consent_log_stats). Returns { filename, csv }; the csv is the full file text, ready to write out as-is. Requires manage_options. Logging itself stays off until legal_put_consent's log_enabled is set, which should only happen after the Datenschutz document has an 'einwilligungsnachweis' section describing it. Requires cvrt-legal 0.5.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Range end, inclusive. Defaults to today. | |
| from | No | Range start, inclusive. Defaults to 30 days before to. | |
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the manage_options auth requirement, the return shape { filename, csv }, that the csv is writable as-is, the logging prerequisite tied to legal_put_consent's log_enabled, and a cvrt-legal 0.5.0+ version gate. It stops short of explicitly labeling the operation read-only/side-effect-free, which would complete the behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and packs prerequisite, return shape, and version into compact sentences, each carrying distinct information. Slightly dense but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description explains the return value, and it covers auth, prerequisites, version requirements, and parameter semantics. An agent has everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the from/to/site parameters are already documented in the schema; baseline is 3. The description's cross-reference to legal_consent_log_stats for from/to rules adds minor value but no new syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Export the raw consent decision log as CSV') and notes it uses the same from/to rules as legal_consent_log_stats, which implicitly distinguishes it from that stats sibling and from legal_consent_log_get. An agent can tell what it produces (a CSV file) 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Frames usage by referencing legal_consent_log_stats for the day-range semantics, giving clear context on the family. It does not spell out explicitly when to prefer this over legal_consent_log_get or when-not to use it, but the 'raw log' vs statistics distinction is inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_consent_log_getA
Get every logged consent decision for one consent_id (the banner's own record of what it asked and what the visitor chose). Requires manage_options. Logging itself stays off until legal_put_consent's log_enabled is set, which should only happen after the Datenschutz document has an 'einwilligungsnachweis' section describing it. Requires cvrt-legal 0.5.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| consent_id | Yes | The consent_id the banner generated for one visitor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden, and it does disclose meaningful behavior: the required capability (manage_options), the default-off logging state that gates whether any data exists, the dependency on legal_put_consent's log_enabled flag, and a version requirement (cvrt-legal 0.5.0+). It does not describe return shape or pagination, but the behavioral gating context is unusually rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and resource before the prerequisites. Dense but every sentence earns its place; the version note at the end is a minor trailing detail rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 adequately covers what the tool does, who can call it, and the configuration state that must precede it. It stops short of describing the returned record's fields or pagination behavior, which an agent might want for a log-listing tool, but nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, giving a baseline of 3. The description reinforces that consent_id is a per-visitor banner identifier, but adds little beyond the schema's own 'The consent_id the banner generated for one visitor' and does not explain 'site' or format expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('every logged consent decision') scoped to a single consent_id, and the parenthetical clarifies exactly what the data represents ('the banner's own record of what it asked and what the visitor chose'). An agent can distinguish this per-visitor lookup from siblings like legal_consent_log_export (bulk) and legal_consent_log_stats (aggregate) without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear preconditions: requires manage_options, logging must be enabled via legal_put_consent's log_enabled, and the Datenschutz document should carry an 'einwilligungsnachweis' section first. This implicitly warns that the tool returns nothing until logging is on, which is valuable routing context, though it never names an alternative tool explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_consent_log_statsA
Aggregate consent decision counts by action and banner_version over a day range (both from and to are optional, default the last 30 days; the range cannot exceed 366 days). Requires manage_options. Logging itself stays off until legal_put_consent's log_enabled is set, which should only happen after the Datenschutz document has an 'einwilligungsnachweis' section describing it. Requires cvrt-legal 0.5.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Range end, inclusive. Defaults to today. | |
| from | No | Range start, inclusive. Defaults to 30 days before to. | |
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the auth requirement (manage_options), the dependency on legal_put_consent's log_enabled flag, the Datenschutz 'einwilligungsnachweis' prerequisite, and a minimum plugin version. It stops short of describing behavior when logging is off (empty result vs error) or result shape detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core aggregation purpose is front-loaded in the first clause, followed by range/limit rules and prerequisites. It is somewhat dense with prerequisite prose (Datenschutz section name, version pin) but each sentence conveys operative constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-annotation, no-output-schema tool, the description covers purpose, required permission, dependency/enablement conditions, and range limits, and it is self-sufficient for correct invocation. Return-value formatting is not spelled out, but the grouping dimensions are stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds the 366-day cap on from/to (absent from the schema) and clarifies the optionality/defaults. This is meaningful additive context beyond the schema's per-parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (aggregate) and resource (consent decision counts) with dimensions (by action and banner_version) and scope (day range). It is clearly distinguishable from siblings like legal_consent_log_get/export by being a stats aggregation, though it does not name those alternatives directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operating context: requires manage_options, defaults to last 30 days, cannot exceed 366 days, and logging must be enabled via legal_put_consent's log_enabled. It does not explicitly say when to prefer this over legal_consent_log_get/export, so it falls short of full when-not/alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_delete_sectionC
Delete a section from a legal document.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Document type | |
| site | Yes | Site id (see list_sites) | |
| slug | Yes | Section slug |
TDQS
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 states the mutation but discloses nothing about reversibility, permissions required, whether child content or references are cascaded/removed, or the effect on the rendered document.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 extreme brevity reflects under-specification rather than tight editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 should explain the consequence of deletion and any safeguards. It provides none of that, leaving the agent to guess about destructive behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three params (site, doc, slug) documented and an enum on doc, so the baseline of 3 applies. The description adds no extra meaning such as slug format or where slugs originate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (delete) and resource (section of a legal document), which is unambiguous. It does not differentiate itself from close siblings such as legal_add_section or legal_update_section, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus legal_update_section or legal_add_section, and no prerequisites or 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.
legal_get_accessibilityA
Get the self-hosted accessibility tool's settings (enabled, position, colour, tools, statement link) and the tools on offer. Requires cvrt-legal 0.8.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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' correctly signals a read, and the enumerated settings reveal what the call surfaces, but there is no statement about permissions, whether missing settings are returned as defaults, or how the tool list relates to the settings payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the verb and resource front-loaded; the parenthetical field list earns its place by previewing the payload. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description covers what is returned and states the plugin version prerequisite. Only return-value formatting is left unspecified, which is not required since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 fully documents the input. The description adds nothing about the site parameter, which is acceptable at baseline 3 given the complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('the self-hosted accessibility tool's settings') and even enumerates the returned fields (enabled, position, colour, tools, statement link) plus the tool list. It is unambiguous, though it never names its write sibling legal_put_accessibility or distinguishes itself from legal_get_accessibility_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Requires cvrt-legal 0.8.0+' is a genuine prerequisite an agent needs before calling. However, there is no explicit when-to-use guidance and no routing to the sibling legal_put_accessibility or legal_get_accessibility_report, so usage is only implied by the read-only verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_get_accessibility_reportA
Get the markup repair report: totals per rule (fixed / open) and per page what was repaired and what is still open, i.e. what the site's own markup must fix. Each page is recorded at most once a day, newest 100 pages. Requires cvrt-legal 0.9.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavioral traits: a per-page recording cap of once a day, a bounded window of the newest 100 pages, and a minimum plugin version. It still omits permissions/auth requirements and whether the read is non-mutating, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the resource and its payload front-loaded, followed by the retention window and version requirement. Nothing is redundant and every clause adds information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema and no annotations, the description adequately covers what the report contains and its data window. It lacks permission/error context, but the return-value semantics — the main risk here — are well covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 already documented as 'Site id (see list_sites)' in the schema. The description adds no format, id-source, or constraint detail 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.
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 ('the markup repair report') and then enumerates its contents (totals per rule, per-page fixed/open items). This is far more precise than a tautology, though it never names the adjacent siblings (legal_get_accessibility, legal_reset_accessibility_report) to draw an explicit boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the content description — an agent can infer this is the diagnostic report reader, but there is no when-to-use/when-not statement and no pointer to legal_get_accessibility for settings. The 'Requires cvrt-legal 0.9.0+' line is a useful prerequisite but is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_get_consentC
Get the cookie consent banner configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the full behavioral burden. It does not disclose whether the operation is read-only, what authentication or capability is required, whether the configuration may be missing, or what the response contains beyond the generic term 'configuration'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler or repetition. It is succinct, though the extreme brevity leaves important usage and behavioral details unaddressed elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter getter with no output schema, the description identifies the returned subject but not the return shape, error behavior, or relationship to sibling legal tools. With no annotations and no output schema, more context would help an agent avoid ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter has 100% schema coverage, with the schema itself describing site as 'Site id (see list_sites)'. The description adds no additional meaning, format, or constraints beyond the schema, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb-object pair: retrieving the cookie consent banner configuration. That is clear enough to distinguish it from generic getters like wp_get_settings, but it does not explicitly contrast with sibling legal_get_settings or legal_put_consent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to call this tool, required permissions, or alternatives. The description simply states the outcome and leaves the agent to infer that a site id must be passed and that legal_get_settings or legal_put_consent are related.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_get_documentA
Get one legal document including its ordered sections.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Document type | |
| site | Yes | Site id (see list_sites) |
TDQS
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 usefully states that the result includes ordered sections and implies a read-only operation via 'Get', but it does not disclose authentication needs, error behavior, or broader return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It immediately states the action, scope, and notable output characteristic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no annotations and no output schema, the description is minimally adequate. It says what is retrieved and that sections are ordered, but it does not fully compensate for the lack of output schema or usage guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'doc' enum and the 'site' reference to list_sites. The description adds no additional parameter meaning 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.
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 (legal document), and scopes it to exactly one document with its ordered sections. This clearly distinguishes it from the plural sibling legal_list_documents without requiring the schema to be opened.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use conditions, prerequisites, or alternatives. It does not mention siblings like legal_list_documents or legal_get_page, so the agent has to infer that this is the right tool for retrieving a single legal document.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_get_factsA
Get the Impressum fields (company, address, register, VAT id, ...) the generator fills into both Impressum and Datenschutz, plus which required ones are missing. Requires cvrt-legal 0.7.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral load, and it does disclose a concrete prerequisite ('Requires cvrt-legal 0.7.0+') plus a non-obvious behavior: it also reports which required fields are missing. It does not mention auth/permission needs, but the version gate and missing-field reporting are real added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the core action and returned content front-loaded and the version prerequisite placed at the end. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description usefully describes what comes back (Impressum field values plus missing-required indicators). Combined with the version prerequisite and 100% param coverage, an agent has enough to call this tool correctly, though permissions/error behavior remain unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (site) with 100% schema description coverage, so the schema already explains it ('Site id (see list_sites)'). The description adds nothing about parameter semantics, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (Impressum fields: company, address, register, VAT id) and clarifies downstream use (generator fills both Impressum and Datenschutz). That distinguishes it cleanly from the sibling writers legal_put_facts and legal_update_settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the name and the fact that it returns field values; there is no explicit when-to-use statement or pointer to alternatives such as legal_put_facts for writing or legal_get_generator for generator config. Adequate but with a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_get_generatorA
Get a generated document's state: active, library loaded, the selection (ticked modules, options, kept custom sections) and the sections it writes. Requires cvrt-legal 0.7.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Generated document: impressum, datenschutz or barrierefreiheit (BFSG statement, cvrt-legal 0.9.0+) | |
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden, and it does disclose the shape of the returned state (active flag, library loaded, ticked modules/options/kept custom sections, sections written) plus a runtime prerequisite (cvrt-legal 0.7.0+). It omits any auth/permission or read-only assurance, but the return-structure disclosure is genuinely useful given 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense, front-loaded sentence that puts the operation and its return contents first and the version prerequisite last. The parenthetical enumeration is information-dense rather than padding, though the sentence is somewhat crammed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, the description supplies the missing return-value context and a version requirement. It is nearly complete, with only the sibling disambiguation and any permission/read-only notes left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (site, doc) and the doc enum are already fully documented in the schema. The description adds no format or syntax detail about the parameters themselves, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get a generated document's state') and enumerates what that state contains (active, library loaded, selection, sections written), which is far more informative than the name alone. It does not explicitly distinguish itself from close siblings like legal_get_document, legal_render_document, or legal_get_generator_library, so an agent must still 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies read usage ('Get ... state') but never says when to call this versus legal_get_document, legal_get_generator_library, or legal_render_document. No exclusions or prerequisite workflow (e.g., after legal_put_generator) are given, leaving selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_get_generator_libraryB
Get the imported text library of a generated document (the texts come from websites/bin/legal-v4/privacy, the plugin ships none). Requires cvrt-legal 0.7.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Generated document: impressum, datenschutz or barrierefreiheit (BFSG statement, cvrt-legal 0.9.0+) | |
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It usefully discloses a version prerequisite (cvrt-legal 0.7.0+) and that the plugin ships no bundled texts, so an agent can anticipate an empty library. It does not describe the return shape or pagination, leaving gaps for a read tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with a clarifying parenthetical, front-loaded with the action and resource. No filler, though the version constraint is crammed onto the end rather than structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-param read with no output schema and no annotations, the description covers the resource, source path, and version requirement. It stops short of explaining what the returned library looks like or how the agent should consume it, leaving a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both params (site, doc) are already documented in the schema, including the enum values and BFSG note. The description adds only the general concept of a 'generated document', so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get the imported text library of a generated document') and clarifies the source of the texts. It does not explicitly distinguish itself from the sibling legal_put_generator_library, but the get/put pairing and the 'generated document' scope make the intent clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context (texts come from websites/bin/legal-v4/privacy, the plugin ships none, requires cvrt-legal 0.7.0+) which implies when the tool returns content versus nothing. However, it never states when to use this versus legal_get_generator or the other legal_get_* readers, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_get_pageB
Get which page a legal document is linked to: linked, page_id, the page's post status, and ok (linked AND published). A required document only counts as reachable, and legal_status only turns compliant, when ok is true. Requires cvrt-legal 0.4.2+.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Document type | |
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses the meaning of each returned flag and a hard dependency (cvrt-legal 0.4.2+), which the schema does not. However, it never explicitly states this is a safe read-only operation or describes permission requirements, leaving a gap for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the resource and its return shape, then semantics, then the version prerequisite. No wasted text, though the middle clause about reachability/compliance is somewhat dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-param read tool with no output schema, the description sensibly explains the returned values itself. Combined with full schema coverage, an agent has what it needs to call it correctly, even though auth/read-only behavior is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: both 'site' and 'doc' carry descriptions and 'doc' has an enum, so the schema does the heavy lifting. The description adds no parameter syntax or format detail, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: getting the page a legal document is linked to, and enumerates the returned facts (linked, page_id, post status, ok). It is clearly distinguishable from the write-side sibling legal_link_page. It stops short of explicitly naming alternatives, so 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or prerequisites for choosing this over legal_link_page or legal_get_document. The note that a document only 'counts as reachable' and legal_status turns compliant when ok is true is semantic context, not routing or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_get_settingsB
Get cvrt-legal settings. Secret values are returned as { set: boolean }, never raw.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, and it does add one genuinely useful trait: secrets are returned as { set: boolean }, never raw. It stops short of covering auth requirements or the overall shape of the settings payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler; the masking behavior is front-loaded right after the purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description supplies the crucial return-value caveat about masked secrets. Only minor gaps remain, such as auth or scope expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explains 'site' and points 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (get cvrt-legal settings), which is clearly distinguishable from siblings like legal_update_settings and legal_get_facts. The qualifier 'cvrt-legal' is slightly opaque but the operation itself is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus legal_update_settings, legal_get_facts, or legal_get_social, and no prerequisites or exclusions. The pairing with the settings-mutation sibling 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.
legal_get_socialA
Get the social-media section configurator: networks on offer, which are switched on with their profile URLs, and the rendered preview. Requires cvrt-legal 0.6.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that this is a read (implied by 'Get'), describes the payload contents, and adds a real operational constraint — the cvrt-legal 0.6.0+ dependency. However it says nothing about permissions, pagination, or side effects, so coverage of behavioral traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and resource, followed by the returned content and the version prerequisite. No filler or redundancy; every clause contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
In the absence of an output schema, the description usefully enumerates the return shape (networks, enabled state, profile URLs, rendered preview) and states the plugin version dependency. For a one-parameter read tool this is largely complete, though it omits any mention of the site parameter or error/precondition behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 (documented as 'Site id (see list_sites)'), so the baseline is 3. The description adds no additional semantics about the site argument, leaving the schema to do all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and a clearly scoped resource ('social-media section configurator'), then enumerates what it surfaces: networks on offer, which are enabled with their profile URLs, and the rendered preview. This is far more informative than a bare name restatement. It doesn't explicitly contrast with the similarly named sibling legal_get_social_modules, but the returned content makes the distinction inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, and no named alternative (e.g., legal_put_social for writes, legal_get_social_modules for the module list). The stated version prerequisite ('Requires cvrt-legal 0.6.0+') is a useful precondition, which lifts it above a bare 2, but routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_get_social_modulesC
Get the imported social-media text modules. Requires cvrt-legal 0.6.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Get' implies read-only, and the cvrt-legal 0.6.0+ requirement is a genuine prerequisite, but there is no disclosure of permissions, what happens if no modules were imported, or the shape of the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, the purpose front-loaded and the version constraint following. Neither sentence is filler, though the version note is somewhat tangential to invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A single-parameter read tool with a fully documented schema and no output schema, so explanation of return values is not required. Still, the description gives no sense of what a 'social module' contains or whether the result can be empty, leaving a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the schema with a pointer to list_sites. The description adds no parameter-level 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Get the imported social-media text modules.' The qualifier 'imported' and 'text modules' distinguishes it from legal_get_social and legal_put_social_modules, though it never explicitly names those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 tool versus the closely-named siblings (legal_get_social, legal_put_social_modules, legal_get_generator_library). The version prerequisite is useful but is not positive/negative usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_get_themeB
Get the banner theme: preset name, CSS custom property overrides and the rendered CSS.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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 partially compensates by disclosing the shape of the returned theme data, but it never states that this is a read-only, non-mutating operation, nor whether the site must have a theme configured or what happens if none exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with verb and resource, and the return contents follow immediately. No filler, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must describe the return value — and it does, naming the three components of the theme payload. It is nearly complete for a single-parameter read tool; only the empty/unset-theme behavior and read-only nature are unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 with the 'see list_sites' pointer. The description adds nothing about the parameter, so the baseline 3 applies; the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (banner theme) and enumerates the return payload — preset name, CSS custom-property overrides, rendered CSS — which is more than a restated name. It does not, however, distinguish itself from the adjacent wp_get_theme (WordPress theme) or legal_put_theme siblings, which is a real disambiguation risk in this namespace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 that this is the read counterpart to legal_put_theme, and no note about when to prefer it over wp_get_theme. 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.
legal_link_pageA
Link a legal document to its WordPress page (post type page only; posts and products are refused). The rendered document is written into the page's post_content at once (mirrored: true, false while the document is empty) and on every later save, so a deactivated plugin still leaves the text on the page. Linking impressum/datenschutz also fills the consent banner's imprint/privacy link if that is still unset (banner_linked). page_id 0 unlinks. Requires cvrt-legal 0.4.2+.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Document type | |
| site | Yes | Site id (see list_sites) | |
| page_id | Yes | Page id to link, 0 to unlink |
TDQS
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 so well: it discloses that content is written into post_content immediately and on every later save, the mirrored flag semantics, that the text persists after plugin deactivation, and the banner_linked side effect for impressum/datenschutz. It omits return/error behavior, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and scope, and every sentence carries operational detail. The nested parentheticals (mirrored, banner_linked) make it somewhat dense/run-on, so it is not maximally clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, it covers the key risks an agent must know: write side effects, persistence, version prerequisite, and unlink semantics. Return value and failure modes are not described, leaving a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 doc, site, and page_id (including '0 to unlink'). The description reinforces the page_id=0 unlink behavior and the allowed document types, but adds little beyond the structured fields, matching the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Link a legal document to its WordPress page') and immediately constrains scope ('post type page only; posts and products are refused'). This distinguishes it from generic page/mutation siblings such as wp_update_page and legality-rendering tools like legal_render_document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context (link a rendered legal document into a page) and important exclusions (only page post type; posts and products refused; page_id 0 unlinks; requires cvrt-legal 0.4.2+). It does not name an explicit alternative tool to use instead, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_list_documentsB
List all legal document types with their required/filled state and linked page.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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 return shape (required/filled state, linked page), and the verb 'List' implies a read-only operation, but it does not state permissions, pagination, or whether any side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It puts the operation and resource first and then names the returned fields compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no output schema, the description covers what the tool returns and implies its read-only nature. It omits pagination/ordering details and explicit permission requirements, but those are relatively minor for this scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for the single 'site' parameter, including a reference to list_sites. The description adds no parameter-level meaning beyond that schema text, which is the baseline 3 when the schema already documents the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 (legal document types) and adds scope (all) plus returned fields. It is clear enough to distinguish from legal_get_document and legal_put_document by plurality and operation, but it does not explicitly name the sibling tools it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. An agent can infer that this is a listing operation, but there is no explicit routing against alternatives such as legal_get_document or legal_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_put_accessibilityA
Configure the self-hosted accessibility tool (replaces the Ally widget; no third-party request, needs no consent). Merges: omitted keys keep their value. Switching enabled rewrites a generated Datenschutz (section Barrierefreiheits-Werkzeug). Returns the stored settings. Requires cvrt-legal 0.8.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| color | No | Launcher colour, #rrggbb | |
| tools | No | tool key => on/off (see available_tools in legal_get_accessibility) | |
| enabled | No | ||
| repairs | No | Markup repair rule => on/off (cvrt-legal 0.9.0+): link-names, image-alt, iframe-title, form-labels, skip-link, lang, zoom, new-tab, duplicate-ids. Server-side, never invents or overwrites; see available_repairs | |
| position | No | ||
| sitemap_url | No | https URL for the Sitemap tool; empty = /wp-sitemap.xml | |
| statement_url | No | https URL of an external statement; the page wins | |
| statement_page | No | Page id of the accessibility statement; 0 = none |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses merge semantics for omitted keys, the side effect of rewriting a generated Datenschutz section when enabled changes, the return value, and a minimum version requirement. It still omits permissions/auth needs and reversibility details, so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well structured: purpose first, then merge behavior, side effects, return value, and compatibility. Every sentence adds distinct operational information without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter mutation tool with nested objects and no output schema, the description covers the important behavioral contract: merge semantics, side effects, return value, and version. It could be more complete by clarifying when to use this versus legal_get_accessibility and whether permissions are required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 78% and the schema documents most parameters well, so the baseline is around 3. The description adds meaningful semantics beyond the schema by explaining that omitted keys retain their values and tying 'enabled' to an automatic document rewrite.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb (Configure) and resource (self-hosted accessibility tool) and clarifies what it replaces. It is distinct from the sibling getter by name, but does not explicitly name legal_get_accessibility as the read counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies update/config usage through 'Configure' and gives merge behavior, but it does not state when to use this tool instead of legal_get_accessibility or other legal_* settings tools. Version guidance is present, but no explicit alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_put_consentA
Configure the consent banner and every tracking credential the site uses. Nothing is handed to the browser until the visitor accepts - this plugin owns GTM, GA4 and Ahrefs Web Analytics precisely because it owns the gate. Search-engine verification meta tags are NOT here; those belong to cvrt-seo-manager because they fire no request.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| ga4_id | No | GA4 measurement id G-XXXXXXXXXX, for a site running GA4 WITHOUT a GTM container. Ignored when gtm_id is set, since loading both double-counts every hit. | |
| gtm_id | No | GTM-XXXXXXX | |
| enabled | Yes | ||
| ahrefs_key | No | Ahrefs Web Analytics data-key. Cookieless but still a third-party request, so it is consent-gated and must be named in the Datenschutz text before enabling. | |
| loader_url | No | Optional first-party GTM loader URL. Leave empty to load straight from googletagmanager.com (the default on all our sites) | |
| log_enabled | No | Turn the consent decision log on or off. Stays off (the default) until a 'einwilligungsnachweis' section exists in the Datenschutz document - set it only after that section is in place. | |
| imprint_page | No | Page id of the Impressum page | |
| privacy_page | No | Page id of the Datenschutz page |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does add real behavioral context: nothing is sent to the browser until the visitor accepts, and the plugin gates all three trackers. But it omits what an agent most needs for a config-overwriting 'put' tool — whether existing settings are replaced or merged, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with no wasted preamble, and the key scoping fact (consent gate) leads. The closing clause is slightly rhetorical ('precisely because it owns the gate'), but it still carries routing information about the SEO exclusion.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter config tool with no output schema and no annotations, the description and high-coverage schema together cover purpose, scope and gating behavior well. The remaining gap is mutation semantics (overwrite vs merge, revert behavior), which is a modest shortfall rather than a blocking omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 89%, so the schema already documents nearly every parameter with rich detail (gating caveats for ahrefs_key, the gtm_id/ga4_id double-count rule, the Datenschutz precondition for log_enabled). The prose only refers to GTM/GA4/Ahrefs generically and adds no parameter-level 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.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Configure the consent banner and every tracking credential the site uses') and scopes it to what the plugin owns: GTM, GA4, Ahrefs. It also explicitly disclaims the SEO verification meta tags, naming the sibling namespace that owns them, so an agent can tell it apart from cvrt-seo-manager tools without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear boundary ('search-engine verification meta tags are NOT here; those belong to cvrt-seo-manager') which routes the agent away from a wrong tool. However, it gives no guidance on when to choose this over adjacent legal_* siblings such as legal_update_settings or legal_put_facts, or what prerequisites exist before calling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_put_documentB
Replace a legal document. Sections are ordered; omit slug to derive it from the heading. The plugin ships no legal prose - it stores and renders what it is given.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Document type | |
| site | Yes | Site id (see list_sites) | |
| title | Yes | Document title, rendered as the H1 | |
| sections | Yes | Ordered sections |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and "Replace" does signal an overwrite of the whole document. It adds one genuinely useful behavioral fact - the plugin ships no legal prose and only stores/renders supplied content - but omits what happens to existing sections, permission requirements, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and then the key structural rules. Nothing is padded, though the closing note about the plugin not shipping prose is slightly peripheral and could be folded into the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, no-annotation, no-output-schema write tool, the definition covers structure semantics and the lack of default content, but does not clarify whether the replacement is total (wiping omitted sections) or whether the target document must already exist - important for a PUT-style operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 slug derivation rule and ordered sections. The description restates the ordering and slug-derivation semantics rather than adding new syntax or constraint detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Replace a legal document" gives a specific verb and resource, and the concept of whole-document replacement is distinguishable from the sibling section-level tools (legal_add_section, legal_update_section). However, it never names those siblings or explicitly contrasts the full-document write against partial edits, 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.
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. An agent must infer from the verb "Replace" that this overwrites an entire document and that section-level siblings exist for partial edits; no prerequisites, no conditions, and no alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_put_factsA
Set Impressum fields. Merges: only the keys given change; an empty string clears a field. Regenerates every generated document. Requires cvrt-legal 0.7.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| facts | Yes | field key => value, keys as legal_get_facts lists them |
TDQS
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 merge semantics ('only the keys given change'), a clear-field side effect ('empty string clears a field'), a broad side effect ('regenerates every generated document'), and a version requirement. Missing only permissions/auth and reversibility nuance, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three terse sentences, front-loaded with the purpose, then behavior, then the version constraint. Zero padding; every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 critical unknowns: what changes, the clearing convention, and the document-regeneration side effect. Lacking any statement about permissions or failure modes, but otherwise complete enough to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema for the 'facts' object: the merge contract and the empty-string-clears convention are not stated in the schema. That elevates it above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Set Impressum fields'. Combined with the schema naming 'facts', an agent can tell this is the writer counterpart to legal_get_facts. It doesn't explicitly name the sibling or contrast with legal_update_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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the essential operational context (merge semantics, version floor) but never states when to reach for this tool versus legal_update_settings or legal_put_facts alternatives, nor any prerequisites/auth. Usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_put_generatorA
Tick or untick modules and options, then regenerate the document (the Datenschutz tab over the API). Merges into the stored selection; unknown module or option keys are refused. Sections tied to a switch (Einwilligungsnachweis, Barrierefreiheits-Werkzeug) follow that switch and are not ticked here. Requires cvrt-legal 0.7.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Generated document: impressum, datenschutz or barrierefreiheit (BFSG statement, cvrt-legal 0.9.0+) | |
| keep | No | slugs of sections added through the API that survive regeneration | |
| site | Yes | Site id (see list_sites) | |
| enabled | No | module key => on/off | |
| options | No | module key => { option key => on/off } |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses merge-not-replace semantics, rejection of unknown keys, the exclusion of switch-bound sections, and a version requirement (cvrt-legal 0.7.0+). It stops short of describing the regeneration side effects or output, but the mutation behavior is substantially clarified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action in the first clause, then layers merge/refusal rules and the switch caveat. Dense and largely waste-free, though the parenthetical and German term do add a little decoding overhead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter mutation tool with nested objects and no output schema, the description covers merge behavior, key rejection, switch coupling and a version prerequisite. It omits any note on what regeneration returns or how conflicts with stored selections resolve, but is otherwise sufficient to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 doc, site, enabled, options and keep. The description adds conceptual meaning to the module/option key handling (merge, refusals) but does not explain the 'keep' parameter's survival semantics, leaving it as baseline elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: tick/untick module and option switches and regenerate the generated document, framed as 'the Datenschutz tab over the API'. It clearly reads as a mutation counterpart to legal_get_generator, though it never names that sibling explicitly, so differentiation is inferred 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete operating context: selections merge into stored state, unknown module/option keys are refused, and switch-tied sections (Einwilligungsnachweis, Barrierefreiheits-Werkzeug) are not ticked here. It does not, however, say when to prefer this over siblings such as legal_put_generator_library or legal_restore_generator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_put_generator_libraryA
Import the text library of a generated document and regenerate it if active. Give the library inline or as library_file, a local .json path (e.g. websites/bin/legal-v4/privacy/library-datenschutz.json). A library using the 'accessibility' flag needs cvrt-legal 0.8.0+ on the site first.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Generated document: impressum, datenschutz or barrierefreiheit (BFSG statement, cvrt-legal 0.9.0+) | |
| site | Yes | Site id (see list_sites) | |
| library | No | Library object as library.py emits it | |
| library_file | No | Absolute path to a local .json library file |
TDQS
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 two useful behaviors: the conditional regeneration side effect ('if active') and the cvrt-legal 0.8.0+ version prerequisite for accessibility libraries. However it does not say what happens to an existing library, whether the import is reversible, or what errors occur on version mismatch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action and its side effect, then inputs, then the prerequisite. No filler, though the version-requirement sentence is slightly compressed into a run-on clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 action, inputs, and a key prerequisite but leaves out what 'active' means, what regeneration terminates/overwrites, and the failure mode when the site's cvrt-legal version is too old.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so baseline is 3, but the description adds real value: it clarifies the two mutually exclusive input modes (inline library vs library_file) and gives a concrete example path. It also implicitly flags the accessibility flag's semantic dependency that the schema only captures as an enum value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Import the text library of a generated document') and adds the consequential effect 'and regenerate it if active'. It is distinguishable from the sibling legal_get_generator_library (the read counterpart) and legal_put_generator (the document getter/putter), though it never names 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives practical input-mode guidance ('Give the library inline or as library_file') and a prerequisite for the accessibility flag, which implies when the tool is usable. But it never states when to prefer this over legal_put_generator or legal_put_generator_library alternatives, so the usage context remains implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_put_socialA
Switch social networks and set their profile URLs (https only), then rewrite the Datenschutz social-media section; with nothing on, the section is removed. Requires cvrt-legal 0.6.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| networks | Yes | network key => { enabled, urls } |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses important effects: URL values must be HTTPS, the Datenschutz section is rewritten, and the section is removed when nothing is enabled. It also gives a version requirement, though it does not cover permissions, reversibility, or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the primary mutation is stated first, followed by side effects and the version requirement. Every sentence contributes useful operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 output schema and no annotations, the description covers the key side effects and input constraint. It does not explain return values, but no output schema exists, and remaining schema details such as site id are documented in the schema itself.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaningful constraints beyond the schema, notably that profile URLs must be HTTPS and that disabling all networks removes the section, which helps interpret the 'enabled' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states specific actions: switching social networks, setting profile URLs, and rewriting the Datenschutz social-media section. It clearly distinguishes this mutation tool from read-only siblings such as legal_get_social and legal_get_social_modules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the stated actions and the behavior when no networks are enabled, but the description does not explicitly say when to use this tool versus legal_put_social_modules or other legal settings tools. The version prerequisite is useful context but not alternative-routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_put_social_modulesA
Import the social-media text modules, inline or as modules_file (websites/bin/legal-v4/social-media/library.json). Careful: importing while nothing is ticked removes an existing section; call legal_put_social with the current networks right after. Requires cvrt-legal 0.6.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| modules | No | Modules object as social-media/library.py emits it | |
| modules_file | No | Absolute path to a local .json modules file |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses a destructive side effect (importing with nothing ticked removes an existing section) and a version prerequisite. It still doesn't state the return value or whether the import is idempotent, but the key risk is surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with zero waste: action and inputs first, then the hazard warning and required follow-up, then the version requirement. Front-loaded and information-rich.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 covers the destructive edge case, the required follow-up call, and the version prerequisite. It is nearly complete; only return behavior and idempotency remain unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds genuine meaning by clarifying that the modules can be supplied 'inline or as modules_file' and provides the canonical file path example. This helps the agent choose between the two alternative input parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (import social-media text modules) and even names the sibling it must be paired with (legal_put_social). It is clear what the tool does, though it doesn't explicitly contrast itself with legal_get_social_modules or legal_put_social beyond the sequencing note.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete sequencing guidance ('call legal_put_social with the current networks right after') and a prerequisite ('Requires cvrt-legal 0.6.0+'). It warns of a hazardous scenario but doesn't spell out when NOT to use it versus the sibling get/put tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_put_themeB
Set the banner theme preset and/or individual CSS custom properties. Only --cvrt-consent-* properties are accepted.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| vars | No | --cvrt-consent-* overrides | |
| preset | No | default or dark |
TDQS
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 one valuable constraint ('Only --cvrt-consent-* properties are accepted'), which tells the agent a validation rule. However, for a mutation ('put') it omits whether unmentioned vars are preserved or wiped (merge vs replace semantics) 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero waste. The action and the CSS-property restriction are both front-loaded, making the definition fast to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 accepted namespace but is silent on replacement semantics (does omitting a var reset it?) and side effects. This is adequate but leaves a meaningful behavioral gap for a write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, vars, preset). The description reinforces the accepted property namespace for vars and the preset/vars duality, but adds no syntax or format detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Set) and resource (banner theme preset and/or CSS custom properties), which is clearly distinct from the sibling read tool legal_get_theme. It doesn't explicitly name a sibling to contrast with, but the write-oriented 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative guidance. The only sibling that overlaps (legal_get_theme) is never referenced, and no prerequisite like fetching current theme first is mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_render_documentA
Render a document to normalized HTML without saving. Useful to preview the heading hierarchy and slug ids before writing.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Document type | |
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: 'without saving' explicitly declares the non-mutating behavior, and it discloses what comes back (normalized HTML, heading hierarchy, slug ids) even though there is no output schema. It omits richer traits like whether it depends on stored content, error behavior, or any auth/permission needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with what the tool does and followed by the practical reason to call it. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only render/preview tool with no output schema, the description adequately covers action, side-effect status, and the shape of the returned content. What is missing is how the rendered output relates to the site/doc inputs and any failure or missing-document behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only 2 params (site, doc; doc's enum is fully enumerated), so the schema already documents them. The description adds no format or semantic detail about the parameters beyond what the schema provides, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Render a document to normalized HTML') and the key qualifier 'without saving', which separates it from write-side siblings like legal_put_document. It does not name a sibling explicitly, so sibling 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Useful to preview the heading hierarchy and slug ids before writing' gives a clear context of use and timing relative to the write path. It stops short of naming an alternative tool or stating exclusions, so it is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_reset_accessibility_reportA
Clear the markup repair report, e.g. after fixing the source, so new page views record afresh. Requires cvrt-legal 0.9.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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 destructive effect (the report is cleared so future views record afresh) and a prerequisite version (cvrt-legal 0.9.0+), which is useful. It does not state whether the reset is reversible or what the response looks like, so a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, action first, then rationale and prerequisite. 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.
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 covers purpose, timing, effect, and a version prerequisite. It is nearly complete, missing only reversibility/return-shape detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter with 100% schema coverage, where the schema already documents 'site' and points to list_sites. Baseline 3 applies since the description adds no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (clear/reset) and resource (the markup repair report), which distinguishes it from the sibling reader legal_get_accessibility_report. It does not explicitly name that sibling, but the read/write contrast is inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"e.g. after fixing the source, so new page views record afresh" gives a concrete trigger condition for when to use it. No alternatives or when-not scenarios are named, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_restore_generatorA
Restore a generated document to how it was before the generator first wrote it, and stop generating it. Requires cvrt-legal 0.7.0+.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Generated document: impressum, datenschutz or barrierefreiheit (BFSG statement, cvrt-legal 0.9.0+) | |
| site | Yes | Site id (see list_sites) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It usefully discloses that the document is reverted and generation stops, plus a real prerequisite ('Requires cvrt-legal 0.7.0+'). However it omits permission requirements, whether the revert is reversible, and what happens to the document body — key gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, action and effect front-loaded, with the version prerequisite trailing. Nothing is wasted and no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no output schema, the description covers purpose, effect, and a version prerequisite. It stops short of usage context and permission/reversibility details, leaving the agent partially equipped for a state-changing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'site' and 'doc' (with its enum and BFSG note) are already documented in the schema. The description adds no parameter-level meaning, so the baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (restore) and resource (a generated document) with a clear scope: reverting to the pre-generator state and halting generation. It implicitly contrasts with legal_put_generator but never names that sibling, so an agent must infer the routing itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'stop generating it' implies the tool is for undoing/opting out of generator output, but there is no explicit when-to-use, when-not-to-use, or named alternative among siblings like legal_put_generator or legal_render_document. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_statusA
Legal document status for a site: which documents are required, filled and published, plus a single compliant flag. Impressum and Datenschutz are always required; AGB and Widerruf become required when WooCommerce is active.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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 discloses domain rules (Impressum/Datenschutz always required, AGB/Widerruf conditional on WooCommerce) and a derived 'compliant' flag, which is useful. However it is silent on read-only nature, permissions, or caching/refresh behavior for a status-read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the result shape and followed by the domain rule. No filler, though the business-rule clause could be argued to belong in documentation rather than the tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, annotation-free read tool, the description covers its purpose, return contents, and key domain rules. It lacks only optional behavioral details (read-only guarantee, permission scope) to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, including a pointer to list_sites. The description adds no syntax or format detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (legal document status for a site) and lists exactly what it returns: which documents are required, filled, published, plus a compliant flag. Distinguishes from siblings like legal_get_document or legal_list_documents, which deal with content rather than status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is a status/overview check via the document state list, but it names no alternatives and gives no when-to-use/when-not guidance. The condition 'AGB and Widerruf become required when WooCommerce is active' hints at context but is not an invocation guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_update_sectionB
Update a section. The slug is never rewritten, so shortcodes already placed on a page keep working when a heading is renamed.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Document type | |
| body | No | ||
| site | Yes | Site id (see list_sites) | |
| slug | Yes | Section slug | |
| level | No | ||
| heading | No |
TDQS
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 that the slug is never rewritten and shortcodes remain intact when a heading is renamed, but it does not say whether updates are partial or destructive, what permissions are needed, or how omitted fields are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero wasted words. The core action is front-loaded, and the behavioral detail follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with six parameters, no annotations, no output schema, and only 50% schema description coverage, the description is too thin. It explains one slug behavior but omits update semantics, field requirements, and failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with doc, site, and slug documented in the schema. The description adds meaning for slug and heading by explaining slug immutability during heading renames, but it does not clarify body, level, or how doc/site interact with the update.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Update a section.' The purpose is clear, but it does not differentiate from sibling tools such as legal_add_section or legal_delete_section.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no explicit when-to-use or when-not-to-use guidance, and does not name alternatives. The tool name implies update, but the description offers no routing or prerequisite context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legal_update_settingsB
Update cvrt-legal settings. github_token (PUC auto-updates on a private repo) is write-only: a blank value keeps the stored one. required_override forces a document required or not ({agb: false}).
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| github_token | No | GitHub token for plugin updates; blank keeps the stored one | |
| required_override | No | doc => required, overriding the WooCommerce rule |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It usefully discloses that github_token is write-only with a blank value preserving the stored token (PUC auto-updates on a private repo) and that required_override bypasses the WooCommerce rule, but it says nothing about permissions, side effects on settings not mentioned, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the purpose front-loaded and per-parameter caveats following. No filler, though the dense jargon ('cvrt-legal', 'PUC') assumes domain knowledge.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter mutation tool with a nested object, no annotations and no output schema, the description covers each parameter's special semantics but omits preconditions, scope of what gets overwritten, and result behavior. Adequate but with visible gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, which sets a baseline of 3, and the description goes beyond the schema by naming the PUC private-repo use case for github_token and giving a concrete example value ('{agb: false}') for the nested required_override map. This is genuine added meaning over the raw parameter definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Update cvrt-legal settings'), which is clearly distinguishable in intent from the read counterpart legal_get_settings. It does not, however, name or reference the sibling tools, so the agent must infer the pairing 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.
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 preconditions, and no mention of alternatives such as legal_update_section or legal_put_consent. Usage is only implied by the name and by the parameter notes.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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_widgetC
Add a widget to a sidebar
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| position | No | Position in sidebar | |
| settings | No | Widget settings | |
| sidebar_id | Yes | Target sidebar ID | |
| widget_type | Yes | Widget type (e.g., text, search) |
TDQS
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.
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.
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.
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.
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.
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_termsC
Assign taxonomy terms to a post
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| terms | Yes | Array of term IDs | |
| append | No | Append to existing terms (false = replace) | |
| post_id | Yes | Post ID | |
| taxonomy | Yes | Taxonomy name |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Array of media IDs to delete | |
| site | Yes | Site id (see list_sites) | |
| force | No | Permanently delete |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| keys | Yes | Array of option names | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID | |
| role | Yes | New role (administrator, editor, author, contributor, subscriber) | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| keep | No | Revisions to keep per post | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| meta | No | Post meta key-value pairs | |
| site | Yes | Site id (see list_sites) | |
| type | Yes | Post type name | |
| title | Yes | Post title | |
| status | No | Post status | draft |
| content | No | Post content |
TDQS
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.
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.
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.
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.
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.
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_termC
Create a term in any taxonomy
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Term name | |
| site | Yes | Site id (see list_sites) | |
| slug | No | URL slug | |
| parent | No | Parent term ID (for hierarchical taxonomies) | |
| taxonomy | Yes | Taxonomy name | |
| description | No | Term description |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | User role | subscriber |
| site | Yes | Site id (see list_sites) | |
| Yes | Email address | ||
| password | No | Password (auto-generated if omitted) | |
| username | Yes | Login username | |
| last_name | No | Last name | |
| first_name | No | First name | |
| send_notification | No | Send welcome email |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post ID | |
| site | Yes | Site id (see list_sites) | |
| type | Yes | Post type name | |
| force | No | Skip trash and permanently delete |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Media ID | |
| site | Yes | Site id (see list_sites) | |
| force | No | Permanently delete |
TDQS
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.
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.
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.
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.
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.
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_optionC
Delete an option
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Option name | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Term ID | |
| site | Yes | Site id (see list_sites) | |
| taxonomy | Yes | Taxonomy name |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| stylesheet | Yes | Theme folder name |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID to delete | |
| site | Yes | Site id (see list_sites) | |
| reassign | No | User ID to reassign content to |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| widget_id | Yes | Widget ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post/page ID | |
| site | Yes | Site id (see list_sites) | |
| fields | No | Comma-separated setting keys to include (empty = all) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Template post ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post/page ID | |
| site | Yes | Site id (see list_sites) | |
| element_id | Yes | Elementor element ID (8-char hex) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post/page ID | |
| site | Yes | Site id (see list_sites) | |
| fields | No | Comma-separated setting keys to include | |
| el_type | No | Filter by element type (container, widget) | |
| widget_type | No | Filter by widget type (heading, button, image, etc.) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post/page ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Media ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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_optionC
Get a single option value
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Option name | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| type | Yes | Post type name (e.g., product, testimonial) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| sidebar_id | Yes | Sidebar ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| taxonomy | Yes | Taxonomy name (e.g., category, product_cat) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| widget_id | Yes | Widget ID (e.g., text-2) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| slug | Yes | Plugin slug from WordPress.org | |
| activate | No | Activate after install |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to plugin ZIP file | |
| site | Yes | Site id (see list_sites) | |
| activate | No | Activate after install | |
| overwrite | No | Overwrite if plugin already exists |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| slug | Yes | Theme slug from WordPress.org | |
| activate | No | Activate after install |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to theme ZIP file | |
| site | Yes | Site id (see list_sites) | |
| activate | No | Activate after install | |
| overwrite | No | Overwrite if theme already exists |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| site | Yes | Site id (see list_sites) | |
| type | Yes | Post type name | |
| order | No | Sort direction | DESC |
| status | No | Post status filter | any |
| orderby | No | Order by field | date |
| per_page | No | Posts per page |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| type | No | Filter by type (header, footer, single, archive, loop-item, page, popup) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| site | Yes | Site id (see list_sites) | |
| order | No | Sort direction | DESC |
| search | No | Search term | |
| orderby | No | Order by field | date |
| per_page | No | Items per page | |
| mime_type | No | Filter by MIME type (image, video, audio, application) |
TDQS
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.
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.
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.
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.
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.
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_optionsB
List WordPress options with optional prefix filter
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| prefix | No | Filter by option name prefix | |
| per_page | No | Results per page |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| parent | No | Parent term ID (for hierarchical) | |
| search | No | Search term names | |
| taxonomy | Yes | Taxonomy name | |
| hide_empty | No | Hide terms with no posts |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| role | No | Filter by role (administrator, editor, etc.) | |
| site | Yes | Site id (see list_sites) | |
| order | No | Sort direction | DESC |
| search | No | Search by name or email | |
| orderby | No | Order by field | registered |
| per_page | No | Users per page |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| position | No | Position in target sidebar | |
| widget_id | Yes | Widget ID | |
| sidebar_id | Yes | Target sidebar ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Image media ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| sidebar_id | Yes | Sidebar ID | |
| widget_ids | Yes | Ordered list of widget IDs |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| hook | Yes | Cron hook name to run | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| setting | No | Setting key to search in | |
| contains | No | Text to search for in setting values | |
| per_page | No | Max results | |
| post_type | No | Limit to specific post type | any |
| widget_type | No | Filter by widget type (heading, button, image, etc.) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| search | Yes | Search query | |
| per_page | No | Results per page |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| search | Yes | String to search for | |
| tables | No | Specific tables (empty = all) | |
| dry_run | No | Preview without applying | |
| replace | Yes | Replacement string |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| search | Yes | Search query | |
| per_page | No | Results per page |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Option name | |
| site | Yes | Site id (see list_sites) | |
| value | No | Option value (any type) | |
| autoload | No | Load on every page |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| alt | No | Alt text (for images) | |
| url | Yes | URL of the file to download and import | |
| site | Yes | Site id (see list_sites) | |
| title | No | Media title | |
| caption | No | Caption | |
| filename | No | Override filename |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post ID | |
| meta | No | Post meta key-value pairs | |
| site | Yes | Site id (see list_sites) | |
| type | Yes | Post type name | |
| title | No | Post title | |
| status | No | Post status | |
| content | No | Post content |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post/page ID | |
| site | Yes | Site id (see list_sites) | |
| settings | Yes | Settings to merge into (or, with settings_mode replace, to become) the element's settings | |
| element_id | Yes | Elementor element ID | |
| widget_type | No | Replace the widget type in place (cvrt-mcp-endpoints 1.13.0+). Widgets only, not containers. | |
| settings_mode | No | merge (default) or replace: settings become the element's complete settings |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| settings | Yes | Kit settings to merge |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post/page ID | |
| site | Yes | Site id (see list_sites) | |
| settings | Yes | Settings to merge |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Media ID | |
| alt | No | Alt text | |
| site | Yes | Site id (see list_sites) | |
| title | No | Title | |
| caption | No | Caption | |
| description | No | Description |
TDQS
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.
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.
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.
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.
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.
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_pluginC
Update a single plugin to latest version
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| plugin | Yes | Plugin file path (e.g., akismet/akismet.php) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Term ID | |
| name | No | Term name | |
| site | Yes | Site id (see list_sites) | |
| slug | No | URL slug | |
| parent | No | Parent term ID | |
| taxonomy | Yes | Taxonomy name | |
| description | No | Term description |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| stylesheet | Yes | Theme folder name |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID | |
| site | Yes | Site id (see list_sites) | |
| No | Email address | ||
| password | No | New password | |
| last_name | No | Last name | |
| first_name | No | First name |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID | |
| meta | Yes | Meta key-value pairs to set | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| settings | Yes | Settings to update | |
| widget_id | Yes | Widget ID |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| updates | Yes | Bulk update payload (e.g. { posts: [{ id, ...meta }] }) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| redirect | Yes | Redirect fields (source, target, type, ...) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Monitor log entry ID | |
| site | Yes | Site id (see list_sites) | |
| redirect | No | Redirect fields (target, type, ...) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Redirect ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Term ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Redirect ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Term ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | CSV import payload | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Migration payload (source plugin, options to migrate, ...) | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Redirects import payload | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Settings payload to import | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| urls | No | URLs to submit |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| params | Yes | Keyword-check inputs |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| params | No | Query params (page, per_page, search, ...) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| params | No | Query params (page, per_page, post_type, search, ...) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| params | No | Query params (page, per_page, search, ...) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post ID | |
| meta | Yes | SEO meta fields to set | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Redirect ID | |
| site | Yes | Site id (see list_sites) | |
| redirect | Yes | Redirect fields to change |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| settings | Yes | Partial settings object to merge |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Term ID | |
| meta | Yes | SEO meta fields to set | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Order ID | |
| note | Yes | Note content | |
| site | Yes | Site id (see list_sites) | |
| customer_note | No | Send to customer |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| products | Yes | Array of products with stock updates |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Attribute name | |
| site | Yes | Site id (see list_sites) | |
| slug | No | ||
| type | No | select | |
| order_by | No | menu_order | |
| has_archives | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Term name | |
| site | Yes | Site id (see list_sites) | |
| slug | No | ||
| attribute_id | Yes | Attribute ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Category name | |
| site | Yes | Site id (see list_sites) | |
| slug | No | ||
| parent | No | ||
| image_id | No | ||
| description | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Coupon code | |
| site | Yes | Site id (see list_sites) | |
| amount | No | 0 | |
| product_ids | No | ||
| usage_limit | No | ||
| date_expires | No | Expiry date (YYYY-MM-DD) | |
| discount_type | No | fixed_cart | |
| free_shipping | No | ||
| individual_use | No | ||
| maximum_amount | No | ||
| minimum_amount | No | ||
| excluded_product_ids | No | ||
| usage_limit_per_user | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| Yes | Customer email | ||
| billing | No | ||
| password | No | ||
| shipping | No | ||
| username | No | ||
| last_name | No | ||
| first_name | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | ||
| name | Yes | Product name | |
| site | Yes | Site id (see list_sites) | |
| tags | No | ||
| type | No | simple | |
| images | No | ||
| status | No | publish | |
| meta_data | No | ||
| attributes | No | ||
| categories | No | ||
| sale_price | No | ||
| description | No | ||
| manage_stock | No | ||
| stock_status | No | instock | |
| regular_price | No | ||
| stock_quantity | No | ||
| short_description | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | ||
| site | Yes | Site id (see list_sites) | |
| attributes | Yes | Variation attributes | |
| product_id | Yes | Parent product ID | |
| sale_price | No | ||
| manage_stock | No | ||
| stock_status | No | instock | |
| regular_price | No | ||
| stock_quantity | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Category ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coupon ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product ID | |
| site | Yes | Site id (see list_sites) | |
| force | No | Force delete (skip trash) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| product_id | Yes | Parent product ID | |
| variation_id | Yes | Variation ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coupon ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Customer ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Customer ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Order ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Order ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| attribute_id | Yes | Attribute ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| parent | No | ||
| hide_empty | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| site | Yes | Site id (see list_sites) | |
| search | No | ||
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| role | No | customer | |
| site | Yes | Site id (see list_sites) | |
| search | No | ||
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| site | Yes | Site id (see list_sites) | |
| after | No | Orders after date (YYYY-MM-DD) | |
| before | No | Orders before date (YYYY-MM-DD) | |
| status | No | any | |
| product | No | Product ID | |
| customer | No | Customer ID | |
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Tag ID | |
| page | No | ||
| site | Yes | Site id (see list_sites) | |
| type | No | ||
| order | No | desc | |
| search | No | ||
| status | No | any | |
| on_sale | No | ||
| orderby | No | date | |
| category | No | Category ID | |
| featured | No | ||
| per_page | No | ||
| stock_status | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| product_id | Yes | Parent product ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| period | No | month | |
| date_max | No | End date (YYYY-MM-DD) | |
| date_min | No | Start date (YYYY-MM-DD) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| limit | No | ||
| status | No | lowstock |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| limit | No | ||
| period | No | month |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Category ID | |
| name | No | ||
| site | Yes | Site id (see list_sites) | |
| slug | No | ||
| parent | No | ||
| image_id | No | ||
| description | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Coupon ID | |
| code | No | ||
| site | Yes | Site id (see list_sites) | |
| amount | No | ||
| product_ids | No | ||
| usage_limit | No | ||
| date_expires | No | ||
| discount_type | No | ||
| free_shipping | No | ||
| individual_use | No | ||
| maximum_amount | No | ||
| minimum_amount | No | ||
| excluded_product_ids | No | ||
| usage_limit_per_user | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Customer ID | |
| site | Yes | Site id (see list_sites) | |
| No | |||
| billing | No | ||
| shipping | No | ||
| last_name | No | ||
| first_name | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Order ID | |
| note | No | Optional status change note | |
| site | Yes | Site id (see list_sites) | |
| status | Yes | New status (pending, processing, on-hold, completed, cancelled, refunded, failed) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product ID | |
| sku | No | ||
| name | No | ||
| site | Yes | Site id (see list_sites) | |
| tags | No | ||
| status | No | ||
| meta_data | No | ||
| categories | No | ||
| sale_price | No | ||
| description | No | ||
| manage_stock | No | ||
| stock_status | No | ||
| regular_price | No | ||
| stock_quantity | No | ||
| short_description | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product ID | |
| meta | Yes | Meta key-value pairs | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | ||
| site | Yes | Site id (see list_sites) | |
| attributes | No | ||
| product_id | Yes | Parent product ID | |
| sale_price | No | ||
| manage_stock | No | ||
| stock_status | No | ||
| variation_id | Yes | Variation ID | |
| regular_price | No | ||
| stock_quantity | No |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| plugin | Yes | Plugin file path, e.g. akismet/akismet.php |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| stylesheet | Yes | Theme stylesheet (folder name) to activate |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Category name | |
| site | Yes | Site id (see list_sites) | |
| slug | No | URL slug | |
| parent | No | Parent category ID | |
| description | No | Description |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| post | Yes | Post ID | |
| site | Yes | Site id (see list_sites) | |
| parent | No | Parent comment ID (for replies) | |
| content | Yes | Comment content | |
| author_name | No | Author name (if not logged in) | |
| author_email | No | Author email (if not logged in) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| title | Yes | Page title | |
| parent | No | Parent page ID | |
| status | No | Page status | draft |
| content | No | Page content (HTML) | |
| menu_order | No | Menu order |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| tags | No | Tag IDs | |
| title | Yes | Post title | |
| status | No | Post status | draft |
| content | No | Post content (HTML) | |
| excerpt | No | Post excerpt | |
| categories | No | Category IDs | |
| featured_media | No | Featured image ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Tag name | |
| site | Yes | Site id (see list_sites) | |
| slug | No | URL slug | |
| description | No | Description |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Display name | |
| site | Yes | Site id (see list_sites) | |
| Yes | Email address | ||
| roles | No | Roles (e.g., ['editor']) | |
| password | Yes | Password | |
| username | Yes | Username (login name) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| plugin | Yes | Plugin file path, e.g. akismet/akismet.php |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Category ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Comment ID | |
| site | Yes | Site id (see list_sites) | |
| force | No | Bypass trash and delete permanently |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Media ID | |
| site | Yes | Site id (see list_sites) | |
| force | No | Permanently delete (bypass trash) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Page ID | |
| site | Yes | Site id (see list_sites) | |
| force | No | Bypass trash and delete permanently |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| plugin | Yes | Plugin file path, e.g. akismet/akismet.php |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post ID | |
| site | Yes | Site id (see list_sites) | |
| force | No | Bypass trash and delete permanently |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Tag ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID to delete | |
| site | Yes | Site id (see list_sites) | |
| reassign | Yes | User ID to reassign content to |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Comment ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Media ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Page ID | |
| site | Yes | Site id (see list_sites) | |
| content | No | Include full content |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| plugin | Yes | Plugin identifier (e.g., 'akismet/akismet.php') |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post ID | |
| site | Yes | Site id (see list_sites) | |
| content | No | Include full content |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| stylesheet | Yes | Theme stylesheet (folder name) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID | |
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| parent | No | Parent category ID (0 for top-level) | |
| per_page | No | Categories per page | |
| hide_empty | No | Hide categories with no posts |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| post | No | Filter by post ID | |
| site | Yes | Site id (see list_sites) | |
| status | No | Comment status | |
| per_page | No | Comments per page |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| site | Yes | Site id (see list_sites) | |
| search | No | Search term | |
| per_page | No | Items per page (max 100) | |
| media_type | No | Filter by type |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| site | Yes | Site id (see list_sites) | |
| order | No | asc | |
| parent | No | Parent page ID (0 for top-level) | |
| status | No | Page status filter | |
| orderby | No | menu_order | |
| per_page | No | Pages per request (max 100) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| status | No | Filter by status |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| site | Yes | Site id (see list_sites) | |
| tags | No | Tag ID(s), comma-separated | |
| order | No | desc | |
| author | No | Author ID | |
| search | No | Search term | |
| status | No | Post status filter | |
| orderby | No | date | |
| per_page | No | Posts per page (max 100) | |
| categories | No | Category ID(s), comma-separated |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| search | No | Search term | |
| per_page | No | Tags per page | |
| hide_empty | No | Hide tags with no posts |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| status | No | Filter by status |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| site | Yes | Site id (see list_sites) | |
| roles | No | Filter by role(s), comma-separated | |
| search | No | Search by name or email | |
| per_page | No | Users per page (max 100) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Comment IDs | |
| site | Yes | Site id (see list_sites) | |
| status | Yes | New status |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| search | Yes | Search term | |
| per_page | No | Results per page |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Category ID | |
| name | No | Category name | |
| site | Yes | Site id (see list_sites) | |
| slug | No | URL slug | |
| parent | No | Parent category ID | |
| description | No | Description |
TDQS
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.
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.
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.
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.
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.
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.)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Comment ID | |
| site | Yes | Site id (see list_sites) | |
| status | No | Comment status | |
| content | No | Comment content |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Media ID | |
| site | Yes | Site id (see list_sites) | |
| title | No | Title | |
| caption | No | Caption | |
| alt_text | No | Alt text for images | |
| description | No | Description |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Page ID | |
| site | Yes | Site id (see list_sites) | |
| title | No | Page title | |
| parent | No | Parent page ID | |
| status | No | Page status | |
| content | No | Page content (HTML) | |
| menu_order | No | Menu order |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Post ID | |
| site | Yes | Site id (see list_sites) | |
| tags | No | Tag IDs | |
| title | No | Post title | |
| status | No | Post status | |
| content | No | Post content (HTML) | |
| excerpt | No | Post excerpt | |
| categories | No | Category IDs | |
| featured_media | No | Featured image ID |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Site id (see list_sites) | |
| title | No | Site title | |
| description | No | Site tagline/description | |
| timezone_string | No | Timezone (e.g., Europe/Berlin) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Tag ID | |
| name | No | Tag name | |
| site | Yes | Site id (see list_sites) | |
| slug | No | URL slug | |
| description | No | Description |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User ID | |
| name | No | Display name | |
| site | Yes | Site id (see list_sites) | |
| No | Email address | ||
| roles | No | Roles | |
| password | No | New password |
TDQS
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.
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.
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.
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.
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.
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.
277 tool updates
v3.4.0- Changed
acf_create_field_group2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "title", - "fields" -]New value: +[ + "site", + "title", + "fields" +]
- Changed
acf_delete_field_group2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "key" -]New value: +[ + "site", + "key" +]
- Changed
acf_export_field_group2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "key" -]New value: +[ + "site", + "key" +]
- Changed
acf_get_field_group2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "key" -]New value: +[ + "site", + "key" +]
- Changed
acf_get_post_field2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "post_id", - "field" -]New value: +[ + "site", + "post_id", + "field" +]
- Changed
acf_get_post_fields2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "post_id" -]New value: +[ + "site", + "post_id" +]
- Changed
acf_import_field_groups2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "groups" -]New value: +[ + "site", + "groups" +]
- Changed
acf_list_field_groups3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
acf_update_field_group2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "key" -]New value: +[ + "site", + "key" +]
- Changed
acf_update_post_field2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "post_id", - "field" -]New value: +[ + "site", + "post_id", + "field" +]
- Changed
acf_update_post_fields2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "post_id", - "fields" -]New value: +[ + "site", + "post_id", + "fields" +]
- Added
fields_create_definition - Added
fields_delete_definition - Added
fields_get_definition - Added
fields_get_location_values - Added
fields_get_schema - Added
fields_get_settings - Added
fields_list_definitions - Added
fields_list_types - Added
fields_status - Added
fields_sync_definition - Added
fields_update_definition - Added
fields_update_settings - Added
fulfillment_fulfill_order - Added
fulfillment_get_settings - Added
fulfillment_queue - Added
fulfillment_reprint_job - Added
fulfillment_status - Added
fulfillment_update_apply - Added
fulfillment_update_check - Added
fulfillment_update_settings - Added
legal_add_section - Added
legal_consent_log_export - Added
legal_consent_log_get - Added
legal_consent_log_stats - Added
legal_delete_section - Added
legal_get_accessibility - Added
legal_get_accessibility_report - Added
legal_get_consent - Added
legal_get_document - Added
legal_get_facts - Added
legal_get_generator - Added
legal_get_generator_library - Added
legal_get_page - Added
legal_get_settings - Added
legal_get_social - Added
legal_get_social_modules - Added
legal_get_theme - Added
legal_link_page - Added
legal_list_documents - Added
legal_put_accessibility - Added
legal_put_consent - Added
legal_put_document - Added
legal_put_facts - Added
legal_put_generator - Added
legal_put_generator_library - Added
legal_put_social - Added
legal_put_social_modules - Added
legal_put_theme - Added
legal_render_document - Added
legal_reset_accessibility_report - Added
legal_restore_generator - Added
legal_status - Added
legal_update_section - Added
legal_update_settings - Added
list_sites - Changed
mcp_add_menu_item2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "menu_id", - "title" -]New value: +[ + "site", + "menu_id", + "title" +]
- Changed
mcp_add_widget2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "sidebar_id", - "widget_type" -]New value: +[ + "site", + "sidebar_id", + "widget_type" +]
- Changed
mcp_assign_menu_location2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "menu_id", - "location" -]New value: +[ + "site", + "menu_id", + "location" +]
- Changed
mcp_assign_terms2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "post_id", - "taxonomy", - "terms" -]New value: +[ + "site", + "post_id", + "taxonomy", + "terms" +]
- Changed
mcp_bulk_delete_media2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "ids" -]New value: +[ + "site", + "ids" +]
- Changed
mcp_bulk_get_options2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "keys" -]New value: +[ + "site", + "keys" +]
- Changed
mcp_change_user_role2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id", - "role" -]New value: +[ + "site", + "id", + "role" +]
- Changed
mcp_check_updates3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_clean_comments3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_clean_revisions2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_create_cpt_post2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "type", - "title" -]New value: +[ + "site", + "type", + "title" +]
- Changed
mcp_create_menu2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "name" -]New value: +[ + "site", + "name" +]
- Changed
mcp_create_term2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "taxonomy", - "name" -]New value: +[ + "site", + "taxonomy", + "name" +]
- Changed
mcp_create_user2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "username", - "email" -]New value: +[ + "site", + "username", + "email" +]
- Changed
mcp_delete_cpt_post2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "type", - "id" -]New value: +[ + "site", + "type", + "id" +]
- Changed
mcp_delete_media2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_delete_menu2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_delete_menu_item2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "item_id" -]New value: +[ + "site", + "item_id" +]
- Changed
mcp_delete_option2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "key" -]New value: +[ + "site", + "key" +]
- Changed
mcp_delete_term2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "taxonomy", - "id" -]New value: +[ + "site", + "taxonomy", + "id" +]
- Changed
mcp_delete_theme2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "stylesheet" -]New value: +[ + "site", + "stylesheet" +]
- Changed
mcp_delete_user2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_delete_widget2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "widget_id" -]New value: +[ + "site", + "widget_id" +]
- Changed
mcp_flush_cache3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_flush_rewrite3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_cron_status3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_debug_info3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_elementor_build2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_get_elementor_conditions2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_get_elementor_element2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id", - "element_id" -]New value: +[ + "site", + "id", + "element_id" +]
- Changed
mcp_get_elementor_flat2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_get_elementor_kit3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_elementor_page_settings2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_get_health3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_media2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_get_media_stats3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_menu2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_get_menu_locations3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_option2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "key" -]New value: +[ + "site", + "key" +]
- Changed
mcp_get_php_info3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_plugins_health3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_post_type2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "type" -]New value: +[ + "site", + "type" +]
- Changed
mcp_get_sidebar_widgets2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "sidebar_id" -]New value: +[ + "site", + "sidebar_id" +]
- Changed
mcp_get_system_info3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_tables3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_taxonomy2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "taxonomy" -]New value: +[ + "site", + "taxonomy" +]
- Changed
mcp_get_user2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_get_user_meta2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_get_version3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_get_widget2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "widget_id" -]New value: +[ + "site", + "widget_id" +]
- Changed
mcp_install_plugin2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "slug" -]New value: +[ + "site", + "slug" +]
- Changed
mcp_install_plugin_zip2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "url" -]New value: +[ + "site", + "url" +]
- Changed
mcp_install_theme2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "slug" -]New value: +[ + "site", + "slug" +]
- Changed
mcp_install_theme_zip2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "url" -]New value: +[ + "site", + "url" +]
- Changed
mcp_list_cpt_posts2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "type" -]New value: +[ + "site", + "type" +]
- Changed
mcp_list_elementor_templates2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_list_media2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_list_menus3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_list_options2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_list_post_types3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_list_roles3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_list_sidebars3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_list_taxonomies3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_list_terms2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "taxonomy" -]New value: +[ + "site", + "taxonomy" +]
- Changed
mcp_list_users2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_list_widget_types3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_move_widget2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "widget_id", - "sidebar_id" -]New value: +[ + "site", + "widget_id", + "sidebar_id" +]
- Changed
mcp_optimize_tables3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_regenerate_thumbnails2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_reorder_widgets2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "sidebar_id", - "widget_ids" -]New value: +[ + "site", + "sidebar_id", + "widget_ids" +]
- Changed
mcp_run_cron2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "hook" -]New value: +[ + "site", + "hook" +]
- Changed
mcp_search_elementor2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_search_plugins2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "search" -]New value: +[ + "site", + "search" +]
- Changed
mcp_search_replace2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "search", - "replace" -]New value: +[ + "site", + "search", + "replace" +]
- Changed
mcp_search_themes2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "search" -]New value: +[ + "site", + "search" +]
- Changed
mcp_set_option2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "key" -]New value: +[ + "site", + "key" +]
- Changed
mcp_sideload_media2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "url" -]New value: +[ + "site", + "url" +]
- Changed
mcp_update_all_plugins3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_update_all_themes3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_update_core3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
mcp_update_cpt_post2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "type", - "id" -]New value: +[ + "site", + "type", + "id" +]
- Changed
mcp_update_elementor_element5 fields changed- changed
Input schema / properties / settings / descriptionPrevious value: -"Settings to merge into the element"New value: +"Settings to merge into (or, with settings_mode replace, to become) the element's settings" - added
Input schema / properties / settings_modeAdded value: +{ + "description": "merge (default) or replace: settings become the element's complete settings", + "enum": [ + "merge", + "replace" + ], + "type": "string" +} - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / properties / widget_typeAdded 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" +} - changed
Input schema / requiredPrevious value: -[ - "id", - "element_id", - "settings" -]New value: +[ + "site", + "id", + "element_id", + "settings" +]
- Changed
mcp_update_elementor_kit2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "settings" -]New value: +[ + "site", + "settings" +]
- Changed
mcp_update_elementor_page_settings2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id", - "settings" -]New value: +[ + "site", + "id", + "settings" +]
- Changed
mcp_update_media2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_update_menu2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id", - "name" -]New value: +[ + "site", + "id", + "name" +]
- Changed
mcp_update_menu_item2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "item_id" -]New value: +[ + "site", + "item_id" +]
- Changed
mcp_update_plugin2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "plugin" -]New value: +[ + "site", + "plugin" +]
- Changed
mcp_update_term2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "taxonomy", - "id" -]New value: +[ + "site", + "taxonomy", + "id" +]
- Changed
mcp_update_theme2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "stylesheet" -]New value: +[ + "site", + "stylesheet" +]
- Changed
mcp_update_user2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
mcp_update_user_meta2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id", - "meta" -]New value: +[ + "site", + "id", + "meta" +]
- Changed
mcp_update_widget2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "widget_id", - "settings" -]New value: +[ + "site", + "widget_id", + "settings" +]
- Added
seo_bulk_update_posts_seo - Added
seo_clear_monitor_log - Added
seo_create_redirect - Added
seo_create_redirect_from_log - Added
seo_delete_post_seo - Added
seo_delete_redirect - Added
seo_delete_term_seo - Added
seo_export_csv - Added
seo_export_redirects - Added
seo_export_settings - Added
seo_get_post_analysis - Added
seo_get_post_seo - Added
seo_get_redirect - Added
seo_get_settings - Added
seo_get_term_seo - Added
seo_import_csv - Added
seo_import_migrate - Added
seo_import_redirects - Added
seo_import_settings - Added
seo_indexnow_ping - Added
seo_keyword_check - Added
seo_list_monitor_log - Added
seo_list_posts_seo - Added
seo_list_redirects - Added
seo_sitemap_ping - Added
seo_sitemap_status - Added
seo_status - Added
seo_update_post_seo - Added
seo_update_redirect - Added
seo_update_settings - Added
seo_update_term_seo - Changed
woo_add_order_note2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id", - "note" -]New value: +[ + "site", + "id", + "note" +]
- Changed
woo_bulk_update_stock2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "products" -]New value: +[ + "site", + "products" +]
- Changed
woo_create_attribute2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "name" -]New value: +[ + "site", + "name" +]
- Changed
woo_create_attribute_term2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "attribute_id", - "name" -]New value: +[ + "site", + "attribute_id", + "name" +]
- Changed
woo_create_category2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "name" -]New value: +[ + "site", + "name" +]
- Changed
woo_create_coupon2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "code" -]New value: +[ + "site", + "code" +]
- Changed
woo_create_customer2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "email" -]New value: +[ + "site", + "email" +]
- Changed
woo_create_product2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "name" -]New value: +[ + "site", + "name" +]
- Changed
woo_create_variation2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "product_id", - "attributes" -]New value: +[ + "site", + "product_id", + "attributes" +]
- Changed
woo_delete_category2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_delete_coupon2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_delete_product2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_delete_variation2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "product_id", - "variation_id" -]New value: +[ + "site", + "product_id", + "variation_id" +]
- Changed
woo_get_coupon2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_get_customer2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_get_customer_orders2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_get_order2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_get_order_notes2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_get_product2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_get_product_meta2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_list_attribute_terms2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "attribute_id" -]New value: +[ + "site", + "attribute_id" +]
- Changed
woo_list_attributes3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
woo_list_categories2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
woo_list_coupons2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
woo_list_customers2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
woo_list_orders2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
woo_list_products2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
woo_list_tags3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
woo_list_variations2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "product_id" -]New value: +[ + "site", + "product_id" +]
- Changed
woo_sales_report2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
woo_stock_report2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
woo_top_sellers2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
woo_update_category2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_update_coupon2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_update_customer2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_update_order_status2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id", - "status" -]New value: +[ + "site", + "id", + "status" +]
- Changed
woo_update_product2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
woo_update_product_meta2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id", - "meta" -]New value: +[ + "site", + "id", + "meta" +]
- Changed
woo_update_variation2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "product_id", - "variation_id" -]New value: +[ + "site", + "product_id", + "variation_id" +]
- Changed
wp_activate_plugin3 fields changed- changed
Input schema / properties / plugin / descriptionPrevious value: -"Plugin identifier (e.g., 'akismet/akismet.php')"New value: +"Plugin file path, e.g. akismet/akismet.php" - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "plugin" -]New value: +[ + "site", + "plugin" +]
- Changed
wp_activate_theme2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "stylesheet" -]New value: +[ + "site", + "stylesheet" +]
- Changed
wp_create_category2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "name" -]New value: +[ + "site", + "name" +]
- Changed
wp_create_comment2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "post", - "content" -]New value: +[ + "site", + "post", + "content" +]
- Changed
wp_create_page2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "title" -]New value: +[ + "site", + "title" +]
- Changed
wp_create_post2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "title" -]New value: +[ + "site", + "title" +]
- Changed
wp_create_tag2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "name" -]New value: +[ + "site", + "name" +]
- Changed
wp_create_user2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "username", - "email", - "password" -]New value: +[ + "site", + "username", + "email", + "password" +]
- Changed
wp_deactivate_plugin3 fields changed- changed
Input schema / properties / plugin / descriptionPrevious value: -"Plugin identifier (e.g., 'akismet/akismet.php')"New value: +"Plugin file path, e.g. akismet/akismet.php" - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "plugin" -]New value: +[ + "site", + "plugin" +]
- Changed
wp_delete_category2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_delete_comment2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_delete_media2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_delete_page2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_delete_plugin3 fields changed- changed
Input schema / properties / plugin / descriptionPrevious value: -"Plugin identifier (e.g., 'akismet/akismet.php')"New value: +"Plugin file path, e.g. akismet/akismet.php" - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "plugin" -]New value: +[ + "site", + "plugin" +]
- Changed
wp_delete_post2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_delete_tag2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_delete_user2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id", - "reassign" -]New value: +[ + "site", + "id", + "reassign" +]
- Changed
wp_get_active_theme3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_get_comment2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_get_media2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_get_namespaces3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_get_page2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_get_plugin2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "plugin" -]New value: +[ + "site", + "plugin" +]
- Changed
wp_get_post2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_get_settings3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_get_theme2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "stylesheet" -]New value: +[ + "site", + "stylesheet" +]
- Changed
wp_get_user2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_list_categories2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_list_comments2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_list_media2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_list_pages2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_list_plugins2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_list_posts2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_list_tags2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_list_themes2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_list_users2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_me3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_moderate_comments2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "ids", - "status" -]New value: +[ + "site", + "ids", + "status" +]
- Changed
wp_search_posts2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "search" -]New value: +[ + "site", + "search" +]
- Changed
wp_site_info3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_update_category2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_update_comment2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_update_media2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_update_page2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_update_post2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_update_settings2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "site" +]
- Changed
wp_update_tag2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
- Changed
wp_update_user2 fields changed- added
Input schema / properties / siteAdded value: +{ + "description": "Site id (see list_sites)", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "id" -]New value: +[ + "site", + "id" +]
191 tool updates
v2.0.0- First observed
acf_create_field_group - First observed
acf_delete_field_group - First observed
acf_export_field_group - First observed
acf_get_field_group - First observed
acf_get_post_field - First observed
acf_get_post_fields - First observed
acf_import_field_groups - First observed
acf_list_field_groups - First observed
acf_update_field_group - First observed
acf_update_post_field - First observed
acf_update_post_fields - First observed
mcp_add_menu_item - First observed
mcp_add_widget - First observed
mcp_assign_menu_location - First observed
mcp_assign_terms - First observed
mcp_bulk_delete_media - First observed
mcp_bulk_get_options - First observed
mcp_change_user_role - First observed
mcp_check_updates - First observed
mcp_clean_comments - First observed
mcp_clean_revisions - First observed
mcp_create_cpt_post - First observed
mcp_create_menu - First observed
mcp_create_term - First observed
mcp_create_user - First observed
mcp_delete_cpt_post - First observed
mcp_delete_media - First observed
mcp_delete_menu - First observed
mcp_delete_menu_item - First observed
mcp_delete_option - First observed
mcp_delete_term - First observed
mcp_delete_theme - First observed
mcp_delete_user - First observed
mcp_delete_widget - First observed
mcp_flush_cache - First observed
mcp_flush_rewrite - First observed
mcp_get_cron_status - First observed
mcp_get_debug_info - First observed
mcp_get_elementor_build - First observed
mcp_get_elementor_conditions - First observed
mcp_get_elementor_element - First observed
mcp_get_elementor_flat - First observed
mcp_get_elementor_kit - First observed
mcp_get_elementor_page_settings - First observed
mcp_get_health - First observed
mcp_get_media - First observed
mcp_get_media_stats - First observed
mcp_get_menu - First observed
mcp_get_menu_locations - First observed
mcp_get_option - First observed
mcp_get_php_info - First observed
mcp_get_plugins_health - First observed
mcp_get_post_type - First observed
mcp_get_sidebar_widgets - First observed
mcp_get_system_info - First observed
mcp_get_tables - First observed
mcp_get_taxonomy - First observed
mcp_get_user - First observed
mcp_get_user_meta - First observed
mcp_get_version - First observed
mcp_get_widget - First observed
mcp_install_plugin - First observed
mcp_install_plugin_zip - First observed
mcp_install_theme - First observed
mcp_install_theme_zip - First observed
mcp_list_cpt_posts - First observed
mcp_list_elementor_templates - First observed
mcp_list_media - First observed
mcp_list_menus - First observed
mcp_list_options - First observed
mcp_list_post_types - First observed
mcp_list_roles - First observed
mcp_list_sidebars - First observed
mcp_list_taxonomies - First observed
mcp_list_terms - First observed
mcp_list_users - First observed
mcp_list_widget_types - First observed
mcp_move_widget - First observed
mcp_optimize_tables - First observed
mcp_regenerate_thumbnails - First observed
mcp_reorder_widgets - First observed
mcp_run_cron - First observed
mcp_search_elementor - First observed
mcp_search_plugins - First observed
mcp_search_replace - First observed
mcp_search_themes - First observed
mcp_set_option - First observed
mcp_sideload_media - First observed
mcp_update_all_plugins - First observed
mcp_update_all_themes - First observed
mcp_update_core - First observed
mcp_update_cpt_post - First observed
mcp_update_elementor_element - First observed
mcp_update_elementor_kit - First observed
mcp_update_elementor_page_settings - First observed
mcp_update_media - First observed
mcp_update_menu - First observed
mcp_update_menu_item - First observed
mcp_update_plugin - First observed
mcp_update_term - First observed
mcp_update_theme - First observed
mcp_update_user - First observed
mcp_update_user_meta - First observed
mcp_update_widget - First observed
woo_add_order_note - First observed
woo_bulk_update_stock - First observed
woo_create_attribute - First observed
woo_create_attribute_term - First observed
woo_create_category - First observed
woo_create_coupon - First observed
woo_create_customer - First observed
woo_create_product - First observed
woo_create_variation - First observed
woo_delete_category - First observed
woo_delete_coupon - First observed
woo_delete_product - First observed
woo_delete_variation - First observed
woo_get_coupon - First observed
woo_get_customer - First observed
woo_get_customer_orders - First observed
woo_get_order - First observed
woo_get_order_notes - First observed
woo_get_product - First observed
woo_get_product_meta - First observed
woo_list_attribute_terms - First observed
woo_list_attributes - First observed
woo_list_categories - First observed
woo_list_coupons - First observed
woo_list_customers - First observed
woo_list_orders - First observed
woo_list_products - First observed
woo_list_tags - First observed
woo_list_variations - First observed
woo_sales_report - First observed
woo_stock_report - First observed
woo_top_sellers - First observed
woo_update_category - First observed
woo_update_coupon - First observed
woo_update_customer - First observed
woo_update_order_status - First observed
woo_update_product - First observed
woo_update_product_meta - First observed
woo_update_variation - First observed
wp_activate_plugin - First observed
wp_activate_theme - First observed
wp_create_category - First observed
wp_create_comment - First observed
wp_create_page - First observed
wp_create_post - First observed
wp_create_tag - First observed
wp_create_user - First observed
wp_deactivate_plugin - First observed
wp_delete_category - First observed
wp_delete_comment - First observed
wp_delete_media - First observed
wp_delete_page - First observed
wp_delete_plugin - First observed
wp_delete_post - First observed
wp_delete_tag - First observed
wp_delete_user - First observed
wp_get_active_theme - First observed
wp_get_comment - First observed
wp_get_media - First observed
wp_get_namespaces - First observed
wp_get_page - First observed
wp_get_plugin - First observed
wp_get_post - First observed
wp_get_settings - First observed
wp_get_theme - First observed
wp_get_user - First observed
wp_list_categories - First observed
wp_list_comments - First observed
wp_list_media - First observed
wp_list_pages - First observed
wp_list_plugins - First observed
wp_list_posts - First observed
wp_list_tags - First observed
wp_list_themes - First observed
wp_list_users - First observed
wp_me - First observed
wp_moderate_comments - First observed
wp_search_posts - First observed
wp_site_info - First observed
wp_update_category - First observed
wp_update_comment - First observed
wp_update_media - First observed
wp_update_page - First observed
wp_update_post - First observed
wp_update_settings - First observed
wp_update_tag - First observed
wp_update_user
TDQS
Scored across 277 tools
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.
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.
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.
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
Related MCP Connectors
Manage WordPress blogs and WooCommerce shops from Claude, ChatGPT, Cursor and other MCP apps.
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
Secure MCP Server for WordPress connects AI assistants and agents to WordPress with secure, controlled access. It lets AI interact with WordPress through MCP while helping organizations manage access, enforce policies, protect non-human identities (NHI), and require human approval for sensitive actions. Use it to securely connect tools such as ChatGPT, Claude, and Cursor with WordPress. Marketplace Link: https://wordpress.org/plugins/miniorange-secure-mcp-server/ Official website: https://plugins.miniorange.com/mcp-server-ai-policy-enforcement-wordpress ChatGpt Marketplace: https://chatgpt.com/plugins/plugin_asdk_app_6a312802286c8191bad0a7278a4e53ef Claude Marketplace: https://claude.ai/directory/miniorange-mcp-for-wordpress Cursor Marketplace: https://cursor.com/marketplace/miniorange
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
Related MCP Servers
- AlicenseCqualityCmaintenanceEnables AI agents to manage WordPress sites with 190+ tools for content management, theme/plugin customization, file system operations, WooCommerce, and complete site control through natural language.100101 npm56MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage and interact with WordPress sites through MCP, providing tools for content creation, moderation, WooCommerce operations, and governance.47GPL 2.0
- AlicenseCqualityDmaintenanceEnables AI to manage WordPress sites with 190+ tools for complete control over content, themes, plugins, files, and more.100101 npmMIT
- FlicenseNot gradedqualityFmaintenanceEnables AI assistants to interact with a WordPress site, allowing content and taxonomy management (list, create, update, delete) through 17 MCP tools.2-