Skip to main content
Glama

Server Details

Manage WordPress and WooCommerce sites from any AI assistant. 150+ tools for creating posts, managing products and orders, monitoring site health, updating plugins and themes, working with Elementor and Divi page builders, and full WP-CLI emulation. Connect Claude, ChatGPT, Cursor, or any MCP client via OAuth.

Ownership verified
Status
Healthy
Uptime
38.7% over 23 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

B3.1/5.0

Scored across 111 tools

Disambiguation3/5

Tools are grouped by clear prefixes (wp_, woo_, elementor_, etc.) and each has a distinct verb+noun, but there is notable overlap in post-type CRUD (wp_create_post/page/custom_post) and content retrieval (wp_get_post/page/custom_post, wp_get_page_html, wp_navigate), which may require careful selection.

Naming Consistency4/5

Consistent snake_case with verb_noun pattern across most tools, but a few outliers like wp_site_health and woo_sales_report omit the verb, slightly breaking the convention.

Tool Count1/5

111 tools is far too many for a single MCP server; while comprehensive, it overwhelms the agent's selection process and violates the recommended 3-15 range, scoring lowest.

Completeness4/5

Covers a vast domain (WP core, WooCommerce, page builders, ACF, SEO, workflow), but lacks permanent delete, user creation/update, and menu creation, leaving minor gaps.

Available Tools

111 tools
acf_get_field_groupGet Field GroupA
Read-only
Inspect

Get a specific ACF field group with all its field definitions (name, type, label, required, choices, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesField group key (e.g. "group_abc123") or post ID
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered without the description. The description adds genuine value by enumerating the returned field attributes (name, type, label, required, choices), but says nothing about failure behavior for an invalid key or how the key/post-ID duality resolves.

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

Conciseness5/5

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

A single tight sentence that front-loads the action and resource before the parenthetical detail. Nothing is padded or redundant.

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

Completeness4/5

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

For a read-only lookup with full annotation coverage and no output schema, the description adequately conveys what is retrieved and the shape of the returned field definitions. Minor gaps remain around invalid-key handling, but the essential information an agent needs to call it is present.

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

Parameters3/5

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

Schema description coverage is 100%, so both the 'key' format (group_abc123 or post ID) and the optional 'site_id' are already documented in the schema. The description adds no meaning beyond that, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Get a specific ACF field group') and clarifies the payload ('all its field definitions'). The word 'specific' hints at single-item retrieval, but it does not name or contrast with the sibling acf_list_field_groups, so differentiation is left to inference.

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

Usage Guidelines3/5

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

Usage is only implied: the requirement of a 'key'-based lookup suggests retrieving one known group, and the sibling list tool is never mentioned. No explicit when-to-use or when-not-to-use guidance is given.

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

acf_get_optionsGet OptionsA
Read-only
Inspect

Get all ACF options page field values. Requires ACF Pro with options pages registered.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the ACF Pro/options-page prerequisite, but says nothing about behavior when no options pages exist or how many values come back.

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

Conciseness4/5

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

Two short sentences, front-loaded with the operation and followed by the only prerequisite. Nothing is wasted, though it is on the terse side.

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

Completeness4/5

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

For a single-optional-parameter read tool with no output schema, the description covers the operation, scope, and prerequisite. It could note what is returned when no options pages are registered, but otherwise an agent has enough to invoke it correctly.

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

Parameters3/5

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

Only one optional parameter (site_id) and schema description coverage is 100%, so the schema fully documents it including the single-site fallback. The description adds no syntax or behavioral detail beyond the schema, making baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb ('Get') and resource ('all ACF options page field values'), which is clearly distinct from sibling ACF tools like acf_get_field_group and acf_get_post_fields. The scope word 'all' signals it returns the full set rather than a filtered lookup.

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

Usage Guidelines3/5

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

The second sentence gives a real precondition (ACF Pro with options pages registered), which is more than nothing, but the description never says when to choose this over acf_get_field_group or acf_get_post_fields or what to do if the precondition fails.

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

acf_get_post_fieldsGet Post FieldsB
Read-only
Inspect

Get all ACF custom field values for a specific post/page. Returns field name => value pairs including repeaters, groups, and relationship fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesPost/page ID to get ACF field values for
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so safety is covered. The description adds useful return-shape context (name => value pairs, repeaters, groups, relationships) that annotations do not provide, but says nothing about value formatting (raw vs. formatted) or permission requirements.

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

Conciseness5/5

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

Two tight sentences with zero waste: the action and scope are front-loaded, then the return shape adds value. Every clause earns its place.

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

Completeness4/5

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

With no output schema, the description usefully characterizes the returned data (field name => value pairs, including repeaters/groups/relationships), and annotations cover the safety profile. Minor gaps remain around value formatting and multi-site behavior, but it is largely complete for a read tool.

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

Parameters3/5

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

Schema description coverage is 100%, so both post_id and site_id are already documented in the schema. The description only restates the post/page targeting for post_id without adding syntax, format, or fallback behavior beyond the schema, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb ('Get') and resource ('ACF custom field values for a specific post/page'), and the scoping to a single post reasonably distinguishes it from acf_get_field_group (group config) and acf_get_options (options pages) by implication. The sibling differentiation is implicit rather than named, so it falls short of a 5.

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

Usage Guidelines2/5

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

No when-to-use, prerequisites, or alternatives are stated. The agent is not told when to prefer this over acf_get_field_group or acf_get_options, nor what 'ACF' context prerequisites exist. Usage is only faintly implied by 'for a specific post/page'.

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

acf_list_field_groupsList Field GroupsA
Read-only
Inspect

List all ACF field groups with their key, title, active status, location rules, field count, and REST visibility. Use this to discover what custom fields are configured on the site.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, destructiveHint=false, covering the safety profile. The description adds genuinely new context by enumerating the returned fields (location rules, REST visibility, field count), which matters because there is no output schema. It does not mention pagination or scale limits.

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

Conciseness5/5

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

Two tight sentences with zero filler: the first front-loads what is returned, the second supplies the use case. Nothing could be removed without losing information.

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

Completeness4/5

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

With no output schema, the return-field enumeration is what makes this definition callable and interpretable, and annotations cover safety. Only minor gaps remain (ordering, whether inactive groups are included, large-site behavior).

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

Parameters3/5

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

One optional parameter with 100% schema description coverage, so the schema already documents site_id fully. The description adds no format, default, or multi-site behavior detail beyond the schema; baseline 3 applies.

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

Purpose4/5

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

States a specific verb (list) and resource (ACF field groups) and enumerates exactly what each entry contains: key, title, active status, location rules, field count, REST visibility. It distinguishes itself from acf_get_field_group by implication only (list-all vs. fetch-one), so it is clear but does not explicitly name the singular sibling.

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

Usage Guidelines4/5

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

"Use this to discover what custom fields are configured on the site" gives a clear context for invocation. It does not name alternatives or exclusions (e.g., use acf_get_field_group when you already know the key), so it falls short of full routing guidance.

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

acf_update_post_fieldsUpdate Post FieldsA
Idempotent
Inspect

Update ACF custom field values for a specific post/page. Pass field_name => value pairs. Use acf_get_field_group to discover valid field names and types. Supports text, number, select, image (pass attachment ID), repeater (pass array of rows), and other ACF field types.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsYesObject of field_name => value pairs to update
post_idYesPost/page ID to update
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond them — the value conventions for image fields (attachment ID) and repeaters (array of rows) — but does not say whether unspecified fields are left untouched or what a bad field name does.

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

Conciseness5/5

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

Three sentences, front-loaded with the operation before the workflow hint and the value-format list. No sentence is redundant and nothing is buried.

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

Completeness4/5

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

There is no output schema, so the description carries the return burden implicitly and annotations cover the safety profile. Field discovery and value formats are covered, but a mutation tool arguably should state merge semantics and whether missing field names are created or ignored.

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

Parameters4/5

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

Schema coverage is 100% and post_id/fields/site_id are self-documenting, so the baseline of 3 would apply. The description exceeds it by explaining the free-form 'fields' object, which the schema can only describe as 'additionalProperties', and by giving per-type value formats.

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

Purpose4/5

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

Names a specific verb and resource: 'Update ACF custom field values for a specific post/page.' The 'ACF custom field' qualifier separates it from core-field writers like wp_update_post and from the read sibling acf_get_post_fields, though no sibling is named explicitly.

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

Usage Guidelines4/5

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

Gives a concrete workflow pointer: 'Use acf_get_field_group to discover valid field names and types.' That tells the agent how to prepare the call and routes it to a sibling tool. It stops short of stating when not to use this tool or what happens relative to the core wp_update_post path.

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

divi_get_page_dataGet Page DataA
Read-only
Inspect

Get the Divi layout data for a specific page/post. For Divi 4: returns shortcode-based layout in post_content (format: "divi4"). For Divi 5: returns JSON element tree (format: "divi5").

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesPost/page ID to get Divi data for
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavioral context with no output schema present: the return format differs by Divi version ('divi4' shortcode in post_content vs 'divi5' JSON element tree). It stops short of covering failure cases such as a page with no Divi layout.

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

Conciseness5/5

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

Three short sentences, front-loaded with the core action and then the version-dependent output formats. Every sentence carries distinct information and there is no filler.

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

Completeness4/5

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

With no output schema, the description correctly supplies the return shape (divi4 vs divi5), and annotations cover the read-only safety profile while the schema fully documents both parameters. Minor gaps remain around edge cases (page without Divi layout, multi-site ambiguity when site_id is omitted).

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

Parameters3/5

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

Schema description coverage is 100% with only two parameters, both documented in the schema (post_id and optional site_id), so the baseline of 3 applies. The description's 'specific page/post' phrasing loosely reinforces post_id but adds no syntax, constraints, or defaults beyond the schema.

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

Purpose5/5

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

States a specific verb and resource ('Get the Divi layout data for a specific page/post'), which cleanly separates it from sibling lookalikes like elementor_get_page_data and wp_get_page. It also names the two possible payload shapes (shortcode layout vs JSON element tree), so an agent knows exactly what kind of artifact it retrieves.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no routing against alternatives such as wp_get_page (generic page content) or elementor_get_page_data. The Divi 4 vs Divi 5 format notes describe what comes back, not when to pick this tool, so an agent must infer its applicability 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.

divi_list_layoutsList LayoutsB
Read-only
Inspect

List all saved Divi layouts from the Divi Library. Returns layout ID, title, type (section/fullwidth/module/layout), and category.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the returned field set, which is useful, but says nothing about pagination, result limits, or whether an empty library returns an empty list.

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

Conciseness5/5

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

Two tight sentences with zero filler; the action is front-loaded and the return-value summary is compact. 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.

Completeness4/5

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

With no output schema, the description correctly compensates by enumerating returned fields. For a zero-required-param read tool with full schema coverage, this is nearly complete; only pagination/empty-result behavior is unaddressed.

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

Parameters3/5

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

Schema description coverage is 100% and the single site_id parameter is fully documented in the schema, so baseline 3 applies. The description adds no additional meaning about site_id's behavior or default.

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

Purpose4/5

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

States a specific verb and resource ('List all saved Divi layouts from the Divi Library'), which clearly separates it from page-oriented siblings like divi_list_pages and divi_get_page_data. It stops short of explicitly naming those alternatives, so sibling differentiation is implied rather than stated.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus divi_list_pages or divi_get_page_data, and no exclusions or prerequisites. Usage must be inferred entirely from the tool name and the phrase 'from the Divi Library'.

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

divi_list_pagesList PagesA
Read-only
Inspect

List all pages/posts built with Divi Builder. Returns post ID, title, type, status, and Divi version.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoResults per page (default 20)
post_typeNoFilter by post type (e.g. "page", "post"). Default: all types.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the return field list but says nothing about pagination behavior, site scoping, or result ordering that goes beyond the structured data.

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

Conciseness5/5

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

Two lean sentences: the first states scope, the second states the return shape, with zero filler. Information is front-loaded and every clause earns its place.

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

Completeness4/5

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

With no output schema, the description usefully enumerates returned fields and the read-only nature is covered by annotations. It is complete enough to call correctly, though pagination and multi-site targeting behavior are left to the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters are already documented in the schema with defaults and constraints. The description adds no parameter-level meaning (e.g., how post_type interacts with the 'Divi Builder' filter), so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (List) and a clearly scoped resource (pages/posts built with Divi Builder), and enumerates what each result contains. The 'built with Divi Builder' qualifier differentiates it from the generic wp_list_pages sibling, though it never names that sibling explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the name and description, but there is no explicit when-to-use, when-not, or comparison against close siblings like divi_get_page_data, divi_list_layouts, or wp_list_pages. An 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.

elementor_get_page_dataGet Page DataA
Read-only
Inspect

Get the Elementor element tree (sections, columns, widgets) for a specific page/post. Returns the full JSON structure used by Elementor.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesPost/page ID to get Elementor data for
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds that the return is the full JSON structure Elementor stores, which is useful context, but says nothing about size/pagination, permission requirements, or behavior when a page has no Elementor data.

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

Conciseness4/5

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

Two short sentences, front-loaded with the verb and resource, no filler or boilerplate. The second sentence partly restates the first (JSON structure = element tree), so it is efficient but not maximally tight.

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

Completeness4/5

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

For a simple read tool with 100% schema coverage and read-only annotations, the description supplies the essential missing piece – what the response actually contains (raw Elementor JSON tree). No output schema exists, yet the return shape is described adequately; only edge-case behavior remains unexplained.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters (post_id, site_id) are documented in the schema itself. The description's phrase 'a specific page/post' loosely mirrors post_id but adds no format, ID-source, or site-selection guidance, so it stays at the baseline for a fully documented schema.

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

Purpose4/5

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

Specific verb ('Get') plus resource ('Elementor element tree'), with concrete scope ('sections, columns, widgets') and target ('a specific page/post'). It is clearly distinct from generic siblings like wp_get_page, but it never names or contrasts with the closest alternatives (divi_get_page_data, elementor_list_pages, elementor_get_widget_schema).

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

Usage Guidelines3/5

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

Usage is only implied by 'for a specific page/post' – the agent can infer you call this when you need a page's Elementor structure. There is no explicit when-to-use, when-not-to-use, or named alternative (e.g., use wp_get_page_html for rendered markup or elementor_get_widget_schema for widget definitions).

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

elementor_get_widget_schemaGet Widget SchemaA
Read-only
Inspect

Get the control/prop schema for a specific Elementor widget or element. For v4 atomic widgets: returns props with types. For classic widgets: returns controls (name, type, options, defaults). Use elementor_list_widgets first to find available widget slugs.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesWidget/element slug (e.g. "heading", "image", "container", "button")
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds genuine context beyond that: the return shape differs by widget generation (props+types vs controls with name/type/options/defaults), which is important since no output schema exists. It doesn't cover error behavior for an invalid slug.

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

Conciseness5/5

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

Three short sentences, no filler, front-loaded with the core action and immediately followed by the two return variants and the discovery prerequisite. Every sentence carries information an agent needs.

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

Completeness4/5

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

With no output schema, the description correctly takes on the burden of describing what comes back in each widget generation, which is the key unknown for a schema-lookup tool. It is essentially complete for a read-only getter; only failure/not-found handling is unaddressed.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are documented there (slug with examples like 'heading'/'image'/'container', plus the optional site_id). The description only refers to the slug obliquely via the list_widgets prerequisite, adding no format or constraint 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.

Purpose5/5

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

States a specific verb and resource (get the control/prop schema for a specific widget/element) and splits the behavior into two clearly-named cases: v4 atomic widgets return props with types, classic widgets return controls. It also names elementor_list_widgets as the discovery sibling, so an agent can separate it from that tool without reading either schema.

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

Usage Guidelines4/5

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

The description gives explicit sequencing guidance ('Use elementor_list_widgets first to find available widget slugs'), which routes the agent to the right sibling before calling this one. It does not state when NOT to use it or what to do with an unknown slug, so it falls just short of the top band.

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

elementor_list_global_widgetsList Global WidgetsB
Read-only
Inspect

List all Elementor global widgets (reusable widget instances saved in the Elementor Library).

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered without the description. The description adds the domain clarification that these are reusable library instances, but says nothing about result size, pagination, or ordering, which is a modest gap for a list operation.

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

Conciseness5/5

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

A single tight sentence that front-loads the action and resource with zero filler. Nothing to trim and nothing buried.

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

Completeness4/5

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

For a simple zero-required-parameter read-only list tool, the definition is nearly sufficient, and annotations carry the safety profile. The only shortfall is the absence of any return-shape hint, which matters slightly more here since no output schema exists.

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

Parameters3/5

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

There is exactly one parameter (site_id) with 100% schema description coverage, so the schema fully documents the optional target-site behavior. The description adds nothing about site_id or its multi-site semantics, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('List all Elementor global widgets') and adds a clarifying parenthetical that defines global widgets as reusable instances from the Elementor Library. This partly distinguishes it from the sibling elementor_list_widgets, but the differentiation is implicit rather than explicit.

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

Usage Guidelines2/5

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

No when-to-use guidance is provided. The description gives no indication of when an agent should reach for this versus elementor_list_widgets, elementor_list_templates, or elementor_get_widget_schema, all of which sit in the same sibling family.

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

elementor_list_pagesList PagesB
Read-only
Inspect

List all pages/posts built with Elementor. Returns post ID, title, type, status, and Elementor template type.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1)
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoResults per page (default 20)
post_typeNoFilter by post type (e.g. "page", "post"). Default: all types.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered upstream. The description adds the useful detail that the payload includes Elementor template type, but says nothing about pagination behavior beyond the schema, result caps, or whether unpublished/draft items appear.

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

Conciseness5/5

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

Two tight sentences with zero filler. The scope constraint comes first and the return-field inventory second, which is exactly the order an agent needs for a list operation.

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

Completeness4/5

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

For a no-required-parameter list tool whose annotations carry the safety profile, the description covers what the tool returns and what it covers. It is slightly thin on routing versus the many sibling list tools, but nothing critical for invoking it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so page, site_id, per_page, and post_type are already documented in-schema; the baseline is 3. The description adds nothing about parameter semantics beyond listing output fields, so no credit above baseline is warranted.

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

Purpose4/5

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

States a specific verb (List) and a scoped resource (pages/posts built with Elementor), and enumerates the returned fields, which lets an agent distinguish it from the generic wp_list_pages at a glance. It never names the sibling, so differentiation is implied by the Elementor qualifier rather than stated explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to pick this over wp_list_pages, divi_list_pages, or elementor_list_templates, which all return page-like resources. The description never states prerequisites, exclusions, or the alternative to choose for non-Elementor content, so the agent must infer selection 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.

elementor_list_templatesList TemplatesB
Read-only
Inspect

List all saved Elementor templates (sections, pages, headers, footers, etc. from the Elementor Library).

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe-read profile is covered. The description adds the source scope (the Elementor Library) but says nothing about return volume, pagination, or filtering behavior. With annotations carrying the safety profile, this is adequate but not rich.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the resource and its scope appear immediately. Nothing extraneous is included.

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

Completeness4/5

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

For a simple read-only list tool with annotations covering the safety profile and a fully documented single parameter, the description is nearly sufficient. A brief note on the multi-site targeting (site_id) would round it out, but no critical element is missing.

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

Parameters3/5

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

There is only one optional parameter (site_id) and schema description coverage is 100%, so the schema fully documents it. The description adds no parameter meaning beyond that, which is the expected baseline when the schema does the work.

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

Purpose4/5

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

States a specific verb (List) and resource (saved Elementor templates) and enumerates the covered template types (sections, pages, headers, footers), which anchors the scope clearly. It does not explicitly distinguish itself from siblings like elementor_list_pages or elementor_list_global_widgets, so an agent must infer the boundary, keeping it short of a 5.

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

Usage Guidelines2/5

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

The description only says what the tool returns; it gives no when-to-use context and names no alternatives, despite several close siblings (elementor_list_global_widgets, elementor_list_pages, divi_list_layouts) that could easily be confused with it. 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.

elementor_list_widgetsList WidgetsA
Read-only
Inspect

List all registered Elementor widgets and structural elements (container, section, column). Returns slug, title, categories, and whether the widget uses v4 atomic props.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds value the annotations do not: the scope of what is listed (registered widgets plus structural elements) and the exact return fields, including the v4 atomic-props flag, which is particularly helpful since no output schema exists.

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

Conciseness4/5

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

Two tight sentences with the scope front-loaded and no filler. The return-field enumeration in the second sentence is dense but earns its place given the absence of an output schema.

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

Completeness4/5

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

For a simple, side-effect-free list tool with one optional parameter and full annotation coverage, the description supplies what matters: scope and return shape. Minor gaps remain around whether results are paginated/filterable and what 'v4 atomic props' implies for the caller.

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

Parameters3/5

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

There is only one optional parameter (site_id) and schema description coverage is 100%, so the schema fully documents it. The description adds no additional meaning about site_id or multi-site behavior, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('List all registered Elementor widgets'), and even enumerates the structural elements included (container, section, column) plus the returned fields. It is clearly distinguishable from generic list tools, though it never contrasts itself with close siblings like elementor_list_global_widgets or elementor_get_widget_schema.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is a discovery call made before building or inspecting an Elementor page. There is no explicit when-to-use, no when-not-to-use, and no named alternative such as elementor_get_widget_schema for per-widget detail.

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

seo_analyze_contentAnalyze ContentA
Read-only
Inspect

Analyze a post/page for SEO best practices. Checks title length, meta description, keyword usage, content length, and heading structure. Returns actionable recommendations. Works without an SEO plugin (meta description/focus keyword checks are skipped if no plugin is active).

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe post/page ID to analyze
site_idNoSite ID to target (optional if you have only one connected site)
post_typeNoPost type (default: post)
focus_keywordNoFocus keyword to check for (optional, will use stored keyword if available)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds genuinely useful behavioral context beyond that: the tool degrades gracefully without an SEO plugin, skipping meta description and focus keyword checks. It does not mention rate limits, auth requirements, or what the recommendations payload 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.

Conciseness5/5

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

Three tight sentences: purpose first, then the checks, then the plugin-optional caveat. Every sentence carries information and nothing is padded.

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

Completeness4/5

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

For a read-only analysis tool with full schema coverage and no output schema, the description covers purpose, scope of checks and the plugin-conditional behavior. The only gap is that it promises 'actionable recommendations' without any hint of their shape or severity grading, which would help an agent know what to do with the result.

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

Parameters3/5

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

Schema description coverage is 100%, so post_id, site_id, post_type and focus_keyword are all documented in the schema itself, including the 'optional if you have only one connected site' and 'will use stored keyword if available' fallbacks. The description's mention of focus keyword checks adds only marginal meaning beyond the schema, so the baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Analyze a post/page for SEO best practices') and enumerates the exact checks performed (title length, meta description, keyword usage, content length, headings). It is clearly distinct from the read-only sibling seo_get_post_meta, though it never names or contrasts that sibling explicitly.

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

Usage Guidelines3/5

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

The description implies usage by describing what gets checked and notes the plugin-optional behavior, but gives no explicit when-to-use/when-not guidance and never routes the agent between this tool and seo_get_post_meta or the wp_* content tools. Usage must be inferred from the enumerated checks.

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

seo_get_post_metaGet Post MetaA
Read-only
Inspect

Get SEO metadata for a post, page, or product (title, meta description, focus keyword, canonical URL). Works with Yoast SEO, RankMath, and AIOSEO — auto-detects which plugin is installed.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe post/page/product ID
site_idNoSite ID to target (optional if you have only one connected site)
post_typeNoPost type (default: post)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuine value by disclosing auto-detection across Yoast, RankMath, and AIOSEO, but says nothing about what happens when no plugin is installed or whether output is cached/limited.

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

Conciseness5/5

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

Two tight sentences: the capability and returned fields come first, the compatibility/auto-detection note second. Nothing is redundant with the title or schema, and there is no filler.

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

Completeness4/5

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

With no output schema, the description usefully enumerates the return values and explains multi-plugin support, which is the main ambiguity for this tool. It falls short only on edge cases (no SEO plugin installed, missing metadata) that an agent might reasonably need to know.

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

Parameters3/5

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

Schema description coverage is 100%, so post_id, site_id, and the post_type enum are already documented in the schema. The description restates the post/page/product scope but adds no format, default, or constraint detail beyond the structured fields, so the baseline 3 applies.

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

Purpose5/5

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

Specific verb + resource ('Get SEO metadata for a post, page, or product') with the exact returned fields enumerated (title, meta description, focus keyword, canonical URL). This clearly separates it from sibling reads like wp_get_post or seo_analyze_content, which cover content rather than SEO metadata.

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

Usage Guidelines3/5

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

Usage is implied by the phrasing 'for a post, page, or product', and the plugin-compatibility sentence tells the agent it can call this regardless of which SEO plugin is active. However, there is no explicit when-to-use vs. when-not-to-use guidance and no named alternative (e.g., seo_analyze_content), so routing 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.

swiftly_check_approvalCheck Approval StatusA
Read-only
Inspect

Check the status of a pending approval. Returns whether the user approved, declined, or if the action has been executed with its result.

ParametersJSON Schema
NameRequiredDescriptionDefault
approval_idYesThe approval ID returned by swiftly_request_approval

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description then adds genuinely useful behavioral context by enumerating the possible states (approved, declined, not yet executed, executed with result), which the annotations do not convey.

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

Conciseness5/5

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

Two tight sentences, with purpose front-loaded and the return-value clarification second. Nothing is redundant or padding.

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

Completeness4/5

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

With no output schema, the description carries the burden of explaining returns and does so adequately for a simple one-parameter lookup, covering the meaningful state outcomes. It could add polling/timing guidance, but nothing essential 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.

Parameters3/5

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

Schema description coverage is 100% and the single approval_id parameter is already tied to swiftly_request_approval in the schema. The description adds no format, source, or validation detail beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Check the status of a pending approval') and scopes it to pending approvals, which separates it from request_approval and execute_approved. It stops short of naming those siblings, so the differentiation is implicit rather than explicit.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the polling call after swiftly_request_approval, but the description never states when to call it versus swiftly_execute_approved or swiftly_decline_action. No prerequisites or exclusions are given.

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

swiftly_check_uploadCheck Upload StatusA
Read-only
Inspect

Check the status of a pending upload. Returns uploaded file details once complete.

ParametersJSON Schema
NameRequiredDescriptionDefault
upload_idYesThe upload ID returned by swiftly_request_upload

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that results only materialize once the upload completes, but says nothing about what a still-pending response contains, whether polling is required, or any rate limits.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core action and followed immediately by the return behavior. No filler or redundancy.

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

Completeness4/5

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

For a one-parameter read tool with annotations covering the safety profile and no output schema, the description is nearly sufficient, telling the agent what it gets back. It stops short of describing the pending-state response, which an agent polling this endpoint would benefit from knowing.

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

Parameters3/5

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

With a single parameter at 100% schema description coverage, the schema already explains that upload_id comes from swiftly_request_upload. The description adds no additional meaning about the identifier's format or lifecycle, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('check the status of a pending upload') and clarifies the outcome ('returns uploaded file details once complete'). It does not explicitly distinguish itself from the closely related siblings swiftly_request_upload, swiftly_process_upload, or swiftly_check_approval, so it falls short of a 5.

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

Usage Guidelines3/5

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

Usage is only implied by the word 'pending' – an agent can infer this is a polling call after swiftly_request_upload, but the description never says when to call it, how often, or how it relates to swiftly_process_upload.

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

swiftly_command_centerCommand CenterA
Read-only
Inspect

Open the SwiftlyMCP Command Center — an interactive dashboard for all connected WordPress sites. Returns site health scores (good/acceptable/critical), pending plugin and theme updates with version numbers, WordPress core update status, and detected features (WooCommerce, Yoast, etc.). Use this proactively when the user asks about site status, updates, or health. If the dashboard shows pending updates, offer to run wp_update_plugin or wp_update_theme to apply them.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuine context beyond that: the aggregated cross-site scope and the specific contents returned, which tells the agent this is a broad read-and-recommend tool rather than a mutator. No rate-limit or freshness caveats, hence not 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.

Conciseness5/5

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

Three sentences, front-loaded with what the tool is, then its payload, then when to invoke it and what to do next. Every sentence carries distinct information with no repetition of annotations or schema.

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

Completeness5/5

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

With no output schema, the description carries the burden of describing returns and does so concretely (good/acceptable/critical health scores, version numbers for pending updates, core update status, detected features). Combined with the annotation-covered safety profile and zero parameters, nothing needed to call it correctly is missing.

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

Parameters4/5

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

The tool takes zero parameters, so per the rubric the baseline is 4. No input semantics are needed beyond the empty schema, and the description correctly spends no words on inputs.

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

Purpose5/5

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

States a specific verb+resource ('Open the SwiftlyMCP Command Center') and immediately qualifies scope as 'an interactive dashboard for all connected WordPress sites', which distinguishes it from per-site siblings like wp_site_health. The enumerated return contents (health scores, pending updates, core status, detected features) make the resource unambiguous.

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

Usage Guidelines4/5

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

Explicitly says to use it proactively when the user asks about site status, updates, or health, and routes follow-up work to wp_update_plugin/wp_update_theme. It lacks an explicit 'when not to use this' alternative (e.g., for a single site's details use wp_site_health, for plugin inventory use wp_list_plugins), so it falls just 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.

swiftly_connect_siteConnect WordPress SiteA
Idempotent
Inspect

Connect a WordPress site. Returns a one-click authorization link — the user clicks it, approves in WordPress admin, and the site is connected automatically. No passwords needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_urlYesThe WordPress site URL (e.g. https://example.com)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and openWorldHint=true, but the description adds real value beyond them: it discloses the return value (a one-click authorization link) and the out-of-band flow where the user approves in WordPress admin. This is exactly the kind of behavioral context the structured fields can't convey, though it doesn't address re-connect behavior or link expiry.

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

Conciseness5/5

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

Two front-loaded sentences with zero waste: the first states the action, the second explains the mechanism and the key benefit. Every clause earns its place.

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

Completeness4/5

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

For a one-parameter connect tool with no output schema, the description covers the action, the returned link, and the human-approval step, and annotations carry the safety profile. Minor gaps remain (what happens on re-connect, link lifetime) but nothing essential 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.

Parameters3/5

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

Schema description coverage is 100% for the single required site_url parameter, so the schema already documents format and example. The description adds nothing about parameter interpretation; baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb (Connect) and resource (a WordPress site), so an agent can immediately tell it apart from the read-only siblings like swiftly_list_sites. It does not explicitly contrast with swiftly_disconnect_site, but the verb direction makes the distinction obvious.

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

Usage Guidelines3/5

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

Implies usage by describing the connect flow and noting 'No passwords needed', which hints at why this is preferred over a credentials-based approach. However, it never states when to use this versus siblings or any preconditions (e.g. must the site not already be connected), leaving selection to inference.

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

swiftly_decline_actionDecline ActionBInspect

Decline a pending destructive action.

ParametersJSON Schema
NameRequiredDescriptionDefault
approval_idYesThe approval ID to decline

TDQS

B3.2/5.0
Behavior3/5

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

Annotations declare destructiveHint=false and readOnlyHint=false, which is consistent with declining (a state mutation that prevents rather than performs destruction). The description adds the useful qualifier that the target is a 'pending destructive action', clarifying eligibility, but says nothing about reversibility, whether the approval record is deleted, or error behavior on a stale ID. With annotations covering the safety profile, this is adequate but thin.

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

Conciseness4/5

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

One short, front-loaded sentence with zero padding — appropriate for a single-parameter tool. It is efficient, though the terseness borders on under-specification rather than economy.

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

Completeness3/5

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

For a one-parameter mutation with no output schema, the description gives the minimum needed to call it, but omits what happens after a decline (does the action become permanently rejected, can it be re-requested?) and how it relates to the approval family of tools. Slightly incomplete for a workflow tool.

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

Parameters3/5

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

Schema description coverage is 100% with a single parameter whose meaning ('The approval ID to decline') is fully self-documenting. The description adds no syntax, format, or sourcing detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (decline) and resource (a pending destructive action), and the word 'pending' correctly scopes it to actions awaiting approval. It does not distinguish itself from siblings like swiftly_execute_approved beyond the opposite verb, but an agent can still infer the intent.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this versus the sibling swiftly_execute_approved, nor any statement of prerequisites (e.g., that the approval must still be pending, or that an approval_id must come from swiftly_request_approval). The agent must infer the workflow entirely from the sibling names.

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

swiftly_disconnect_siteDisconnect SiteC
DestructiveIdempotent
Inspect

Disconnect a WordPress site from SwiftlyMCP.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID to disconnect (use swiftly_list_sites to find it)

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true, and readOnlyHint=false, so the safety profile is fully covered without the description. The description adds no behavioral context of its own — it doesn't say what is removed, whether credentials are revoked, whether site data is preserved, or any auth requirements.

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

Conciseness4/5

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

A single short sentence with no waste and the action front-loaded. It is appropriately sized for a one-parameter tool, though it is arguably too sparse for a destructive operation.

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

Completeness2/5

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

For a destructive, irreversible-sounding operation with no output schema, the description should clarify consequences (what happens to the site, its data, or stored credentials) and any preconditions. As written, an agent cannot tell what disconnecting actually does.

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

Parameters3/5

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

Schema coverage is 100% and the single site_id parameter is already documented in the schema, including the pointer to swiftly_list_sites. The description adds nothing beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Disconnect') and resource ('a WordPress site from SwiftlyMCP'), which is unambiguous. It does not explicitly contrast with the sibling swiftly_connect_site or mention that it reverses the connection, but the name and verb are clear enough to distinguish it.

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

Usage Guidelines2/5

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

No guidance on when to use this versus alternatives, no prerequisites (e.g., whether the site must be currently connected), and no mention of related tools like swiftly_list_sites or swiftly_connect_site. The agent must infer all of this.

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

swiftly_execute_approvedExecute Approved ActionAInspect

Execute a previously approved destructive action. This is called by the approval panel when the user clicks Approve. Pass the approval_id that was returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
approval_idYesThe approval ID from swiftly_request_approval

TDQS

A3.5/5.0
Behavior1/5

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

The description declares the executed action is 'destructive', while the annotations set destructiveHint=false, giving the agent a materially wrong safety signal before an irreversible operation. The only genuine addition, that this is invoked by the approval panel, is outweighed by the contradiction.

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

Conciseness5/5

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

Three short sentences with no filler; the action and its trigger are front-loaded before the parameter instruction. 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.

Completeness3/5

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

For a destructive, no-output-schema tool, the description covers the trigger and parameter but omits failure modes (expired/consumed/unknown approval_id), what actually happens on success, and any permission expectations. The safety mismatch with annotations compounds the gap.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter is already documented as 'The approval ID from swiftly_request_approval'. The description restates that provenance ('the approval_id that was returned') without adding format, expiry, or reuse constraints, so the schema carries the load.

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

Purpose5/5

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

States a specific verb (Execute) on a specific resource (a previously approved destructive action) and names the trigger context (called by the approval panel on Approve). This clearly separates it from siblings like swiftly_request_approval, swiftly_check_approval, and swiftly_decline_action.

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

Usage Guidelines4/5

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

Explains when it fires (approval panel on user clicking Approve) and what to pass, which is useful invocation context. It stops short of explicit when-not-to-use guidance, e.g. that an agent should not call it outside the approved flow or that the ID must be unconsumed.

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

swiftly_list_sitesList Connected SitesA
Read-only
Inspect

List all WordPress/WooCommerce sites connected to your SwiftlyMCP session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds only the session-scoping constraint; it says nothing about result shape, ordering, or whether the list can be empty.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler; the resource and scope come first and nothing is wasted.

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

Completeness4/5

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

For a no-parameter, read-only list tool with annotations covering safety, the definition is nearly sufficient. The one modest gap is that no output schema exists and the description does not indicate what a returned site entry contains (ID, URL, status), which an agent may need for follow-up calls.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify beyond confirming that no filtering input is accepted.

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

Purpose4/5

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

States a specific verb (List) and resource (sites) with a scoping qualifier, 'connected to your SwiftlyMCP session', which separates it from site-mutating siblings like swiftly_connect_site and swiftly_disconnect_site. It never explicitly names a sibling, but the resource is unambiguous.

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

Usage Guidelines3/5

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

The purpose implies the usage (discover which sites are available before acting on them), but there is no explicit when-to-use statement, no exclusions, and no pointer to alternatives such as wp_get_site_info for details about a single connected site.

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

swiftly_plan_infoPlan InfoA
Read-only
Inspect

Show the user's current SwiftlyMCP plan, available tools, and upgrade options.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds that the payload contains plan details, tool availability, and upgrade options, but says nothing about freshness, auth requirements, or formatting.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the informational payload is listed immediately and nothing is repeated from structured fields.

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

Completeness4/5

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

For a zero-parameter informational tool with annotations carrying the safety profile and no output schema, the description tells the agent what it will get back. Only minor context (e.g., when in a workflow to call it) is absent.

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

Parameters4/5

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

The tool takes zero parameters, which is the baseline-4 case. There are no argument semantics to explain and the description introduces none.

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

Purpose4/5

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

States a specific verb ('Show') and concrete resources (current plan, available tools, upgrade options), so the agent knows exactly what it returns. It is the only plan-related tool among the siblings, though the description never explicitly contrasts itself with alternatives.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus other swiftly_* tools, nor any prerequisites or exclusions. Usage is only weakly implied by the name and content.

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

swiftly_process_uploadProcess UploadAInspect

Process files from the upload panel and add them to WordPress media library. Called by the upload UI (not by the model). The upload_id comes from swiftly_request_upload. Use wp_upload_media for URL-based uploads without the drag-and-drop panel.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesFiles to upload
upload_idYesThe upload ID returned by swiftly_request_upload

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, openWorldHint=true, destructiveHint=false, covering the safety profile. The description adds valuable context beyond that: the upload_id comes from swiftly_request_upload, and importantly that this tool is UI-called rather than model-called. This sourcing dependency is behaviorally meaningful.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the core purpose, then caller constraint, then the alternative. No redundancy.

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

Completeness4/5

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

For a 2-param tool with full schema coverage and no output schema, this covers purpose, caller, provenance of upload_id, and the sibling alternative. The one missing element is what happens on failure or what the return looks like, though no output schema exists to cover return structure.

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

Parameters3/5

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

Schema description coverage is 100%, with clear descriptions for upload_id ('upload ID returned by swiftly_request_upload') and files. The description adds the provenance of upload_id, which the schema already states. Baseline 3 per high schema coverage.

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

Purpose4/5

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

States a specific verb and resource: 'Process files from the upload panel and add them to WordPress media library.' Distinguishes it from wp_upload_media by naming that sibling as the URL-based alternative.

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

Usage Guidelines5/5

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

Explicitly states who calls it ('Called by the upload UI (not by the model)') and names the alternative (wp_upload_media for URL-based uploads). This is unusually clear routing guidance, even telling the agent it should not invoke this tool.

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

swiftly_request_approvalRequest ApprovalAInspect

Request user approval before executing a destructive WordPress action. Returns an approval panel where the user can Approve or Decline. If no approval panel is visible to the user, share the approval_url link with them so they can approve in their browser. Do NOT proceed until the user has approved. Use swiftly_check_approval to poll.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target
tool_nameYesThe tool to execute after approval (e.g. wp_delete_user)
tool_paramsYesParameters to pass to the tool
preview_summaryYesHuman-readable summary of what this action will do

TDQS

A4.4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly=false, openWorld=true, idempotent=false, destructive=false). The description adds context the annotations cannot: that it returns an approval panel with Approve/Decline, that an approval_url fallback exists, and that the caller must block until approval. It does not cover request expiry, auth requirements, or whether re-requesting is safe, 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.

Conciseness5/5

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

Four short sentences, every one load-bearing, with the core purpose front-loaded and the procedural steps (share link, wait, poll) following in execution order. No filler.

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

Completeness4/5

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

Covers the request/share/wait/poll loop thoroughly and explains the return value in the absence of an output schema. It references swiftly_check_approval but never mentions swiftly_execute_approved, leaving the final step of the workflow implicit.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (site_id, tool_name, tool_params, preview_summary) is already documented in the schema, including the nested tool_params object. The description adds workflow context around tool_name but 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.

Purpose5/5

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

States a specific verb and resource ('Request user approval before executing a destructive WordPress action') and immediately distinguishes itself from the sibling it hands off to ('Use swiftly_check_approval to poll'). An agent can tell exactly what this tool does and where it sits in the approval workflow.

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

Usage Guidelines5/5

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

Explicit when-to-use and how-to-use guidance: call before destructive actions, share the approval_url if no panel is visible, do NOT proceed until approved, and poll with swiftly_check_approval. The blocking constraint and the fallback path are both spelled out, leaving little to inference.

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

swiftly_request_uploadUpload MediaAInspect

Open an upload panel inline in the chat where the user can drag-and-drop images and files to upload directly to their WordPress media library.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to upload to

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds meaningful behavior beyond that: it opens an inline chat panel, relies on user drag-and-drop interaction, and sends files directly to the WordPress media library.

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

Conciseness5/5

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

A single, front-loaded sentence that clearly conveys the tool's action and mechanism. No wasted words, and the key information is presented immediately.

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

Completeness4/5

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

For a one-parameter interactive tool with annotation coverage and no output schema, the description is mostly complete: it explains the panel behavior and destination. The main gap is routing guidance for when to use this versus related upload tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the single site_id parameter is already documented in the schema. The description does not add meaning for site_id or explain what happens when it is omitted, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific action (open an upload panel inline in chat) and the outcome (drag-and-drop files to upload directly to WordPress media library). It distinguishes this from purely programmatic uploads by emphasizing the interactive user panel, though it does not explicitly name the alternative sibling tools such as swiftly_process_upload or wp_upload_media.

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

Usage Guidelines2/5

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

The description gives no explicit when-to-use, when-not-to-use, or alternative tools. It implies usage by describing the panel, but does not help the agent choose between this tool and siblings like swiftly_process_upload or wp_upload_media.

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

woo_add_order_noteAdd Order NoteAInspect

Add a note to a WooCommerce order. Notes can be private (admin only) or customer-visible (sent via email).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrder ID
noteYesNote content
site_idNoSite ID to target (optional if you have only one connected site)
customer_noteNoIf true, note is visible to customer and emailed (default: false, private note)

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already establish the safety profile (non-readOnly, non-destructive, non-idempotent, open world), but the description adds real context the annotations don't carry: the private/admin-only vs customer-visible distinction and, critically, that customer notes are emailed. That undisclosed side effect is a genuine behavioral disclosure.

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

Conciseness5/5

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

Two sentences, zero waste, and the core action is front-loaded before the privacy/visibility nuance. Nothing to trim.

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

Completeness4/5

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

For a simple mutation tool with no output schema and full schema coverage, the description covers the action and its key side effect (email). The only minor gap is the absence of any note about the response or permission requirements.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (including customer_note's default and semantics) are already documented in the schema. The description's privacy/email contrast mirrors the schema's own customer_note documentation, adding no syntax or meaning beyond it. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb (add) and resource (note to a WooCommerce order), so an agent knows exactly what it does. It doesn't explicitly distinguish itself from the read-side sibling woo_list_order_notes, but the verb+resource is unambiguous.

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

Usage Guidelines2/5

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

No when-to-use guidance at all: it never says when to add a note versus listing existing ones (woo_list_order_notes), nor mentions prerequisites like which order states warrant a note. The email side effect is described, but that is behavior, not usage routing.

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

woo_create_couponCreate CouponCInspect

Create a new WooCommerce coupon. Supports percentage, fixed cart, and fixed product discounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCoupon code (e.g. "SAVE20", "FREESHIP")
amountYesDiscount amount (percentage or fixed amount)
site_idNoSite ID to target (optional if you have only one connected site)
descriptionNoCoupon description (internal use)
product_idsNoLimit to specific product IDs
usage_limitNoTotal usage limit (null = unlimited)
date_expiresNoExpiry date (ISO 8601, e.g. "2025-12-31")
discount_typeYesType of discount
free_shippingNoIf true, grants free shipping
individual_useNoIf true, cannot be used with other coupons
maximum_amountNoMaximum order amount allowed
minimum_amountNoMinimum order amount required
email_restrictionsNoLimit to specific customer emails
product_categoriesNoLimit to specific category IDs
excluded_product_idsNoExclude specific product IDs
usage_limit_per_userNoUsage limit per customer
excluded_product_categoriesNoExclude specific category IDs

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the mutation/write nature is covered. The description adds nothing beyond that: no mention of duplicate-code failure behavior, permission scoping, or side effects. Its second sentence merely restates the discount_type enum already present in the schema.

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

Conciseness4/5

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

Two short, front-loaded sentences with no padding. The second sentence is somewhat redundant with the discount_type enum, which slightly dilutes the value of the length rather than wasting space.

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

Completeness2/5

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

For a 17-parameter mutation tool with no output schema, this is very thin. It never explains how the required trio (code, discount_type, amount) interact, that amount semantics change with discount_type, or which optional fields are commonly paired, leaving the agent to reconstruct behavior from the schema alone.

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

Parameters3/5

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

Schema description coverage is 100% across all 17 parameters, so the schema already documents every field. The description adds no interpretation beyond the schema, which is the baseline 3 under these conditions.

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

Purpose4/5

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

The description states a specific verb and resource: "Create a new WooCommerce coupon." The word "new" implicitly separates it from woo_update_coupon, woo_get_coupon and woo_list_coupons, but no sibling is named explicitly, so it falls just short of the top band.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, no prerequisites (e.g. that a code must be unique, or that site_id is optional for single-site installs), and no pointer to the update alternative for existin coupons. Usage is only inferable 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_create_productCreate ProductBInspect

Create a new WooCommerce product. Supports simple, variable, grouped, and external product types. Products default to draft status.

ParametersJSON Schema
NameRequiredDescriptionDefault
skuNoProduct SKU
nameYesProduct name
tagsNoProduct tags
typeNoProduct type (default: simple)
imagesNoProduct images [{src: "url"}] (max 20)
statusNoStatus (defaults to draft)
weightNoProduct weight
site_idNoSite ID to target (optional if you have only one connected site)
virtualNoIs virtual product
categoriesNoProduct categories [{id: 1}, {id: 2}]
sale_priceNoSale price
descriptionNoProduct full description (HTML supported)
downloadableNoIs downloadable product
manage_stockNoEnable stock management
regular_priceNoRegular price
stock_quantityNoStock quantity
short_descriptionNoProduct short description

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare the write/safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the bar is lower. The description adds one genuinely useful behavioral fact beyond annotations: products default to draft status, plus the supported type set. It omits whether the call is reversible, permission requirements, or what happens on duplicate SKU.

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

Conciseness5/5

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

Three short, front-loaded sentences with no filler. The most decision-relevant fact (what it creates) leads, followed by supported types and the default status.

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

Completeness3/5

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

For a 17-parameter mutation tool with no output schema, the description covers creation, supported types, and default status, but is silent on the required 'name' field, the site_id targeting parameter, and what the response returns (e.g., new product ID). Annotations carry the safety profile, so this is adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 100% across all 17 parameters, so the schema fully documents names, enums, and formats. The description adds only the draft-default and type-set context, which duplicates the enum descriptions rather than extending them; the baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Create a new WooCommerce product') and enumerates the supported product types, which is concrete. It does not explicitly differentiate from siblings like woo_update_product or woo_create_product_category, but the verb+resource make the intent unambiguous.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and does not name alternatives such as woo_update_product for existing products. Only the default draft status hints at usage, so the agent must infer when this tool applies.

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

woo_create_product_categoryCreate Product CategoryCInspect

Create a new WooCommerce product category.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCategory name
slugNoURL slug
imageNoCategory image
parentNoParent category ID
site_idNoSite ID to target (optional if you have only one connected site)
descriptionNo

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare the safety profile (write, open-world, not idempotent, not destructive), so the description could have used its space for behavior it alone can convey. It adds nothing about duplicate handling, required permissions, or what happens when the same category name is submitted twice despite idempotentHint=false.

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

Conciseness4/5

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

A single efficient sentence with the verb and resource front-loaded and no filler. It is arguably too terse for a 6-parameter mutation tool, but nothing in the sentence is wasted.

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

Completeness2/5

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

For a write tool with no output schema, the description omits what is returned, whether the created category can be re-fetched, and how site_id affects targeting. Neither the schema nor the annotations fill those gaps, so an agent is left guessing about post-call behavior.

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

Parameters3/5

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

Schema description coverage is 83%, so the schema already documents name, slug, image, parent, site_id, and description. The description supplies no additional parameter meaning, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb (Create) and resource (WooCommerce product category), so the agent knows exactly what is created. It does not distinguish itself from the sibling wp_create_category, which creates WordPress core categories, leaving the agent to infer the WooCommerce-specific scope.

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

Usage Guidelines2/5

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

No guidance on when to use this versus wp_create_category or how it relates to woo_list_product_categories. There is no mention of prerequisites such as needing a connected site or whether the category must be unique.

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

woo_get_couponGet CouponB
Read-only
Inspect

Get detailed information about a specific WooCommerce coupon.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCoupon ID
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered structurally. The description adds nothing beyond that — no note on what happens with an invalid or missing coupon ID, no auth/scope requirements, and no return-shape context.

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

Conciseness4/5

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

A single front-loaded sentence with zero waste and the resource identified immediately. It is efficient, though arguably so terse that it leaves useful routing and behavioral information unstated.

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

Completeness4/5

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

For a simple single-record read with full schema coverage, no output schema, and annotations carrying the safety profile, the description is adequate — the agent has everything needed to invoke it. Only the absence of sibling routing keeps it from being fully complete.

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

Parameters3/5

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

Schema description coverage is 100%: 'id' is documented as 'Coupon ID' with an exclusiveMinimum constraint, and 'site_id' explains the multi-site targeting case. The description adds no format or syntax detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Get) and resource (WooCommerce coupon) with the qualifier 'specific' implying a single record. It is clear against woo_list_coupons by implication, but never names the sibling or explicitly contrasts single vs. list retrieval.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of the alternative (woo_list_coupons) or when this is preferred over it. The agent must infer the single-record use case entirely from the name and 'specific'.

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

woo_get_customerGet CustomerA
Read-only
Inspect

Get detailed WooCommerce customer info by ID. Returns name, email, billing/shipping address, total orders, total spent, and avatar URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCustomer ID
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, destructiveHint, and openWorldHint, so the safety profile is covered. The description adds meaningful behavioral value by enumerating the returned fields (name, email, billing/shipping address, total orders, total spent, avatar URL), which is important given the absence of an output schema. It stops short of describing auth requirements or error behavior, so a 4 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.

Conciseness5/5

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

Two tight sentences with zero filler. The core purpose is front-loaded, and the return fields are listed efficiently without redundancy.

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

Completeness4/5

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

For a simple two-parameter read operation with full schema coverage and rich annotations, the description is nearly complete. It compensates for the missing output schema by naming the returned fields, though it could mention error handling for invalid IDs to be fully complete.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters (id and site_id) are fully documented in the schema. The description reinforces that lookup is by ID but adds no syntax, format, or constraint details beyond what the schema already provides, yielding the baseline 3.

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

Purpose5/5

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

The description states a specific verb and resource ('Get detailed WooCommerce customer info') and scopes it by ID, distinguishing it from the sibling list tool woo_list_customers. An agent can immediately tell this is a single-record lookup rather than a list operation.

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

Usage Guidelines3/5

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

The phrase 'by ID' implies the tool should be used when a specific customer ID is known, but the description does not explicitly state when to prefer this over woo_list_customers or what to do if the ID is unknown. Usage is implied rather than spelled out.

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

woo_get_orderGet OrderA
Read-only
Inspect

Get full details of a WooCommerce order by ID. Returns line items, billing/shipping address, payment method, order notes, totals, and customer info.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrder ID
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavior context by disclosing the shape of the payload (line items, addresses, payment method, notes, totals, customer info), which matters because there is no output schema. It stops short of mentioning error behavior for 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.

Conciseness5/5

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

Two sentences, zero filler, with the core purpose front-loaded and the return inventory as a compact appendix. Every clause earns its place.

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

Completeness4/5

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

For a simple, two-parameter read tool with full annotation coverage, the description supplies everything needed to invoke it, and notably compensates for the absent output schema by listing returned fields. The only gap is the absence of any note about failure/not-found behavior.

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

Parameters3/5

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

Schema description coverage is 100%: 'id' (Order ID) and 'site_id' (with multi-site guidance) are fully documented in the schema. The description only reinforces the ID lookup, adding no syntax, range, or multi-site semantics beyond the structured fields, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Get full details of a WooCommerce order') with an explicit scope ('by ID') that separates it from woo_list_orders, and enumerates exactly what the payload contains. An agent can identify the tool without opening the schema.

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

Usage Guidelines3/5

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

The 'by ID' scoping implies the tool is used when a specific order identifier is known, which implicitly contrasts with the listing tools, but there is no explicit when-to-use/when-not statement or named alternative (e.g. woo_list_orders for browsing). Usage is inferred rather than stated.

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

woo_get_productGet ProductB
Read-only
Inspect

Get full details of a WooCommerce product by ID. Returns name, price, regular_price, sale_price, stock_quantity, stock_status, description, short_description, categories, images, attributes, and variations.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProduct ID
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds value by enumerating the returned fields, but says nothing about behavior on a nonexistent ID, pagination of variations, or how the open-world site targeting works.

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

Conciseness4/5

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

Two sentences, purpose front-loaded and the return-value inventory following. The field list is long but each item is informative and there is no filler prose.

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

Completeness4/5

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

There is no output schema, but the description compensates by enumerating the returned product fields, and the annotations cover the safety profile. For a single-ID read tool this is largely sufficient, though the site_id targeting behavior is left unexplained.

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

Parameters3/5

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

Schema coverage is 100%, with both id and site_id fully documented in the schema, so the baseline is 3. The phrase 'by ID' only restates the schema and adds no syntax, format, or constraint detail beyond what is already structured.

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

Purpose4/5

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

States a specific verb (Get) and resource (WooCommerce product) with the lookup key (by ID), which implicitly separates it from the browsing sibling woo_list_products. It does not explicitly name any sibling, so routing relies on inference rather than a stated contrast.

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

Usage Guidelines2/5

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

The description never says when to use this versus woo_list_products, woo_get_order, or woo_list_variations, nor does it state any prerequisite such as needing a valid product ID from a prior listing call. Usage context is entirely absent.

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

woo_list_couponsList CouponsC
Read-only
Inspect

List WooCommerce coupons with optional filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
searchNoSearch by coupon code
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber to return (default 20, max 100)

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no pagination behavior, no result volume expectations, no note about how site_id affects targeting. With annotations carrying the burden, no added context earns only a low score.

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

Conciseness4/5

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

A single efficient sentence with the core action front-loaded and no filler. It is well-sized, though the terseness leaves no room for the routing and pagination context that would help.

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

Completeness3/5

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

For a 4-param, zero-required list tool with full schema coverage and safety annotations, the minimum is met. Missing pieces are moderate: no indication that results are paginated across pages, no output/return shape, and no guidance on when to prefer it over woo_get_coupon.

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

Parameters3/5

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

Schema description coverage is 100%: page, search, site_id and per_page are all documented in the schema with defaults and bounds. The description's generic 'optional filters' adds no syntax or semantics beyond what the schema already provides, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('List WooCommerce coupons') that is clearly distinguishable from write siblings like woo_create_coupon and woo_update_coupon. However, it never contrasts itself with woo_get_coupon (single coupon retrieval), so sibling differentiation is only implicit.

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

Usage Guidelines2/5

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

'with optional filters' hints at scope but gives no when-to-use guidance, no prerequisites, and never names alternatives such as woo_get_coupon for a single coupon or woo_create_coupon/woo_update_coupon for writes. The agent must infer routing 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_list_customersList CustomersB
Read-only
Inspect

List WooCommerce customers with filters. Returns name, email, total orders, total spent, and registration date.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
roleNoUser role filter
orderNo
searchNoSearch by name or email
orderbyNo
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber to return (default 20, max 100)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already carry the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), so the bar is lower. The description adds useful behavioral context by enumerating the returned customer fields, but says nothing about pagination behavior, total-count semantics, or result limits for a listing tool.

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

Conciseness4/5

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

Two short sentences with no filler; the operation is front-loaded and the return-value sentence earns its place given there is no output schema. Slightly under-detailed rather than verbose.

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

Completeness4/5

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

With no output schema, the description compensates by listing the key return fields, and the annotations cover safety. Gaps remain around pagination defaults (default 20 / max 100) and whether results are scoped to the targeted site_id, but the essentials for calling the tool are present.

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

Parameters3/5

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

Schema coverage is 71%, so most parameters are self-documented (page, per_page, search, role, site_id) while order and orderby are bare enums. The description's generic "with filters" adds essentially nothing beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ("List WooCommerce customers") and names the domain, which separates it from the generic wp_list_users sibling. However it never explicitly contrasts itself with the singular woo_get_customer or with wp_list_users, so sibling differentiation is only implicit.

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

Usage Guidelines2/5

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

"with filters" hints at bulk/query use but gives no when-to-use conditions, no exclusions, and no routing to alternatives such as woo_get_customer for a single customer or wp_list_users for non-WooCommerce users. 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.

woo_list_order_notesList Order NotesA
Read-only
Inspect

List all notes on a WooCommerce order. Returns both private admin notes and customer-visible notes with author and date.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrder ID
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the return content — that both private admin notes and customer-visible notes are included, along with author and date — which is important 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.

Conciseness5/5

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

Two tight sentences with zero filler; the core action is front-loaded and the return-content detail follows as supporting context.

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

Completeness4/5

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

For a simple read-only list tool with annotations covering safety and no output schema, the description supplies the essential return-content context. It omits pagination behavior and whether private notes require elevated capability, which would be the only meaningful additions.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters (id, site_id) are documented in the schema. The description adds no syntax, format, or constraint detail 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.

Purpose5/5

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

States a specific verb and resource ("List all notes on a WooCommerce order"), which is unambiguous and immediately distinguishable from the sibling woo_add_order_note. An agent knows exactly what it retrieves without opening the schema.

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

Usage Guidelines3/5

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

Usage is implied by the name and description (fetch notes for a given order), but there is no explicit when-to-use guidance, no mention of alternatives such as woo_get_order or woo_add_order_note, and no stated prerequisites. Adequate but leaves routing to inference.

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

woo_list_ordersList OrdersB
Read-only
Inspect

List WooCommerce orders with filters. Returns order number, status, total, customer details, line items, and dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
afterNoOrders after this date (ISO 8601 format)
orderNo
beforeNoOrders before this date (ISO 8601 format)
searchNoSearch term (order number, billing email, etc.)
statusNoOrder status filter
orderbyNo
site_idNoSite ID to target (optional if you have only one connected site)
customerNoCustomer user ID
per_pageNoNumber to return (default 20, max 100)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds real value by enumerating returned fields (status, total, customer details, line items, dates), which matters since there is no output schema. It says nothing about pagination behavior, default page size, or site targeting.

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

Conciseness4/5

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

Two short sentences with zero waste, front-loading purpose before return content. Slightly terse for a 10-parameter tool, but nothing is padded.

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

Completeness3/5

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

The return-field list compensates somewhat for the missing output schema, but for a 10-parameter, zero-required tool there is no mention of default pagination (per_page 20, max 100), how the optional site_id selects among connected sites, or date-range semantics. Adequate but incomplete.

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

Parameters3/5

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

Schema description coverage is 80%, so the schema already documents most parameters. The description says only 'with filters' and adds no format, default, or interaction details beyond what the schema provides. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb and resource ('List WooCommerce orders') plus a scope qualifier ('with filters'). It is clearly distinguishable from woo_get_order, though it does not explicitly name that sibling.

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

Usage Guidelines2/5

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

No guidance on when to use this listing tool versus woo_get_order, woo_list_refunds, or the report tools. The word 'filters' hints at usage but never says when filtering is appropriate or what the alternatives are.

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

woo_list_product_categoriesList Product CategoriesB
Read-only
Inspect

List WooCommerce product categories with hierarchy, count, and images.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
parentNoFilter by parent category ID (0 for top-level)
searchNoSearch term
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered structurally. The description adds that hierarchy, count and images are returned, which is modest extra context, but says nothing about pagination defaults, ordering, or rate limits.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler. Nothing is repeated from the title 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.

Completeness3/5

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

For a read-only list tool with rich annotations and no output schema, the description is adequate but thin: it omits pagination behavior, default ordering, and whether hierarchy is returned nested or flat, which matter for a category listing with a parent filter.

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

Parameters3/5

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

Schema description coverage is 80%, so the schema documents page, parent, search and site_id itself; per_page is the only undocumented field. The description adds no parameter-level semantics beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('List WooCommerce product categories') and names the data returned (hierarchy, count, images). The 'product' qualifier distinguishes it from the core wp_list_categories and the verb distinguishes it from woo_create_product_category, though neither sibling is named explicitly.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus wp_list_categories or woo_create_product_category, and no mention of pagination or filtering workflows. 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_list_productsList ProductsA
Read-only
Inspect

List WooCommerce products with filters. Returns name, price, stock status, categories, and images for each product. Only published products by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
typeNoProduct type
orderNo
searchNoSearch term
statusNoProduct status (default: publish)
on_saleNoFilter to only products on sale
orderbyNo
site_idNoSite ID to target (optional if you have only one connected site)
categoryNoProduct category ID
featuredNoFilter to only featured products
per_pageNoNumber to return (default 20, max 100)
max_priceNoMaximum price
min_priceNoMinimum price
stock_statusNoStock status filter

TDQS

A3.8/5.0
Behavior4/5

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

With readOnlyHint/destructiveHint already covering the safety profile, the description adds real value: it names the returned fields (name, price, stock status, categories, images) and the important default that only published products are returned, implying other statuses need an explicit filter. It does not cover pagination limits or site-scoping behavior.

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

Conciseness5/5

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

Two tight sentences with the operation and scope front-loaded and the return contents immediately following. No filler or redundancy.

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

Completeness4/5

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

For a 14-parameter read tool with no output schema, the description usefully substitutes for one by listing returned fields, and discloses the published-only default. It stops short of explaining pagination semantics or multi-site behavior, which for a filter-heavy listing tool would be the next useful detail.

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

Parameters3/5

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

Schema description coverage is 86%, so the schema already documents nearly all 14 parameters (including defaults for per_page and status). The description adds no parameter syntax or format detail beyond restating that filters exist and that status defaults to publish, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('List WooCommerce products with filters') and the scoping default ('Only published products by default'). It is clear what it does, but it does not differentiate itself from nearby siblings such as woo_list_variations or woo_get_product, which also deal with product data.

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

Usage Guidelines3/5

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

The description implies usage (list/filter products) and discloses the default status filter, which is helpful context. However, it never states when to prefer this over woo_get_product (single product), woo_list_variations, or woo_list_product_categories, so alternatives are left to inference.

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

woo_list_refundsList RefundsB
Read-only
Inspect

List all refunds for a WooCommerce order. Returns refund amounts, reasons, line items, and dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)
order_idYesOrder ID to list refunds for

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds which fields come back (amounts, reasons, line items, dates), which substitutes for the missing output schema, but says nothing about pagination, ordering, or empty-result behavior.

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

Conciseness5/5

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

Two tight sentences, zero filler, with the resource and scope front-loaded in the first sentence and the return contents in the second. Every clause earns its place.

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

Completeness4/5

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

For a simple two-parameter read tool with full schema coverage and annotations covering safety, the main gap is the absence of an output schema, which the description partly compensates for by enumerating returned fields. Missing only pagination/volume expectations.

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

Parameters3/5

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

Schema description coverage is 100%: site_id and order_id are both documented in the schema, including the optionality of site_id and the exclusiveMinimum on order_id. 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.

Purpose4/5

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

States a specific verb (List) and resource (refunds) scoped to a WooCommerce order, which distinguishes it from sibling woo_list_orders and woo_list_order_notes. It does not, however, explicitly contrast itself with those siblings, so an agent must infer the boundary.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance. The description never says whether to reach for this instead of woo_get_order (which may also expose refund data) or what preconditions exist beyond the required order_id.

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

woo_list_variationsList VariationsA
Read-only
Inspect

List all variations of a variable product. Returns prices, stock, and attributes for each variation.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)
product_idYesThe variable product ID

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered structurally. The description goes beyond that by disclosing the return payload contents (prices, stock, attributes per variation), which is meaningful since no output schema exists.

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

Conciseness5/5

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

Two short sentences, zero filler, with the core action front-loaded and the return payload immediately after. Nothing needs trimming or reordering.

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

Completeness4/5

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

For a read-only two-parameter list tool with full schema coverage and safety annotations, the description is nearly sufficient, and the mention of returned fields compensates for the absent output schema. Pagination or result-size behavior is the only notable omission.

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

Parameters3/5

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

Schema description coverage is 100%, so both product_id and site_id are already documented in the schema. The description adds no format, constraint, or ID-sourcing detail beyond what the schema provides, which is the expected baseline.

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

Purpose4/5

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

Names a specific verb (List) and resource (variations of a variable product), which is narrower and more precise than the generic list siblings. It does not explicitly distinguish itself from woo_list_products or woo_get_product, so an agent must infer the boundary from the 'variable product' qualifier.

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

Usage Guidelines2/5

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

No when-to-use, prerequisites, or alternatives are given. The description never says to call this only for products with type=variable, nor does it point to woo_get_product or woo_list_products for the non-variation cases.

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

woo_low_stock_reportLow Stock ReportA
Read-only
Inspect

Get WooCommerce products that are low in stock, out of stock, or on backorder. Checks stock at the variation level for variable products. Only includes published products (drafts are excluded by WooCommerce Analytics).

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter: "lowstock" (default) — items at or below the WooCommerce low-stock threshold, "outofstock", or "onbackorder"
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber to return (max 100)
stock_statusNoDeprecated alias for "type". Use "type" instead. "instock" is mapped to "lowstock".

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), so the description is free to add result-shaping behavior: variation-level stock evaluation for variable products, and the exclusion of drafts because WooCommerce Analytics only covers published products. That is genuine context beyond the annotations, though pagination/return shape is still unmentioned.

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

Conciseness5/5

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

Three tight sentences with no filler: purpose first, then the variation-level nuance, then the published-only caveat. Every sentence earns its place and the most important information is front-loaded.

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

Completeness4/5

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

With no output schema, the description still gives an agent enough to call it correctly and anticipate the result set (stock-status products, variation-aware, published only). It stops short of describing returned fields or ordering, a minor gap for a read-only listing tool.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (type, site_id, per_page, stock_status) is already documented in the schema, including the deprecated stock_status alias and the 100-item cap. The description adds nothing parameter-specific, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Get WooCommerce products') plus the exact narrowing condition ('low in stock, out of stock, or on backorder'), which cleanly separates it from generic siblings like woo_list_products or woo_sales_report. An agent can identify the tool's output set without opening the schema.

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

Usage Guidelines3/5

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

The description implies when to reach for it (when you need inventory-at-risk items) and the three status buckets map to the type enum, but it never states when NOT to use it or names an alternative such as woo_list_products for full catalogs. Usage is inferable rather than explicit.

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

woo_sales_reportSales ReportB
Read-only
Inspect

Get WooCommerce sales summary for a given period. Returns total sales, net sales, total orders, total items sold, total shipping, total refunds, and total discount.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoReport period (default: month)
site_idNoSite ID to target (optional if you have only one connected site)
date_maxNoEnd date (YYYY-MM-DD) for custom range
date_minNoStart date (YYYY-MM-DD) for custom range

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuine value by enumerating the returned metrics, which matters because there is no output schema, but it says nothing about custom-range behavior or whether metrics are scoped to the 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.

Conciseness5/5

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

Two sentences, zero filler, and the purpose sentence is front-loaded ahead of the return-value enumeration. Every clause carries information an agent can act on.

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

Completeness4/5

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

With no output schema, enumerating the returned metrics is the right compensation, and the annotations carry the safety profile. The remaining gap is the unexplained interaction between the period enum and the custom date_min/date_max range, which the description never addresses.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (period enum, site_id, date_min, date_max) are already documented in the schema. The description's phrase 'for a given period' adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Get WooCommerce sales summary') plus the scoping dimension ('for a given period'), which is enough to tell it apart from the only other report sibling, woo_low_stock_report. It does not explicitly name or contrast with that sibling, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance: nothing tells the agent when a sales summary is the right call versus woo_low_stock_report, nor how to choose between the period enum and a custom date_min/date_max range. The period default of 'month' is only disclosed in the schema, not the description.

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

woo_trash_productTrash ProductA
Destructive
Inspect

Move a WooCommerce product to trash. Use dry_run=true to preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProduct ID to trash
dry_runNoIf true, preview without trashing
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so safety is covered by structured data. The description adds the dry_run preview affordance, which is genuinely useful, but says nothing about reversibility, trashing vs permanent deletion, or permission requirements. Modest value above annotations.

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

Conciseness4/5

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

Two short, front-loaded sentences with zero filler. Slightly terse for a destructive operation but nothing is wasted.

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

Completeness2/5

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

A destructive mutation tool with no output schema, no annotations covering reversibility, and no statement about what trashing actually does to the product (recoverable? hidden from storefront?). The description is too thin for the risk level.

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

Parameters3/5

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

Schema coverage is 100% and each parameter carries its own description, so the schema does the heavy lifting. The description's dry_run mention duplicates the schema's 'preview without trashing' without adding format or constraint detail. Baseline 3 is correct.

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

Purpose5/5

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

Specific verb (trash) plus specific resource (WooCommerce product), neatly distinguished from siblings like woo_update_product (edit) and wp_trash_post (different resource). An agent can pick this out immediately.

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

Usage Guidelines3/5

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

The dry_run preview hint gives a sliver of usage context, but there is no guidance on when to trash vs delete, or when dry_run is worth invoking. Implied usage only.

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

woo_update_couponUpdate CouponC
Idempotent
Inspect

Update an existing WooCommerce coupon.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCoupon ID to update
codeNoNew coupon code
amountNoNew discount amount
site_idNoSite ID to target (optional if you have only one connected site)
descriptionNoNew description
usage_limitNoTotal usage limit
date_expiresNoNew expiry date (ISO 8601) or null to remove
discount_typeNoNew discount type
free_shippingNoGrant free shipping
individual_useNoCannot be used with other coupons
maximum_amountNoMaximum order amount
minimum_amountNoMinimum order amount
usage_limit_per_userNoPer-customer usage limit

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false, so the safety profile is covered by structured data. The description adds nothing beyond this - it doesn't explain partial-update semantics (that all fields except 'id' are optional and only supplied fields change), nor what happens on an unknown ID. With a mutation tool touching 13 fields, richer disclosure would be warranted.

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

Conciseness3/5

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

The single sentence has zero waste and is front-loaded, which is good. But it is undersized relative to the tool's complexity (13 parameters, no output schema), so 'appropriately sized' is only partially met.

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

Completeness2/5

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

For a mutation tool with 13 parameters and no output schema, the description omits essential context: whether this is a partial or full update, what the response contains, and how errors (e.g., invalid coupon ID) surface. Annotations cover only the safety profile, leaving meaningful gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented in the input schema, including the ISO 8601 expiry format and the enum for discount_type. The description provides no additional parameter meaning, so the baseline of 3 applies.

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

Purpose4/5

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

The description names a specific verb ('Update') and resource ('WooCommerce coupon'), which is immediately understandable. However, it does nothing to differentiate this tool from its close siblings woo_create_coupon, woo_get_coupon, and woo_list_coupons beyond the name itself.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus woo_create_coupon or woo_get_coupon, no mention of prerequisites (e.g., the coupon must already exist), and no exclusions. 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.

woo_update_order_statusUpdate Order StatusA
Idempotent
Inspect

Update the status of a WooCommerce order. Common transitions: pending→processing, processing→completed, any→on-hold, any→cancelled. For updating other order fields, use woo_update_order.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrder ID
statusYesNew order status
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare non-readOnly, idempotent, and non-destructive, so the safety profile is covered. The description adds real behavioral value by enumerating valid state transitions, which tells the agent the legal state machine. It does not, however, restate the idempotency implication (re-applying the same status is a no-op) that the annotation implies.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the core action and immediately followed by the domain-specific transition guidance and the sibling routing note. No filler.

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

Completeness4/5

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

For a mutation tool with no output schema, the description plus annotations cover scope, valid transitions, and the alternative tool, which is sufficient to invoke correctly. The only minor gap is that it references a 'woo_update_order' tool that does not appear in the sibling list, a potential routing ambiguity.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3, and the description goes beyond the schema's bare enum by specifying which status transitions are common, adding semantic guidance about the 'status' argument. It does not clarify the optional 'site_id' targeting, but the schema already documents it.

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

Purpose5/5

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

States a specific verb+resource ('Update the status of a WooCommerce order') and explicitly carves out what it does not cover by routing to 'woo_update_order' for other fields. An agent can distinguish this status-only tool from a general order update without opening the schema.

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

Usage Guidelines5/5

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

Provides concrete when-to-use context via the common transition list (pending→processing, processing→completed, any→on-hold, any→cancelled) and names the alternative tool for the out-of-scope case. Both the use case and the exclusion are explicit.

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

woo_update_productUpdate ProductB
Idempotent
Inspect

Update an existing WooCommerce product. Only provide the fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProduct ID to update
skuNo
nameNoProduct name
statusNo
site_idNoSite ID to target (optional if you have only one connected site)
featuredNo
categoriesNo
sale_priceNoSale price (empty string to remove)
descriptionNoProduct description
manage_stockNo
stock_statusNo
regular_priceNoRegular price
stock_quantityNo
short_descriptionNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true and openWorldHint=true, so the agent knows this is a safe, repeatable write. The description adds the partial-update contract (only send changed fields), but does not disclose side effects such as stock/price recalculation or what an omitted field leaves untouched.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core action and followed immediately by the key usage constraint. No filler or repetition of the title.

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

Completeness3/5

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

For a 14-parameter mutation tool with no output schema, the description covers the essential patch contract and safety is supplied by annotations. It is still thin on side effects and on the many undocumented parameters, but an agent has enough to invoke it correctly.

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

Parameters2/5

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

Schema description coverage is only 43% across 14 parameters; fields like sku, status, featured, categories, manage_stock, stock_status and stock_quantity carry no schema description. The description adds nothing about these parameters (e.g. price formats, category ID resolution, stock interaction rules), 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.

Purpose4/5

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

States a specific verb (Update) and resource (an existing WooCommerce product), which distinguishes it from the sibling woo_create_product. It does not, however, distinguish it from woo_update_variation or explain how it relates to product variations.

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

Usage Guidelines3/5

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

The sentence 'Only provide the fields you want to change' gives useful patch-style usage guidance for this tool, but there is no explicit when-to-use versus alternatives such as woo_update_variation, and no mention of prerequisites like required permissions or ID validity.

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

woo_update_variationUpdate VariationC
Idempotent
Inspect

Update a specific variation of a variable product.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo
site_idNoSite ID to target (optional if you have only one connected site)
product_idYesThe parent product ID
sale_priceNo
manage_stockNoEnable stock management for this variation
stock_statusNo
variation_idYesThe variation ID
regular_priceNo
stock_quantityNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true), so idempotency and non-destructiveness are covered structurally. The description adds nothing beyond them: no statement of which fields are mutable, what happens to omitted fields, permission/auth needs, or rate limits for a 9-parameter mutation.

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

Conciseness3/5

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

A single front-loaded sentence with no wasted words, but the brevity reflects under-specification rather than disciplined conciseness. It is appropriately sized only in the sense that it cannot be shortened further.

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

Completeness2/5

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

For a mutation tool with 9 parameters, low schema coverage, and no output schema, the description is far too thin. It omits what can be updated, any constraints or side effects, and any routing to sibling variation/product tools, leaving substantial gaps.

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

Parameters2/5

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

Schema description coverage is only 44%, so the description is expected to compensate, but it names no parameters at all. Fields like sale_price, regular_price, stock_status, and status (two of them enums) are left entirely to the schema, and the description does not explain their interaction or intent.

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

Purpose4/5

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

States a specific verb (update) and a scoped resource (a specific variation of a variable product), which is clearer than the bare title. However, it does nothing to distinguish it from siblings like woo_update_product or woo_list_variations, so an agent must infer the boundary from context alone.

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

Usage Guidelines2/5

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

The description gives no indication of when to use this tool versus alternatives, no prerequisites (e.g., need for a parent product ID), and no mention of related sibling tools. 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.

wp_activate_pluginActivate PluginA
Destructive
Inspect

Activate an installed WordPress plugin. Use wp_list_plugins first to find the plugin slug. Use dry_run=true to preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
pluginYesPlugin slug (e.g. "woocommerce/woocommerce" or "akismet/akismet")
dry_runNoIf true, shows what would happen without activating
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, readOnlyHint=false and openWorldHint=true, so the risk profile is covered structurally. The description adds the useful dry_run preview route, but says nothing about the concrete consequence of activating (site front-end impact, possible fatal errors, effect on an already-active plugin), so it adds only modest context beyond annotations.

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

Conciseness5/5

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

Three short sentences with zero filler: the action is front-loaded, followed by the prerequisite and the safe-preview hint. Nothing repeats itself or could be cut without losing information.

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

Completeness4/5

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

For a mutation tool with full annotation coverage, a fully described schema, and no output schema, the description supplies the action, the discovery prerequisite, and a dry-run escape hatch. The remaining gap is behavioral detail about side effects on the live site, which an agent would need before acting.

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

Parameters3/5

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

Schema description coverage is 100% and all three parameters are documented in the schema, so baseline is 3. The description's only parameter reference ('dry_run=true to preview') restates the schema's own wording for dry_run and adds no format, default, or constraint information for plugin or site_id.

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

Purpose4/5

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

States a specific verb and resource ('Activate an installed WordPress plugin'), and the qualifier 'installed' implicitly separates it from wp_install_plugin. However, it never names the natural sibling pair (wp_deactivate_plugin) or restates the distinction, so sibling differentiation is by inference from the name rather than from the text.

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

Usage Guidelines4/5

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

Gives a concrete prerequisite workflow ('Use wp_list_plugins first to find the plugin slug') and a safe alternative path ('Use dry_run=true to preview'). It does not state when *not* to use the tool, e.g. that it should not be used on an already-active plugin, so it stops short of explicit when/when-not guidance.

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

wp_activate_themeActivate ThemeA
Destructive
Inspect

Safely activate a WordPress theme with automatic health check. After switching, the site's front page is fetched to verify it loads correctly. If a fatal error, white screen, or HTTP 500 is detected, the previous theme is restored automatically within seconds. The user's site is never left broken. Use wp_get_theme_preview_url first to let the user preview before activating.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)
stylesheetYesTheme slug to activate (e.g. "my-child-theme")

TDQS

A4.4/5.0
Behavior5/5

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

The description adds rich behavioral context beyond the annotations: it explains the health-check mechanism (fetch the front page), the specific failure triggers (fatal error, white screen, HTTP 500), and the automatic rollback to the previous theme. This meaningfully elaborates on the destructiveHint=true annotation by showing the safety net that mitigates it.

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

Conciseness4/5

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

Core action and safety behavior are front-loaded, followed by the preview recommendation, in four tight sentences. Slightly verbose with a rhetorical flourish ('never left broken'), but nearly every sentence carries actionable information.

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

Completeness5/5

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

For a destructive mutation tool with no output schema, the description is complete: it covers what happens on success and failure, the rollback guarantee, and the recommended preceding step. Nothing an agent needs to invoke it safely is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so both the site_id and stylesheet parameters are fully documented in the schema. The description adds no additional syntax or format detail beyond the schema, 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.

Purpose5/5

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

States a specific verb (activate) and resource (WordPress theme) and immediately distinguishes itself from siblings like wp_install_theme and wp_update_theme by highlighting the automatic health check. An agent can tell exactly what this tool does and how it differs from installing or updating a theme.

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

Usage Guidelines4/5

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

Explicitly recommends running wp_get_theme_preview_url first so the user can preview before activating, which gives a clear ordering/context. It lacks explicit when-not guidance or safety framing on when activation is inappropriate, so it falls just 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.

wp_add_menu_itemAdd Menu ItemBInspect

Add an item to a WordPress navigation menu. Supports links to posts, pages, categories, custom URLs, and more.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL for custom links (required when type="custom")
typeYesItem type: "post_type" for posts/pages, "taxonomy" for categories/tags, "custom" for URL
titleYesMenu item display title
objectNoObject type: "post", "page", "category", "post_tag" (required for post_type/taxonomy types)
parentNoParent menu item ID for dropdown/sub-menu (0 = top level)
targetNoLink target ("_blank" opens in new tab)
menu_idYesMenu ID to add the item to
site_idNoSite ID to target (optional if you have only one connected site)
object_idNoID of the post/page/term to link to (required for post_type/taxonomy types)
menu_orderNoPosition in menu (0-based)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare write (readOnlyHint=false), non-idempotent, non-destructive, and open-world behavior. The description adds which link types can be created, which is modest value, but says nothing about permissions, ordering side effects, or what happens on failure.

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

Conciseness5/5

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

Two tight sentences with the action front-loaded and zero filler. Nothing redundant or padded for a tool whose parameters are fully described elsewhere.

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

Completeness3/5

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

No output schema exists, and the description does not explain what is returned (e.g., new item ID) or how the item interacts with menu_order/parent. With 10 parameters and mutation semantics, it leaves the agent to rely on schema and annotations alone.

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

Parameters3/5

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

Schema coverage is 100%, so all ten parameters including the two enums are already documented with descriptions. The description's mention of post/page/category/custom URLs broadly mirrors the "type" enum rather than adding syntax or constraints beyond it.

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

Purpose4/5

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

Specific verb ("Add") plus resource ("item to a WordPress navigation menu") make the operation immediately clear. It distinguishes itself reasonably from siblings like wp_update_menu and wp_list_menu_items, though it does not explicitly name a contrast.

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

Usage Guidelines2/5

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

No guidance on when to use this versus wp_update_menu, wp_list_menu_items, or how to obtain the menu_id it requires. The agent must infer prerequisites and preconditions entirely from the schema.

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

wp_create_categoryCreate CategoryCInspect

Create a new WordPress category.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCategory name
slugNoURL slug
parentNoParent category ID for nested categories
site_idNoSite ID to target (optional if you have only one connected site)
descriptionNoCategory description

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is covered externally. The description adds nothing beyond that — no note on duplicate-name handling, slug auto-generation, or what the call returns, all of which matter for a non-idempotent create.

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

Conciseness4/5

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

A single well-formed sentence with the action front-loaded and zero filler. It is efficient, though the shortness reflects under-specification rather than tight editing of richer content.

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

Completeness3/5

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

For a non-idempotent create with five params, full schema coverage and safety annotations, the definition is minimally adequate. Missing are sibling differentiation (wp_create_tag, woo_create_product_category) and any statement about the result of creation or side effects, which the absence of an output schema makes more relevant.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (name, slug, parent, site_id, description) are already documented, including the parent-ID nesting semantics. The description adds no extra meaning, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource (create a WordPress category), which is unambiguous on its own. However it does not distinguish this from close siblings such as wp_create_tag or woo_create_product_category, so an agent must infer the boundary from the name alone.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites (e.g. taxonomy/permissions), and never mentions alternatives like wp_update_category or wp_list_categories. It is a bare statement of action with no routing information.

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

wp_create_custom_postCreate Custom PostAInspect

Create a new item of any custom post type. Defaults to draft status. Use wp_list_post_types to discover available post types.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoPublish date (ISO 8601 format). Use future date for scheduling.
metaNoCustom meta fields as key-value pairs
titleYesPost title
statusNoStatus (default: draft)
contentNoPost content (HTML supported)
excerptNo
site_idNoSite ID to target (optional if you have only one connected site)
rest_baseYesREST base of the post type

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, covering the safety profile. The description adds 'defaults to draft status,' but that same default is already stated in the status property description, so it adds little beyond structured data; permissions and side effects remain unstated.

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

Conciseness5/5

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

Three short, front-loaded sentences with no filler: purpose first, then the behavioral default, then the discovery prerequisite. Every sentence earns its place.

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

Completeness4/5

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

For an 8-parameter mutation tool with a nested meta object, 88% schema coverage and annotations covering the safety profile leave little the description must shoulder. It routes the agent to wp_list_post_types for the required rest_base, but omits permission/auth needs for a write operation.

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

Parameters3/5

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

Schema description coverage is 88% (high), so the schema carries the parameter semantics, establishing a baseline of 3. The description adds no syntax, format, or meta-object details beyond what the schema already documents.

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

Purpose4/5

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

States a specific verb and resource ('Create a new item') scoped to 'any custom post type,' which implicitly separates it from wp_create_post and wp_create_page. However, it never names the sibling it complements, so the distinction is left for the agent to infer from 'custom post type.'

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

Usage Guidelines3/5

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

It gives one actionable prerequisite ('Use wp_list_post_types to discover available post types'), which is genuinely helpful for supplying rest_base. But it says nothing about when to choose this over wp_create_post/wp_create_page or any exclusions, so tool selection remains implied rather than guided.

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

wp_create_pageCreate PageBInspect

Create a new WordPress page. Defaults to "draft" status. Use parent to create child pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoURL slug
titleYesPage title
parentNoParent page ID for hierarchical pages
statusNoPage status (defaults to draft)
contentYesPage content (HTML supported)
site_idNoSite ID to target (optional if you have only one connected site)
menu_orderNoMenu order for page sorting
featured_mediaNoFeatured image media ID

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already declare readOnly=false, idempotent=false, destructive=false, openWorld=true, so the safety profile is covered. The only behavioral claim in the description ('defaults to draft') merely restates the schema's own enum description for status, adding nothing beyond structured data — no mention of required capability, approval flow, or side effects.

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

Conciseness5/5

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

Three short sentences, zero filler, with the core operation front-loaded before the default-status and hierarchy notes. Every clause carries information.

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

Completeness3/5

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

For an 8-parameter mutation tool with no output schema, the description is thin: it does not tell the agent what a successful call returns (page ID, permalink) or whether site_id must be supplied when multiple sites are connected. Annotations cover the safety profile, so 3 is the minimum-viable level rather than a failure.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description highlights parent for hierarchical pages, which the schema already documents, and says nothing about slug, menu_order, featured_media, or site_id formatting.

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

Purpose4/5

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

States a specific verb+resource (create a WordPress page) that is immediately distinguishable from read/update siblings like wp_get_page and wp_update_page. However, it never disambiguates from the very similar wp_create_post and wp_create_custom_post siblings, so an agent must fall back on the names alone.

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

Usage Guidelines3/5

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

Adds two useful cues: the operation defaults to draft status and parent should be used for child pages. There is no explicit when-to-use guidance relative to wp_create_post/wp_create_custom_post, and no prerequisites (e.g., which site_id to target) are stated.

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

wp_create_postCreate PostAInspect

Create a new WordPress post. The post defaults to "draft" status for safety — specify status "publish" explicitly to publish immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoURL slug
tagsNoArray of tag IDs to assign
titleYesPost title
authorNoAuthor user ID (defaults to authenticated user)
statusNoPost status (defaults to draft)
contentYesPost content (HTML supported)
excerptNoPost excerpt
site_idNoSite ID to target (optional if you have only one connected site)
categoriesNoArray of category IDs to assign
featured_mediaNoFeatured image media ID

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare the safety profile (readOnly=false, destructive=false, non-idempotent), and the description adds a genuinely valuable behavioral fact not covered by them: new posts are created as drafts by default and publishing requires explicit opt-in. It does not mention auth/permission requirements or whether duplicate posts can result from repeated calls.

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

Conciseness5/5

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

Two tight sentences with zero filler. The core action comes first and the safety-relevant default is front-loaded in the second sentence, making it easy to scan.

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

Completeness4/5

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

For a 10-parameter creation tool with no output schema, the description covers the core action and the single most consequential parameter behavior (draft vs publish). It omits target-site selection (site_id) and what is returned on success, but the essentials an agent needs to call it correctly are present.

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

Parameters3/5

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

Schema description coverage is 100%, so all 10 parameters are already documented in the schema, including 'status (defaults to draft)'. The description's status note reinforces the consequence of the default but adds no new parameter syntax or format detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: create a new WordPress post. It is clearly distinct from sibling tools like wp_create_page or wp_create_custom_post by naming the 'post' resource, though it never explicitly contrasts itself with those siblings to help an agent choose.

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

Usage Guidelines3/5

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

It gives useful in-tool guidance on the status default (draft unless 'publish' is specified), which tells the agent how to invoke it safely. However, there is no when-to-use/when-not guidance relative to the many sibling creation tools (wp_create_page, wp_create_custom_post, wp_schedule_post, wp_update_post).

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

wp_create_tagCreate TagCInspect

Create a new WordPress tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTag name
slugNoURL slug
site_idNoSite ID to target (optional if you have only one connected site)
descriptionNoTag description

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds nothing on top of that – it doesn't explain that duplicate names may create multiple tags (implied by non-idempotency), nor how site_id targeting behaves in multi-site setups.

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

Conciseness4/5

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

A single front-loaded sentence with no filler or repetition. It is efficient, though the brevity borders on under-specification rather than genuine conciseness.

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

Completeness3/5

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

With no output schema, the description could have said what is returned on success (e.g., the created tag ID). Parameter documentation is fully handled by the schema, so the definition is minimally viable but leaves the return behavior and multi-site targeting unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters (name, slug, site_id, description) are documented in the schema itself. The description adds no syntax, default, or format detail beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Create a new WordPress tag'), so the agent knows exactly what the tool produces. It does not differentiate from the closely related wp_update_tag or wp_create_category siblings in the list, so it falls short of a 5.

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

Usage Guidelines2/5

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

The description gives no when-to-use, when-not-to-use, or prerequisite guidance. It never mentions that wp_update_tag should be used for existing tags rather than this tool, even though that sibling exists.

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

wp_deactivate_pluginDeactivate PluginA
Destructive
Inspect

Deactivate a WordPress plugin. Use wp_list_plugins first to find the plugin slug. Use dry_run=true to preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
pluginYesPlugin slug (e.g. "woocommerce/woocommerce")
dry_runNoIf true, shows what would happen without deactivating
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the risky-mutation profile is known. The description adds only the dry_run preview affordance; it says nothing about reversibility, dependency impact, or permission requirements beyond what annotations cover.

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

Conciseness5/5

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

Three short sentences, front-loaded with the action, then prerequisite, then the safety preview. No filler and nothing wasted.

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

Completeness4/5

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

For a simple 3-parameter tool with no output schema and rich annotations, the description covers the essential call path and a preview option. Missing only edge behavior (already-inactive plugin, dependency warnings), which is minor given the annotation coverage.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (plugin, dry_run, site_id) are already documented in the schema. The description reinforces dry_run and the slug lookup but adds no format or constraint detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Deactivate') and resource ('WordPress plugin'), which cleanly distinguishes it from the sibling wp_activate_plugin by name. It does not, however, explicitly name the sibling or clarify scope (e.g. single site vs network-wide), so it stops short of a 5.

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

Usage Guidelines4/5

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

Gives real workflow guidance: 'Use wp_list_plugins first to find the plugin slug' and 'Use dry_run=true to preview.' That covers ordering and a safe-preview path. It lacks an explicit when-not or prerequisite statement (e.g. what happens if the plugin is already inactive), so not a 5.

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

wp_discover_abilitiesDiscover AbilitiesA
Read-only
Inspect

Discover all registered WordPress Abilities (WordPress 6.9+). Abilities are self-describing plugin operations with input/output schemas and annotations (readonly, destructive, idempotent). Filter by category, namespace, or annotation type. Use this to see what plugin-specific actions are available before running them.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
site_idNoSite ID to target (optional if you have only one connected site)
categoryNoFilter by ability category slug (e.g. "content", "commerce")
per_pageNoNumber of abilities to return (default 50, max 100)
readonlyNoFilter to only read-only abilities (true) or write abilities (false)
namespaceNoFilter by plugin namespace (e.g. "woocommerce", "yoast")
idempotentNoFilter to only idempotent abilities (true)
destructiveNoFilter to only destructive abilities (true) or safe abilities (false)

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description still adds real value by explaining that returned abilities carry their own input/output schemas and readonly/destructive/idempotent annotations, which tells the agent what the payload contains. Pagination behavior is left unstated.

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

Conciseness5/5

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

Four compact sentences, purpose front-loaded, and each sentence contributes (what it does, what abilities are, how to filter, when to use). No filler or repetition of the name/title.

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

Completeness4/5

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

With no output schema, the description usefully characterizes what is returned (schema-bearing, annotated abilities) and how to narrow results. Given 8 params at full schema coverage and annotations carrying the safety profile, the only minor gap is pagination/return-shape specifics.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter (page, per_page, category, namespace, readonly, idempotent, destructive, site_id) is already documented in the schema. The description only restates the filter axes (category, namespace, annotation type) without adding format or interaction detail, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb (discover) and resource (registered WordPress Abilities), and clarifies what an Ability is (self-describing plugin operations). It reads distinctly against the sibling wp_get_ability_info, since this returns the full catalog rather than a single ability's details.

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

Usage Guidelines4/5

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

"Use this to see what plugin-specific actions are available before running them" gives clear when-to-use framing, and the filter axes are named. It stops short of explicitly contrasting with wp_get_ability_info for single-ability lookup, so no exclusion guidance.

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

wp_get_ability_infoGet Ability InfoA
Read-only
Inspect

Get detailed information about a specific WordPress Ability, including its full input/output schema and annotations. Use this before running an ability to understand its parameters and whether it is read-only, destructive, or idempotent.

ParametersJSON Schema
NameRequiredDescriptionDefault
abilityYesThe ability name (e.g. "my-plugin/site-info")
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, covering the safety profile. The description adds the return content (target's schema and safety flags), but discloses nothing about the target ability's own operational traits beyond what annotations on this tool convey. Adequate but not rich.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and followed by the usage directive. No filler or repetition, and every sentence earns its place.

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

Completeness4/5

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

There is no output schema, and the description compensates by describing what is returned (full input/output schema and annotations), which is the key thing an agent needs. Usage context is also given, leaving little missing for a two-parameter read tool.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (ability, site_id) are already documented in the schema. The description adds no syntax, format, or naming guidance beyond what the schema provides, so the baseline 3 applies.

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

Purpose5/5

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

The description states a specific verb and resource ("get detailed information about a specific WordPress Ability") and enumerates what is returned (full input/output schema and annotations). The concept of a single 'Ability' is distinct from sibling list/discovery tools like wp_discover_abilities, so an agent can tell them apart without opening schemas.

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

Usage Guidelines4/5

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

It gives explicit when-to-use guidance: "Use this before running an ability to understand its parameters and whether it is read-only, destructive, or idempotent." This establishes a clear workflow role. It does not name the discovery sibling or state exclusions, so it stops short of a full 5.

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

wp_get_current_userGet Current UserB
Read-only
Inspect

Get information about the currently authenticated WordPress user.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description usefully adds that the user is resolved from the authentication context rather than a parameter, but says nothing about what fields come back or what happens when unauthenticated.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler; the resource and its scope arrive in the first few words.

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

Completeness3/5

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

There is no output schema, so the description is the only place return fields could be described, and it only says 'information' without naming any fields. For a simple one-parameter read tool the gap is minor but real.

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

Parameters3/5

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

Schema coverage is 100% and the single site_id parameter is already documented with its optionality in the schema. The description adds no syntax or multi-site targeting detail beyond that, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: 'Get information about the currently authenticated WordPress user.' The word 'current' scopes it apart from wp_list_users and wp_get_site_info, though the description 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.

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the alternative wp_list_users for fetching other users. The agent must infer that this is for the session's own identity.

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

wp_get_custom_postGet Custom PostB
Read-only
Inspect

Get a single item of any custom post type by its ID and REST base.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID
site_idNoSite ID to target (optional if you have only one connected site)
rest_baseYesREST base of the post type

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, covering the safety profile, so the description only needs to add context. It adds the REST-base addressing requirement but says nothing about return shape, missing/404 behavior, or whether custom fields are included.

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

Conciseness4/5

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

A single front-loaded sentence with no filler; the essentials (single item, any custom type, ID + REST base) come first. It is arguably too terse for a lookup that depends on knowing a valid REST base.

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

Completeness3/5

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

For a simple read-only get with full schema coverage and annotations carrying the safety profile, the description is minimally adequate. With no output schema, it could still tell the agent what the returned item contains or where to obtain a valid rest_base, which is the main completeness gap.

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

Parameters3/5

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

Schema description coverage is 100%, so id, rest_base and site_id are already documented in the schema and the baseline is 3. The description restates id and rest_base but adds no format, validation, or REST-base-discovery detail beyond the structured fields.

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

Purpose4/5

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

States a specific verb (Get) plus the resource (a single item of any custom post type) and names the distinguishing key inputs (ID and REST base). The word 'custom' implicitly separates it from wp_get_post for standard posts, so an agent can differentiate, though the contrast is never stated outright.

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

Usage Guidelines3/5

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

Usage is only implied by the phrase 'any custom post type' - the agent can infer this is for non-core post types while wp_get_post handles standard ones, but no when-to-use, prerequisites, or alternative is named. It also omits that rest_base must come from a registered type (e.g. via wp_list_post_types).

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

wp_get_menuGet MenuA
Read-only
Inspect

Get a specific WordPress menu by ID, including its assigned locations.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMenu ID
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, covering the safety profile. The description adds the return-content detail ('including its assigned locations'), but says nothing about error behavior when an ID is invalid or not found.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler; the resource, lookup key, and notable output detail all appear immediately.

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

Completeness4/5

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

For a simple two-parameter read tool with full schema coverage and safety annotations, the description plus schema covers what an agent needs. The only minor gap is that no output schema exists and the description doesn't enumerate the menu fields returned beyond 'locations'.

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

Parameters3/5

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

Schema description coverage is 100% – both 'id' and 'site_id' are documented in the schema. The description only reinforces the ID semantics and adds nothing about the optional site_id targeting behavior, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Get a specific WordPress menu by ID') and adds scope detail ('including its assigned locations'). It is clearly distinct from sibling list tools like wp_list_menus, though it doesn't name them explicitly.

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

Usage Guidelines3/5

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

The phrase 'by ID' implies you must already have a menu ID (e.g., from wp_list_menus), which is useful implied guidance. However, there is no explicit when-to-use statement or named alternative, so usage is only inferable.

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

wp_get_pageGet PageB
Read-only
Inspect

Get a single WordPress page by ID with full content.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe page ID
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that it returns 'full content', which is a useful behavioral detail distinguishing it from excerpt-level fetches, but says nothing about auth needs 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.

Conciseness4/5

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

A single front-loaded sentence that covers verb, resource, and scope with no wasted words. 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.

Completeness4/5

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

For a simple single-resource read whose annotations already carry the safety profile and whose parameters are fully documented, the description is nearly sufficient. The only gap is the lack of differentiation from similar get_* siblings, which is minor for this complexity level.

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

Parameters3/5

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

Schema description coverage is 100%, so both id and site_id are already documented in the schema. The description reinforces that retrieval is 'by ID' but adds no format or range detail beyond what structured data provides, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb (Get), resource (WordPress page), and scope (single, by ID, full content). It implicitly separates pages from posts via the resource noun, though it doesn't explicitly distinguish itself from close siblings like wp_get_page_html or wp_get_post.

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

Usage Guidelines2/5

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

No when-to-use guidance or alternatives are offered. An agent gets no signal about when to prefer this over wp_get_page_html or wp_get_post, nor any prerequisite conditions such as needing a connected site.

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

wp_get_page_htmlGet Page HTMLA
Read-only
Inspect

Retrieve the rendered HTML of any page on the connected WordPress site. Use this to verify changes you made actually rendered correctly — check headlines, content, meta tags, links, or layout after creating/updating posts, pages, or theme files. Returns cleaned HTML (scripts and styles stripped to save tokens). Supports public pages, drafts (via preview), and custom URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoPage URL on the connected site (e.g. "https://example.com/about"). Must belong to the connected site — external URLs are rejected. If omitted, fetches the homepage.
post_idNoPost/page ID to fetch. Automatically resolves the permalink. Works for drafts too.
site_idNoSite ID to target (optional if you have only one connected site)
selectorNoCSS selector to extract a specific section (e.g. "article", ".entry-content", "#main"). Returns only the matched element's HTML. Omit to get the full page body.
include_metaNoIf true, also returns <head> meta tags (title, description, og:tags, canonical). Useful for SEO verification. Default: false.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, non-destructive, openWorld), so the bar is lower. The description adds real behavioral value: output is cleaned HTML with scripts and styles stripped to save tokens, drafts are reachable via preview, and external URLs are rejected — none of which is in the annotations.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the core action, then the use case, then the return behavior. The verification examples (headlines, meta tags, links, layout) earn their place by clarifying what 'verify' means.

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

Completeness5/5

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

No output schema exists, so the description must explain return values — and it does ('Returns cleaned HTML (scripts and styles stripped to save tokens)'), along with the supported URL/draft cases. An agent has everything needed to call it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented (url, post_id, site_id, selector, include_meta). The description adds no parameter-level 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.

Purpose5/5

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

States a specific verb (retrieve) and resource (rendered HTML of a page) and clarifies the value proposition: seeing what actually rendered, which distinguishes it from structured-data siblings like wp_get_page or wp_get_post.

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

Usage Guidelines4/5

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

Gives explicit when-to-use context ('verify changes you made actually rendered correctly' after create/update operations) and notes supported cases (public pages, drafts via preview, custom URLs). It stops short of naming an alternative sibling to use instead when you want structured data rather than HTML.

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

wp_get_postGet PostB
Read-only
Inspect

Get a single WordPress post by ID. Returns full content, title, status, date, categories, tags, author, and excerpt.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe post ID
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds value by enumerating returned fields, but says nothing about permissions, error behavior for missing IDs, or revision/status scoping. Adequate but not rich against an already-covered annotation set.

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

Conciseness5/5

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

Two tight sentences, zero filler, with the identity of the resource front-loaded and the return payload immediately following. Every clause earns its place.

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

Completeness4/5

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

With no output schema, the description's enumeration of returned fields (content, title, status, date, categories, tags, author, excerpt) usefully compensates and is sufficient for a simple read-only getter. It leaves only multi-site context and failure modes unaddressed, which is minor here.

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

Parameters3/5

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

Schema description coverage is 100% with only two parameters, so the schema already documents 'id' and 'site_id' including the optional multi-site note. The description adds no format, constraint, or scoping detail beyond what the schema provides, making the baseline 3 correct.

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

Purpose4/5

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

States a specific verb and resource ('Get a single WordPress post by ID'), so the agent knows exactly what it retrieves. It does not, however, distinguish itself from close siblings like wp_get_custom_post or wp_get_page, which is the only thing keeping it from a 5.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance. The description never mentions when to prefer this over wp_list_posts, wp_get_custom_post, or wp_get_page, so the agent must infer selection 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_get_settingsGet SettingsB
Read-only
Inspect

Get all WordPress site settings at once (site title, tagline, timezone, date/time format, language, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the useful 'all settings at once' batching note; it says nothing about auth requirements, caching, or response size, so it clears the lowered bar without adding much.

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

Conciseness4/5

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

One tight sentence with the resource and the returned field list front-loaded; no filler. Slightly reduces clarity by burying the 'all at once' batching point after the verb, but it is efficient.

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

Completeness4/5

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

For a read-only getter with full schema coverage and annotations covering safety, the description's field enumeration is enough to call it correctly, and no output schema is needed. The remaining gap is differentiation from wp_get_site_info.

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

Parameters3/5

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

Schema description coverage is 100% and site_id is fully documented in the schema, including the 'optional if you have only one connected site' nuance. The description adds nothing about the parameter, so baseline 3 applies.

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

Purpose4/5

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

Clear verb+resource ('Get ... WordPress site settings') with a parenthetical enumeration of the settings returned, so an agent knows exactly what comes back. It does not differentiate itself from the nearby wp_get_site_info sibling, which could plausibly overlap, so it stops short of a 5.

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

Usage Guidelines2/5

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

The description gives no when-to-use context, no prerequisites, and no routing against wp_get_site_info or wp_update_settings. An agent must infer from the name alone whether this or wp_get_site_info is the right read call.

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

wp_get_site_infoGet Site InfoA
Read-only
Inspect

Get WordPress site information including site name, URL, description, WordPress version, active theme, timezone, language, and list of installed plugins and themes.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the agent knows this is a safe, non-mutating, externally-backed call. The description adds nothing behavioral beyond that, for example whether it requires elevated credentials, whether the plugin/theme listing makes it slow or heavy, or how it behaves on a multi-site setup. It also does not contradict the annotations.

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

Conciseness4/5

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

A single front-loaded sentence with the verb and resource first, followed by the field list. The enumeration is long but each item earns its place because there is no output schema to carry that information; only minor trimming would be possible.

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

Completeness4/5

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

With no output schema, the description carries the burden of telling the agent what comes back, and it does so explicitly (name, URL, description, version, theme, timezone, language, plugins, themes). The single optional parameter is documented in the schema, and annotations cover the safety profile. The only gap is lack of guidance on how this differs from overlapping siblings like wp_site_health or wp_get_settings.

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

Parameters3/5

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

There is one parameter with 100% schema description coverage, so the schema already explains that site_id targets a specific site and is optional when only one site is connected. The description adds no additional detail about multi-site targeting or what happens if the ID is invalid, so the baseline of 3 applies.

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

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (Get) plus resource (WordPress site information) with an explicit enumeration of the returned fields, so an agent knows exactly what comes back. It does not, however, distinguish itself from similarly named siblings such as wp_get_settings, wp_site_health, wp_list_plugins, or wp_list_themes, whose scopes partially overlap (listing plugins/themes).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'get WordPress site information' is self-evidently a discovery/overview call, and it reads naturally as a first step before other wp_* tools. There is no explicit when-to-use guidance and no statement of when to prefer wp_get_settings, wp_site_health, or the dedicated wp_list_plugins/wp_list_themes tools that cover a subset of the same data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_snippetGet SnippetA
Read-only
Inspect

Get a specific code snippet by ID. Returns the full snippet code, type, and status.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSnippet ID
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds the return contents (code, type, status), which is useful given no output schema, but says nothing about error behavior or missing-snippet handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and the return payload, with no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with annotations covering safety and no output schema, the description tells the agent what it fetches and roughly what comes back. Minor gaps remain around not-found behavior and the optional site_id, but nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both 'id' and 'site_id' are already documented in the schema. The description only echoes 'by ID' and adds no syntax or format detail beyond the structured field, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') plus resource ('code snippet') and the lookup key ('by ID'), and names what is returned (code, type, status). It is clearly distinct from wp_list_snippets, though it does not name that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'by ID' implies the tool is for when the identifier is already known, which implicitly routes users to wp_list_snippets for discovery, but no when/when-not guidance or alternative is stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_get_themeGet ThemeB
Read-only
Inspect

Get detailed information about a specific installed theme.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)
stylesheetYesTheme stylesheet slug

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds only that the return is 'detailed', without clarifying what fields are returned, whether an uninstalled/inactive theme errors, or what 'detailed' covers. With annotations carrying the behavioral burden, this is adequate but thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is appropriately sized, though it is terse to the point of under-specifying the return value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of describing what 'detailed information' means, and it does not. For a simple two-parameter getter this is minimally complete, but the vagueness of the return leaves a real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both site_id and stylesheet are already documented in the schema. The description adds no syntax, format, or slug-resolution guidance beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: retrieve detailed information about one installed theme. The word 'specific' and 'theme' separates it conceptually from list-oriented siblings like wp_list_themes, but it never names an alternative or clarifies the boundary against wp_get_site_info or wp_list_themes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as wp_list_themes (to enumerate themes) or wp_update_theme (to modify). Usage is only inferable 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.

wp_install_pluginInstall PluginA
Destructive
Inspect

Install a plugin from wordpress.org by its slug (e.g. "contact-form-7", "woocommerce"). Optionally activate it after install.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesPlugin slug from wordpress.org (e.g. "contact-form-7", "woocommerce", "elementor")
site_idNoSite ID to target (optional if you have only one connected site)
activateNoActivate the plugin after installing (default: false)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the agent knows this is an unsafe, non-repeatable, external-network write. The description confirms the external source is wordpress.org but adds nothing about failures, permissions, or what happens on re-install; a 3 is appropriate given the annotations carry the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core action and scope front-loaded and no filler; the optional activation is mentioned only because it changes the call's effect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent mutation with no output schema, the description covers the essentials (source, identifier, optional activation) but omits failure modes, permission/approval requirements, and whether an already-installed plugin is handled — gaps an agent would want before invoking a destructive tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each parameter is documented in the schema, so the baseline is 3. The description's slug examples and activate note restate what the schema already says rather than adding format or constraint detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (install), resource (plugin), and source (wordpress.org by slug), with concrete slug examples. This cleanly separates it from siblings like wp_install_theme, wp_update_plugin, and wp_activate_plugin without the agent needing to open another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Optionally activate it after install" tells the agent the post-install step is bundled, implying they need not chain wp_activate_plugin. However, there is no explicit guidance on when to prefer this over wp_update_plugin, nor any prerequisites (connected site, credentials, approval flow) despite the surrounding swiftly_* approval tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_install_themeInstall ThemeB
Destructive
Inspect

Install a theme from wordpress.org by its slug. The slug is the URL-friendly name from the theme's wordpress.org page.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesTheme slug from wordpress.org (e.g. flavor, flavor-developer)
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, openWorldHint=true, idempotentHint=false, and readOnlyHint=false, so the risk profile is covered. The description adds that content comes from wordpress.org (an external fetch), but omits notable behaviors such as whether the theme is activated after install, permission requirements, or failure handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and source, with the second sentence clarifying the slug format. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with full schema coverage and complete annotations, the description covers purpose and argument format. It is missing the install-then-activate context and any note about scope (theme vs plugin) that an agent would need to sequence calls correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including the slug format and examples, so the baseline is 3. The description's note that the slug is the URL-friendly name from the theme's wordpress.org page largely restates what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (install) and resource (theme) plus the source constraint (wordpress.org by slug), which distinguishes it from the sibling wp_install_plugin and from theme management tools like wp_list_themes. It is somewhat distinguishable from wp_activate_theme, but the description never clarifies the install-vs-activate relationship.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings such as wp_activate_theme, wp_update_theme, or wp_get_theme, and no mention of prerequisites (e.g., that installation may need to be followed by activation). Usage is only inferable 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.

wp_list_categoriesList CategoriesB
Read-only
Inspect

List all WordPress categories with their ID, name, slug, count, and parent.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
parentNoFilter by parent category ID
searchNoSearch term to filter categories
_fieldsNoComma-separated fields to return (e.g. "id,name,slug,count")
orderbyNo
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber to return (default 100, max 100)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered without the description. The description adds the return shape (id, name, slug, count, parent), which is genuinely useful since no output schema exists, but says nothing about pagination defaults, auth requirements, or how 'count' behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact, front-loaded sentence with no filler, and the returned fields are named early. It could have used its one sentence to cover filtering or pagination instead of the full field list, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, zero-required read tool with no output schema, the description covers the return shape but omits any mention of the filtering (parent, search), pagination, or ordering capabilities the schema exposes. It is minimally viable rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 86%, so the schema already documents page, parent, search, _fields, site_id, and per_page. The description's field list loosely corresponds to the _fields parameter but adds no syntax or format detail beyond what the schema provides; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all WordPress categories') and enumerates the returned fields, so the agent knows exactly what comes back. It does not explicitly distinguish itself from the near-sibling woo_list_product_categories, but 'WordPress categories' implies core taxonomy rather than WooCommerce product categories.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as woo_list_product_categories or the tag-listing tool. The agent must infer when this is preferred over the many sibling 'list' tools 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.

wp_list_commentsList CommentsC
Read-only
Inspect

List WordPress comments with optional filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
postNoFilter by post ID
statusNoComment status filter
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber to return (default 20, max 100)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no mention of pagination behavior, default page size, or result ordering — so it contributes no behavioral context of its own.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero verbosity and no redundancy. It is efficient, though the brevity edges toward under-specification rather than disciplined conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Against a 5-parameter, fully-documented schema and complete read-only annotations, the definition is minimally sufficient but leaves gaps: no return-shape or pagination note that would help an agent page through comments, and no routing to the moderation/reply siblings. Adequate, not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (page, post, status, site_id, per_page) are already documented in the schema with defaults and bounds. The description's 'optional filters' adds no syntax, format, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('List WordPress comments'), which is clearly distinct from mutation tools like wp_moderate_comment or wp_reply_comment. However, it offers no explicit differentiation from sibling read tools (wp_list_posts, wp_search_content), and 'with optional filters' is generic filler rather than naming the filterable dimensions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no alternatives named. The phrase 'with optional filters' implies filtering is possible but never says which filters matter or when to prefer this over wp_search_content or wp_moderate_comment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_custom_postsList Custom PostsA
Read-only
Inspect

List items of any post type using its REST base (e.g. "portfolio", "testimonials", "products"). Use wp_list_post_types first to discover available post types and their rest_base.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
orderNo
searchNoSearch term
statusNoFilter by status (default: publish)
orderbyNo
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber of items (default 20, max 100)
rest_baseYesREST base of the post type (e.g. "portfolio", "events"). Get this from wp_list_post_types.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds no behavioral context beyond that (no pagination behavior, no auth/scope caveats, no note that results may be empty for an unknown rest_base), leaving it at the minimum-viable level.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences: the core action and its addressing mechanism come first, then the required discovery step. No filler, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters and no output schema, the definition never indicates what a listed custom post looks like or how pagination interacts with results beyond the schema's per_page note. The dependency on wp_list_post_types is a good addition, but the return surface remains undocumented for a tool with no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so most parameters are already documented; the enum-constrained filters (status, order, orderby) are self-evident. The description's rest_base examples and provenance largely duplicate the schema's own rest_base description, adding little new meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('items of any post type') and explains the addressing mechanism (REST base), which is distinctive versus wp_list_posts. It does not explicitly contrast with the standard-post sibling, so an agent must infer that this is the generic/custom-type variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit prerequisite chain: call wp_list_post_types first to discover the rest_base value. It stops short of naming when to prefer this over wp_list_posts or woo_list_products, so no exclusion guidance, but the dependency is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_mediaList MediaC
Read-only
Inspect

List items in the WordPress media library with optional filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
searchNoSearch term
_fieldsNoComma-separated fields to return for lighter responses (e.g. "id,title,source_url,media_type")
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber to return (default 20, max 100)
media_typeNoFilter by media type

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds nothing beyond that — no pagination behavior, no note on result volume or ordering. It restates a read of the library, which the annotations already imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no waste. It is efficient, though it is arguably too terse to earn a 5 given the tool's six parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an all-optional read-only list tool with full schema coverage and no output schema, the description is minimally viable. It omits what the response looks like and any pagination/default context not already in the schema, but nothing critical blocks invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all six parameters (page, search, _fields, site_id, per_page, media_type) are already documented in the schema, including the enum and default for per_page. The description adds no syntax or format detail beyond what the schema provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource: 'List items in the WordPress media library'. An agent can distinguish it from wp_upload_media or stock_photo_search by the resource, but the description names no sibling and does not clarify how it differs from other list/search tools like wp_search_content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'with optional filters' merely hints at how the tool is parameterized; it gives no when-to-use, when-not-to-use, or alternative selection guidance. Nothing tells the agent when to pick this over wp_search_content or stock_photo_search.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_menu_itemsList Menu ItemsA
Read-only
Inspect

List all items in a WordPress navigation menu. Returns item title, URL, type, parent, and order.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
menu_idYesMenu ID to list items for
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber to return (default 100)

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), so the bar is lower. The description still adds value by disclosing the returned fields (title, URL, type, parent, order), which matters because there is no output schema. It omits pagination behavior and any rate-limit or volume caveats.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero filler; scope is front-loaded and the return payload is appended where it is most useful. Nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full schema coverage and no output schema, stating the return fields makes the definition largely self-sufficient. The remaining gap is operational: it never explains pagination behavior (page/per_page defaults) or how to obtain the required menu_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (menu_id, site_id, page, per_page) are already documented in the schema. The description adds no parameter-level 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all items in a WordPress navigation menu'), which clearly separates it from listing menus themselves (wp_list_menus) and from mutating tools like wp_add_menu_item. It does not explicitly name a sibling to contrast with, so it stops short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no alternatives, and no prerequisite noted (e.g. that menu_id must be obtained from wp_list_menus). The agent must infer that this is the reader for a single menu's contents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_menu_locationsList Menu LocationsB
Read-only
Inspect

List all theme-registered menu locations (e.g. "primary", "footer", "mobile"). Shows which menu is assigned to each location.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds value by stating what the call returns (the location→menu assignment mapping), which matters because there is no output schema. It does not mention behavior for unassigned locations or sites without a nav menu, leaving a mild gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero padding; the scope statement is front-loaded and the return-content sentence follows immediately. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-optional-parameter, read-only listing tool with annotations and no output schema, the description covers the essentials: what is listed and roughly what comes back. It falls short only on how unassigned locations appear in the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single optional site_id parameter, so the schema already documents its meaning. The description adds nothing about the parameter, so the baseline 3 is the right call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — listing theme-registered menu locations — and clarifies the scope with concrete examples ("primary", "footer", "mobile"). The second sentence states what the result contains (the menu assigned to each location), which implicitly separates it from siblings like wp_list_menus, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no prerequisites (e.g. requiring a connected site / site_id), and never mentions the obvious alternatives wp_list_menus, wp_get_menu, or wp_list_menu_items. Usage must be inferred entirely from the purpose sentence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_menusList MenusA
Read-only
Inspect

List all WordPress navigation menus. Returns menu name, slug, and assigned locations.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber to return (default 100)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds value by naming what comes back (name, slug, assigned locations) in the absence of an output schema, but says nothing about pagination behavior or multi-site scoping.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, purpose front-loaded before the return-value detail. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with no output schema, the description covers purpose and return fields while annotations cover safety and the schema covers all params. Only the pagination/paging behavior (page/per_page exist but the description never notes results are paged) is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all three parameters (page, site_id, per_page) are documented there, so the schema carries the load. The description adds no parameter-level meaning beyond that, which is the correct baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all WordPress navigation menus') and names the return fields. It is clearly distinct from singular sibling wp_get_menu and from the adjacent wp_list_menu_items / wp_list_menu_locations, though it never explicitly says so.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'all' implies this is the enumeration entry point when you don't yet know a menu ID, but there is no explicit when-to-use statement, no exclusion of wp_get_menu for known IDs, and no mention of the wp_list_menu_items follow-up for contents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_pagesList PagesC
Read-only
Inspect

List WordPress pages with optional filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
orderNo
parentNoFilter by parent page ID
searchNoSearch term
statusNoFilter by page status
_fieldsNoComma-separated fields to return for lighter responses (e.g. "id,title,status,date,slug")
orderbyNo
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber of pages to return (max 100, default 20)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds essentially nothing beyond that: no mention of pagination defaults, per_page limits, or the fact that results come from a remote WordPress site. It does not contradict the annotations, but it contributes no extra behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words, correctly leading with the verb and resource. It borders on under-specification rather than over-verbosity, which is the less harmful failure mode here.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 optional parameters, no output schema, and no required params, the definition is minimally viable: the schema and annotations cover most of what an agent needs. However, it omits useful context such as default page size, the meaning of site_id targeting, and when a status of 'any' is appropriate, leaving the definition adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 78%, so the schema already documents most parameters (page, parent, search, status, per_page, _fields, site_id). The description's generic 'optional filters' adds no syntax or meaning beyond what is in the schema; baseline 3 is appropriate when structured fields carry the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('List WordPress pages'), so the agent knows exactly what operation is performed. It does not, however, distinguish this tool from the many other list/get siblings such as wp_list_posts, wp_get_page, divi_list_pages, or elementor_list_pages, leaving disambiguation to the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'with optional filters' implies filtering is possible but gives no guidance on when to choose this tool over wp_list_posts, wp_get_page, or the builder-specific list_pages variants. No prerequisites, no exclusions, no alternative is named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_pluginsList PluginsA
Read-only
Inspect

List all installed WordPress plugins with their status (active/inactive), version, and name.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuine value by disclosing the shape of the result (status active/inactive, version, name) in the absence of an output schema, though it says nothing about ordering or pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the verb and resource, with the returned fields appended. Nothing is wasted and nothing is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full annotation coverage, a fully documented single parameter, and no output schema, the description gives an agent enough to call it and interpret the result. Only ordering/pagination behavior is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single site_id parameter, so the schema carries parameter meaning. The description adds no additional syntax or multi-site targeting detail, which is the expected baseline when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (installed WordPress plugins) plus the returned fields (status, version, name). It is clearly distinct from wp_list_themes and the plugin mutation siblings (wp_activate_plugin, wp_update_plugin) by resource, though it never explicitly names those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance and no mention of alternatives such as wp_activate_plugin/wp_deactivate_plugin for changing status. Usage is only inferable 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.

wp_list_postsList PostsB
Read-only
Inspect

List WordPress posts with optional filters. Returns title, status, date, excerpt, categories, and tags for each post.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
tagsNoComma-separated tag IDs
orderNoSort order
searchNoSearch term to filter posts
statusNoFilter by post status
_fieldsNoComma-separated fields to return for lighter responses (e.g. "id,title,status,date,slug")
orderbyNoField to order by
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber of posts to return (max 100, default 20)
categoriesNoComma-separated category IDs

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds value by enumerating returned fields (title, status, date, excerpt, categories, tags) since no output schema exists, but it omits pagination behavior and default result size, which matter for a 10-parameter list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core purpose front-loaded and no filler. The second sentence about return fields slightly overlaps the schemaless return question but earns its place given there is no output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, filter-heavy list tool with no output schema, the description covers the basics (what is listed, what comes back) but never addresses pagination scope, default limits, or how to disambiguate from the many other list_* siblings. Just enough to call it, not enough to call it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all ten parameters including enums, ranges, and the per_page default are already documented in the schema. The description only hints that filters exist and lists some return fields, adding no syntax or constraint detail beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb+resource ("List WordPress posts") and names the filter capability, so the agent knows exactly what it fetches. It does not, however, distinguish itself from near-siblings like wp_list_custom_posts, wp_list_pages, or wp_search_content, leaving the agent to infer that this tool is only for the built-in 'post' type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"with optional filters" implies the tool can be narrowed but gives no when-to-use guidance, no prerequisites, and no routing to alternatives (e.g. wp_search_content for keyword search, wp_list_custom_posts for CPTs). The agent must derive the usage context entirely from the sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_post_typesList Post TypesA
Read-only
Inspect

List all registered post types on the WordPress site, including custom post types (CPTs). Shows name, description, REST base, and whether they are public/hierarchical.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered externally. The description adds only the shape of the returned fields, not behavior such as whether results are cached, whether unregistered/hidden post types are included, or auth requirements — adequate but thin against the lowered bar.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with zero filler; the core purpose is front-loaded and the return-field detail follows. Nothing needs to be cut.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully enumerates the returned attributes, which is exactly what an agent needs to consume the result. It is nearly complete for a simple zero-required-parameter read tool, with the only remaining gap being when to prefer it over sibling discovery tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (site_id) with 100% schema description coverage, so the schema already carries its meaning. The description adds no information about site_id semantics or multi-site behavior, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (registered post types, including CPTs), and enumerates the returned attributes (name, description, REST base, public/hierarchical). This is unmistakably the registry-listing tool and cannot be confused with wp_list_posts or wp_list_custom_posts, which return post content rather than type definitions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: a reader infers this is a discovery step before creating or querying custom posts, but the description never says when to call it or points at alternatives such as wp_discover_abilities or wp_get_site_info. No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_revisionsList RevisionsA
Read-only
Inspect

List all revisions of a post or page. Shows revision history with author, date, and content changes. Useful for tracking edits and restoring previous versions.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesThe post or page ID
site_idNoSite ID to target (optional if you have only one connected site)
post_typeNoPost type (default: post)

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds return-content context ('author, date, and content changes'), which tells the agent what to expect beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences with the purpose front-loaded in the first. Every sentence contributes, though the second and third are somewhat redundant about the value of revision history.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with full annotation coverage and a complete schema, this is nearly sufficient; the one gap is not directing the agent to wp_restore_revision for the follow-up action. No output schema exists, so the description is right not to over-explain returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so post_id, site_id, and post_type are fully documented in the schema. The description's 'post or page' wording loosely maps to the post_type enum but adds no new parameter semantics. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource: 'List all revisions of a post or page,' and specifies scope ('all'). It gestures at the sibling relationship by mentioning 'restoring previous versions' but never names wp_restore_revision, so the boundary with that sibling is only implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Useful for tracking edits and restoring previous versions' implies usage context but gives no explicit when-to-use/when-not guidance and does not name wp_restore_revision as the tool to call once a revision is identified. The alternative 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.

wp_list_snippetsList SnippetsB
Read-only
Inspect

List code snippets managed by WPCode or Code Snippets plugin. Shows all PHP/JS/CSS snippets with their status (active/inactive).

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by snippet status. Default: "all"
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description usefully adds that snippets come from the WPCode / Code Snippets plugin and that status (active/inactive) is included, but says nothing about return format, pagination, or cross-plugin behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core purpose front-loaded and no filler. The second sentence adds meaningful scope (status field) rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with 100% schema coverage and clear annotations, the description is adequate; the schema covers filtering and the annotations cover behavior. With no output schema, it need not describe return values, though a note on multi-plugin behavior would have been a plus.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, including the enum for status and the optional site_id. The description's mention of active/inactive status loosely echoes the status param but adds no syntax or default information 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (list) and resource (code snippets) and names the managing plugins (WPCode / Code Snippets), so the agent knows exactly what entity is returned. It implies a collection vs. the singular wp_get_snippet sibling but never names it explicitly, so it misses full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance is given, and no alternative is named even though wp_get_snippet exists for retrieving a single snippet. The agent must infer that this is the enumeration counterpart of that tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_tagsList TagsB
Read-only
Inspect

List all WordPress tags with their ID, name, slug, and post count.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
searchNoSearch term to filter tags
_fieldsNoComma-separated fields to return (e.g. "id,name,slug,count")
orderbyNo
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber to return (default 100, max 100)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the returned field list, which is real value given there is no output schema, but says nothing about pagination behavior, default page size, or ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though its brevity borders on being too terse given the tool accepts filtering and pagination parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only listing tool with no output schema, naming the returned fields is the right instinct, but with 6 parameters and no is not fully covered: pagination defaults and the interaction between search, orderby and page are left undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83%, so the schema already documents page, search, _fields, orderby, site_id and per_page. The description's mention of returned fields loosely maps to _fields but adds no syntax or format detail beyond what the schema provides; baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all WordPress tags') and even names the returned fields (ID, name, slug, post count). The tag resource is clearly distinct from sibling list tools like wp_list_categories and wp_list_posts, though the description never explicitly contrasts them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus alternatives such as wp_search_content or wp_list_categories, and no prerequisites or pagination advice. The agent must infer usage 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.

wp_list_themesList ThemesB
Read-only
Inspect

List all installed WordPress themes. Shows which theme is currently active.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds one genuine behavioral fact beyond the annotations: the result indicates which theme is currently active. It says nothing about ordering, pagination, or how much detail per theme is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, with the core action front-loaded and the useful output hint immediately after. Nothing in it is redundant with the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only listing tool with a fully documented single parameter and no output schema, this is nearly sufficient; annotations carry the safety profile. The only meaningful gap is not clarifying the relationship to wp_get_theme and wp_activate_theme in a sibling set where naming is very similar.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single site_id parameter is fully documented in the schema, so the baseline of 3 applies. The description adds no syntax, defaulting, or multi-site behavior beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List all installed WordPress themes') and adds the distinguishing detail that the active theme is flagged. It is clear what the tool does, but it never contrasts itself with the closely named sibling wp_get_theme, so an agent must infer that this one returns the whole collection rather than a single theme.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no exclusions, and no reference to alternatives such as wp_get_theme (single theme) or wp_activate_theme. The agent must derive the selection logic purely from the name and the word 'all'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_list_usersList UsersC
Read-only
Inspect

List WordPress users with role filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
rolesNoComma-separated roles to filter (e.g. "administrator,editor")
searchNoSearch by name or email
site_idNoSite ID to target (optional if you have only one connected site)
per_pageNoNumber to return (default 20, max 100)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds no behavioral context beyond that — no note about pagination defaults, result caps, or what data the user records contain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. It is efficient, though bordering on under-specification given the tool's optional parameters and multi-site targeting.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list tool with 0 required parameters, a fully documented schema, and no output schema, the definition is minimally viable. It leaves unaddressed how results are shaped (which user fields), pagination behavior across pages, and the multi-site targeting implied by site_id.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each of the five optional parameters documented inline (pagination, comma-separated roles, search by name/email, target site). The description only echoes the role filter, so it neither compensates nor detracts — baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List WordPress users') plus one scoping dimension (role filter), which is enough for an agent to identify the operation. It does not explicitly distinguish itself from near-neighbors like wp_get_current_user, but those siblings have clearly different scope so the ambiguity is low.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives, nor any prerequisites (e.g. that site_id is needed for multi-site setups or that this returns all roles by default). The only usage hint is that role filtering is supported, which is implied by the parameter name anyway.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_moderate_commentModerate CommentB
Idempotent
Inspect

Moderate a comment by changing its status (approve, hold, spam, or trash).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesComment ID
statusYesNew comment status
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the status-change action and the four statuses, but it does not disclose auth requirements, side effects beyond status change, or reversibility beyond what the annotations imply. With annotations carrying the safety burden, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is appropriately concise for a simple mutation tool, though it omits useful context that could be included without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity, 100% schema coverage, and annotations that cover the safety profile, the description is minimally complete for invocation. However, it lacks usage guidance and behavioral context beyond the basic action, leaving gaps for an agent that needs to decide when and why to call it versus alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents id, status, and site_id. The description lists the same status values that are in the enum and adds no syntax or format details beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Moderate a comment by changing its status.' It lists the four possible status values, so the operation is identifiable. However, it does not distinguish this tool from siblings like wp_reply_comment or wp_list_comments, which is why it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives, nor does it state prerequisites or exclusions. It only implies usage through the verb 'Moderate,' which is insufficient for an agent deciding 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_reply_commentReply CommentBInspect

Reply to a WordPress comment. Creates a new comment as a reply to an existing comment on a post.

ParametersJSON Schema
NameRequiredDescriptionDefault
postYesPost ID the comment belongs to
parentYesParent comment ID to reply to
contentYesReply content
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, and the description's 'creates a new comment' is consistent with that write profile. It adds the nesting behavior but says nothing about whether the reply is auto-approved or held for moderation, nor about permission requirements for a non-destructive write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the action front-loaded and no filler. The second sentence restates much of the first ('creates a new comment as a reply'), making it mildly redundant rather than wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter creation tool with full schema coverage and annotations covering the safety profile, the description is sufficient to call it correctly. It omits the post-mutation reality an agent may care about, namely whether the reply publishes immediately or enters moderation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and every parameter (post, parent, content, site_id) is documented in the schema itself, so the schema does the heavy lifting. The description adds no format or constraint detail beyond that, which is the expected baseline when coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (reply) and resource (WordPress comment) and clarifies that it creates a new comment nested under an existing one. It does not distinguish itself from related siblings like wp_moderate_comment or wp_list_comments, so the agent must infer the boundary from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use or when-not-to-use guidance and never names an alternative tool. It implies a prerequisite (an existing parent comment) but does not state what happens if the parent is invalid or how this differs from creating a top-level comment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_restore_revisionRestore RevisionAInspect

Restore a post or page to a previous revision. Fetches the revision content and updates the post with it. Supports dry_run to preview what will change.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoIf true, shows what would change without applying
post_idYesThe post or page ID
site_idNoSite ID to target (optional if you have only one connected site)
post_typeNoPost type (default: post)
revision_idYesThe revision ID to restore

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnly=false, destructive=false, idempotent=false, openWorld=true), and the description adds the two-step mechanism plus the dry_run preview mode, which is genuinely useful. It stops short of disclosing what happens to the current post content (overwrite? reversibility?), permission requirements, or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with zero filler; purpose is front-loaded, the mechanism follows, and the optional preview mode is last. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description adequately covers intent, mechanism, and the safe preview path, and annotations carry the safety signals. It lacks notes on reversibility, permissions, or error cases, which would round out a destructive-adjacent operation, but nothing critical to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters including dry_run, post_id, site_id, post_type and revision_id are already documented in the schema. The description's dry_run sentence merely restates what the schema says and adds no format or constraint detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Restore a post or page to a previous revision') and clarifies the mechanism: it fetches the revision content and updates the post with it. This distinguishes it from siblings like wp_list_revisions (discovery only) and wp_update_post (writing new content), so an agent can pick it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The mention of dry_run to 'preview what will change' gives implicit guidance on safe invocation, but there is no explicit statement of prerequisites (e.g., obtain revision_id via wp_list_revisions first) or when-not-to-use alternatives such as wp_update_post for direct edits. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_schedule_postSchedule PostAInspect

Create a new post or page scheduled for future publication. Provide a future date and the content will be automatically published at that time by WordPress.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesScheduled publish date in ISO 8601 format (e.g. "2025-12-25T09:00:00")
tagsNoTag IDs (posts only)
titleYesPost title
contentNoPost content (HTML supported)
excerptNoPost excerpt
site_idNoSite ID to target (optional if you have only one connected site)
post_typeNoPost type (default: post)
categoriesNoCategory IDs (posts only)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds a genuinely non-obvious behavioral trait: the post is created now but published later automatically by WordPress. It omits permission/auth requirements and, notably, how the timezone of the ISO 8601 date is interpreted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both load-bearing: the first defines the operation and its scope, the second explains the required input and the resulting behavior. No filler, and the core purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter mutation tool with annotations but no output schema, the description covers the essential scheduling contract but leaves meaningful gaps: timezone interpretation of the date, the distinction from wp_create_post, and error behavior for past dates. An agent could invoke it correctly, but only by guessing at the sibling routing and date semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 8 parameters and the baseline would be 3. The description adds a real constraint beyond the schema: the date must be in the future for scheduling to make sense, which the schema's 'ISO 8601 format' text does not state. It adds nothing about tags/categories/post_type semantics, but those are covered by the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a new post or page') plus the distinguishing scope qualifier 'scheduled for future publication', which separates it conceptually from wp_create_post / wp_create_page. However, it never names those siblings or explicitly says how it differs from passing a future date to wp_create_post, so an agent must infer the routing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'Provide a future date' tells the agent the precondition, and the phrase 'scheduled for future publication' signals when the tool is appropriate. There is no explicit when-not guidance, no mention of the immediate-publish alternative (wp_create_post) or the reschedule alternative (wp_update_post), and no note about what happens if the date is in the past.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_search_contentSearch ContentC
Read-only
Inspect

Search across all WordPress content (posts, pages, products) by keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoContent type to search (default: post)
searchYesSearch term
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing behavioral beyond that: no result caps, pagination, or ordering behavior for what is presumably a broad site-wide query.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, which is well sized for a simple search tool. It loses a point because the one sentence it does spend contains an inaccuracy (products) rather than a useful constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter read-only search with full schema coverage and annotations, the description is minimally adequate. It omits how many results come back, whether results are paginated, and what fields are returned, which an agent calling a broad search would want to know.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents search, type, and site_id. The description only loosely echoes the search keyword and gets the searchable content types partly wrong, adding no format or syntax detail. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Search) and resource (all WordPress content), which cleanly separates it from the listing siblings like wp_list_posts and wp_list_pages. However, it names 'products' as searchable content, while the schema's type enum only allows post, page, term, and post-format, so the stated scope is partly inaccurate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use keyword search versus the many list_* siblings, no prerequisites, and no exclusions. An agent must infer the distinction from the verb alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_site_healthSite HealthA
Read-only
Inspect

Get WordPress Site Health status including tests for security, performance, and best practices. Returns actionable recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context about what is checked and that recommendations are returned, but does not cover auth needs, rate limits, or result format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action and useful return context. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, read-only tool with one optional parameter and no output schema, the description covers what it does and roughly what it returns. It could mention output structure, but the essential information is present and annotations cover safety.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the only parameter, site_id, is fully documented in the schema including its optional nature. The description adds no parameter details, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Get WordPress Site Health status.' It also names the test categories (security, performance, best practices) and mentions actionable recommendations, making the tool's scope clear and distinguishing it from all siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it—checking site health—but gives no explicit conditions, exclusions, or alternative tools. Since no direct sibling provides site health, the lack of routing is a minor gap rather than misleading.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_trash_pageTrash PageA
Destructive
Inspect

Move a WordPress page to trash. This does NOT permanently delete — the page can be recovered from trash. Use dry_run=true to preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe page ID to trash
dry_runNoIf true, shows what would be trashed without actually doing it
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is largely covered. The description adds real value beyond them by clarifying that the deletion is soft/recoverable and that a dry_run preview is available, which materially changes how an agent should reason about the risk.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and immediately followed by the recoverability caveat and the preview option. Every sentence carries decision-relevant information with no padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with annotations covering destructiveness, the description supplies the key missing behavioral facts (reversibility, dry_run). It does not address permissions, what happens when the page is already trashed, or the shape of the result, but the essentials for correct invocation are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so id, dry_run, and site_id are already fully documented in the schema; baseline is 3. The description echoes dry_run's preview purpose but adds no syntax, format, or constraint detail beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Move a WordPress page to trash") and explicitly distinguishes the operation from permanent deletion, so the agent understands the semantic effect. It does not, however, differentiate itself from the sibling wp_trash_post, which performs the same action on a different post type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives one actionable usage hint — "Use dry_run=true to preview" — which is genuine guidance for a mutating tool. It offers no guidance on when to prefer this over siblings like wp_trash_post or wp_update_page, or when trashing is inappropriate, 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.

wp_trash_postTrash PostA
Destructive
Inspect

Move a WordPress post to trash. This does NOT permanently delete — the post can be recovered from trash within 30 days. Use dry_run=true to preview what will be trashed without executing.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe post ID to trash
dry_runNoIf true, shows what would be trashed without actually doing it
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds valuable behavioral context beyond the annotations by clarifying this is non-permanent, recoverable within 30 days, and previewable via dry_run. It does not cover permissions or rate limits, so not 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tightly written sentences with zero waste: the action, the non-permanent behavior, and the dry_run option. The core action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple trash operation with full schema coverage and annotations, the description covers what it does, its recoverable nature, and the dry_run preview. No output schema exists, so return values need not be explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents id, dry_run, and site_id. The description only reinforces dry_run usage, adding no new syntax or meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Move a WordPress post to trash.' It distinguishes itself from sibling tools like wp_trash_page and woo_trash_product by specifying the post resource, so an agent can identify it without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: use this to trash a post, and use dry_run=true to preview without executing. It does not name explicit alternatives or exclusions, but no direct alternative is needed since it targets a distinct resource.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_categoryUpdate CategoryA
Idempotent
Inspect

Update an existing WordPress category. Only provide the fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCategory ID to update
nameNoNew category name
slugNoNew URL slug
parentNoNew parent category ID
site_idNoSite ID to target (optional if you have only one connected site)
descriptionNoNew category description

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the meaningful partial-update behavior (unmentioned fields are left untouched), which goes beyond the annotations, but says nothing about failure modes or whether omitted fields are preserved vs. cleared.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler; the purpose is front-loaded and the one actionable rule follows it directly. 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter mutation tool, the combination of a fully described schema, complete safety annotations, and the partial-update note leaves little an agent needs to know before calling it. Missing only minor context such as behavior on an invalid or nonexistent category id, and no output schema exists so return values need not be explained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented in the schema and the baseline is 3. The description adds no syntax, format, or constraint detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Update an existing WordPress category"), so the agent knows exactly what operation is performed. It does not, however, differentiate itself from adjacent siblings such as wp_update_tag or wp_create_category, which would require an explicit contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Only provide the fields you want to change" implies partial-update semantics and is genuinely useful guidance for a mutation tool. However, there is no statement of when to prefer this over wp_create_category or wp_update_tag, and no mention of prerequisites such as needing a valid category id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_custom_postUpdate Custom PostB
Idempotent
Inspect

Update an existing item of any custom post type. Only provide fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPost ID to update
metaNoCustom meta fields to update
titleNo
statusNo
contentNo
excerptNo
site_idNoSite ID to target (optional if you have only one connected site)
rest_baseYesREST base of the post type

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the partial-update semantic, a genuine behavioral trait beyond the annotations, but says nothing about permissions, what happens to omitted fields, or the meta merge behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler, front-loaded on the action, followed by the key partial-update constraint. Appropriately sized, though not ambitiously informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter mutation tool with a nested meta object and no output schema, the description covers the core action but omits how meta should be shaped, what rest_base values are valid, and the meaning of the status enum. Annotations carry the safety story, so a minimum-viable 3 is fair.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (id, meta, site_id, rest_base documented; title, status, content, excerpt bare). The description only vaguely refers to 'fields' and adds no syntax or format detail beyond what the schema provides, so it does not compensate for the undocumented half.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (update a custom post type item) and scopes it to 'any custom post type.' It is distinguishable from siblings like wp_update_post and wp_create_custom_post by the 'custom post type' qualifier, though it never explicitly names those siblings as alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Only provide fields you want to change' gives real usage guidance for a partial-update call, which is more than nothing. However, it offers no when-to-use-vs-alternative routing (e.g., when to use this instead of wp_update_post), and no prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_menuUpdate MenuC
Idempotent
Inspect

Update a WordPress navigation menu (name, slug, or locations).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMenu ID to update
nameNoNew menu name
site_idNoSite ID to target (optional if you have only one connected site)
locationsNoTheme locations to assign

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered by structured data. The description adds nothing behavioral beyond that: it does not say what happens to omitted fields (partial vs. full replace), whether locations are appended or replaced, or what permissions are required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the operation front-loaded and zero filler. It is efficiently sized, though the brevity comes at the cost of the missing detail noted elsewhere rather than being a model of dense information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with four parameters, no output schema, and no annotations about return values, the description should at least clarify partial-update semantics and the site_id targeting rule. As written, an agent cannot tell whether omitting 'name' or 'locations' clears them or leaves them untouched.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description actively introduces a discrepancy: it claims 'slug' is updatable while the schema exposes no slug property (and sets additionalProperties=false). It also omits site_id, which the schema flags as optional only when a single site is connected.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (Update) and resource (WordPress navigation menu) and enumerates the mutable fields, so an agent knows exactly what the tool operates on. It does not, however, distinguish this from siblings like wp_get_menu, wp_list_menus, or wp_add_menu_item, which an agent must infer from the names alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as wp_get_menu (to read before updating) or wp_list_menu_locations (to discover valid locations). The agent is left to infer the workflow entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_pageUpdate PageA
Idempotent
Inspect

Update an existing WordPress page. Only provide the fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe page ID to update
titleNoNew page title
parentNoParent page ID
statusNo
contentNoNew page content (HTML supported)
site_idNoSite ID to target (optional if you have only one connected site)
menu_orderNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a non-destructive, idempotent, open-world write, so the safety profile is covered. The description adds the partial-update semantics (unmentioned fields are left alone), which is real value, but it says nothing about required capabilities, whether status transitions publish live content, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the action stated first and the key operational constraint second. Nothing is padded or repeated from the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutation tool with no output schema, the description covers the most important mental model (partial update) but omits target-site behavior when multiple sites are connected, permission/auth requirements, and any note on the status enum's effect on a published page.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 71%, so most parameters are documented in the schema itself. The description adds only the optionality/partial-update principle, not per-parameter meaning, and omissions like the undocumented status and menu_order fields are not compensated for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Update an existing WordPress page'), which is unambiguous on its own. However, it offers no differentiation from the many closely named siblings such as wp_update_post, wp_update_custom_post, or wp_update_category, so the agent must infer that 'page' means the WordPress page post type specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The instruction 'Only provide the fields you want to change' is a genuine invocation guideline implying a partial/merge update, which usefully sets expectations. But it gives no when-to-use context, no prerequisites, and no routing toward alternatives like wp_get_page (to inspect first) or wp_update_post for other post types.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_pluginUpdate PluginA
Idempotent
Inspect

Safely update a WordPress plugin to its latest version. Runs in background with automatic fallbacks. Use the Command Center (swiftly_command_center) to see which plugins have updates available.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesPlugin slug to update (e.g. "akismet", "woocommerce"). Use the slug from the updates list, NOT the full file path.
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety posture is partly covered. The description still adds real value beyond that: background execution and 'automatic fallbacks', which tell the agent the call is non-blocking and resilient to partial failure. It stops short of stating what a fallback does (e.g., rollback) or what the caller observes on failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no filler: the action is front-loaded, then behavior, then the prerequisite lookup. Every sentence earns its place and nothing is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation with full schema coverage and no output schema, the description covers purpose, background behavior and how to find updatable plugins. Gaps remain around the approval flow implied by the swiftly_* approval siblings and what the agent should expect on failure, but nothing critical to invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the slug parameter is fully documented, including the warning to use the slug rather than the full file path, and site_id is described. The description adds nothing about parameters beyond implying no version argument is needed, so the schema does the heavy lifting and the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('update a WordPress plugin') plus the target state ('to its latest version'), which cleanly separates it from siblings like wp_install_plugin, wp_activate_plugin and wp_update_theme. It does not explicitly name those siblings, so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use the Command Center (swiftly_command_center) to see which plugins have updates available' gives a concrete prerequisite workflow and names the companion tool. It supplies clear when-to-use context but no when-not-to-use or exclusion conditions (e.g., plugin already current, incompatible plugin).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_postUpdate PostB
Idempotent
Inspect

Update an existing WordPress post. Only provide the fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe post ID to update
tagsNoArray of tag IDs
titleNoNew post title
authorNoNew author user ID
statusNoNew post status
contentNoNew post content (HTML supported)
excerptNoNew post excerpt
site_idNoSite ID to target (optional if you have only one connected site)
categoriesNoArray of category IDs
featured_mediaNoFeatured image media ID

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the PATCH-like partial-update behavior (omitted fields are preserved), which is genuine context not in the annotations, but says nothing about permissions, publish side effects, or validation failures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action and followed by the key operating instruction, with no filler. It is tight, though the second sentence restates fairly standard partial-update semantics rather than adding new information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter write tool with no output schema, the fully documented input schema and safety annotations carry most of the load. The description still leaves the agent without routing guidance against the ACF/sibling update tools, which is a real gap for this crowded namespace.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including the status enum and featured_media is documented in the schema itself. The description adds no parameter-level semantics beyond that, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Update an existing WordPress post'), which clearly separates it from wp_update_page or wp_update_custom_post. However, it never names a sibling or scopes itself explicitly, so the differentiation is left to the agent's inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Only provide the fields you want to change' gives useful partial-update guidance but no when-to-use or when-not-to-use framing. Nothing tells the agent when to prefer acf_update_post_fields or acf_update_post_fields for custom fields, 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.

wp_update_settingsUpdate SettingsA
Destructive
Inspect

Update WordPress site settings. Only provide the fields you want to change. Common fields: title, description (tagline), timezone_string, date_format, time_format, posts_per_page, default_comment_status.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoSite title
site_idNoSite ID to target (optional if you have only one connected site)
date_formatNoDate format (e.g. "F j, Y")
descriptionNoSite tagline
time_formatNoTime format (e.g. "g:i a")
posts_per_pageNoBlog pages show at most N posts
timezone_stringNoTimezone (e.g. "America/New_York")
default_comment_statusNoDefault comment status for new posts

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, readOnlyHint=false and openWorldHint=true, so the safety profile is covered. The description adds the partial-update instruction but says nothing about the fact that these are site-wide global settings whose changes affect every page and user, which is relevant context for a tool annotated as destructive. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core action front-loaded and the partial-update rule immediately after. The field enumeration is mildly redundant with the schema but still earned as a quick reference.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Eight fully documented parameters, no nested objects, and annotations covering the safety profile mean an agent can call this correctly from the combined description plus schema. The only meaningful omission is scope awareness (that these settings are site-wide), which is a minor gap given no output schema exists to explain results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all 8 parameters carry their own descriptions, so the schema does the heavy lifting. The description's list of "common fields" largely mirrors what the schema already documents and adds no syntax, format, or default-value detail beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Update WordPress site settings") and enumerates the common fields that can be changed, which makes the tool's job unambiguous next to wp_get_settings. However, it does not explicitly name the read counterpart or any other sibling it competes with, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Only provide the fields you want to change" usefully implies partial-update semantics, which is implied guidance on how to call it. There is no statement of when to use this tool versus wp_get_settings or other update tools, and no prerequisites (e.g. site_id requirement when multiple sites are connected).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_tagUpdate TagA
Idempotent
Inspect

Update an existing WordPress tag. Only provide the fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTag ID to update
nameNoNew tag name
slugNoNew URL slug
site_idNoSite ID to target (optional if you have only one connected site)
descriptionNoNew tag description

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile: readOnlyHint=false (a mutation), idempotentHint=true, destructiveHint=false, and openWorldHint=true. The description adds the patch-style behavior that unspecified fields are left unchanged, which is genuinely useful context beyond the annotations. It does not, however, cover permission/auth requirements or the response shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with what the tool does followed by the key operational hint. No filler, though neither sentence is doing quite enough work to merit a top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-resource update tool with full schema coverage, no output schema, and annotations carrying the safety profile, the description is largely sufficient. The patch hint removes the main ambiguity (whether omitted fields get cleared), though required-id and auth expectations remain unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (id, name, slug, site_id, description) are already documented in the schema. The description only adds the generic patch instruction and no format or syntax detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Update an existing WordPress tag') that clearly separates it from wp_create_tag and wp_list_tags. However, it does not explicitly distinguish itself from other update siblings such as wp_update_category or wp_update_post, so an agent must infer the resource scope from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The line 'Only provide the fields you want to change' implies partial-update/patch semantics, which is useful guidance. But there is no explicit when-to-use vs alternatives statement and no prerequisites mentioned (e.g., an existing tag ID must be supplied). Usage is implied rather than specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_update_themeUpdate ThemeA
Idempotent
Inspect

Safely update a WordPress theme to its latest version. Runs in background with automatic fallbacks. Use the Command Center (swiftly_command_center) to see which themes have updates available.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesTheme slug to update (e.g. "twentytwentyfour", "astra"). Use the slug from the updates list.
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-destructive, idempotent write, so the safety profile is covered. The description adds genuine behavioral context beyond that: 'Runs in background with automatic fallbacks,' which tells the agent the operation is asynchronous and self-recovering. It does not detail what the fallbacks do or whether approval is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the core action and followed by the companion-tool pointer. No filler and nothing redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation tool with full schema coverage and no output schema, the definition supplies the key missing context (background execution, fallbacks, where to find eligible themes). It is essentially complete, though a note on approval or failure behavior would seal it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema descriptions already explain both the slug (with examples and the 'use the slug from the updates list' guidance) and site_id. The description adds no parameter meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('update a WordPress theme to its latest version'), which is clear and unambiguous. It does not, however, explicitly distinguish itself from adjacent siblings like wp_install_theme or wp_activate_theme, which an agent might otherwise confuse with updating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to swiftly_command_center to discover which themes have updates available, giving concrete pre-call context. It stops short of naming when NOT to use this tool (e.g., for installs or activations), so it lacks full exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wp_upload_mediaUpload MediaAInspect

Upload an image to the WordPress media library from a URL. Returns the media ID and URL which can be used as featured images for posts or products.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the image to upload
titleNoTitle for the media item
site_idNoSite ID to target (optional if you have only one connected site)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, open-world, non-idempotent write that is not destructive, so the safety profile is covered. The description adds that input is fetched from a URL and that a media ID and URL are returned, but it does not warn that repeat uploads create duplicates (relevant given idempotentHint=false) or state any permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the action front-loaded and the return-value payoff second. No filler, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly compensates by naming the returned media ID and URL. For a low-complexity, three-parameter tool with full schema coverage this is close to sufficient, though duplicate-creation and permission behavior remain unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all three parameters are documented in the schema, so the baseline is 3. The description restates the URL source but adds no format, constraint, or multi-site behavior beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (upload), resource (image/media library), and source (from a URL), making it immediately distinguishable from siblings like wp_list_media or stock_photo_search. An agent knows exactly what the tool does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The downstream use case ('can be used as featured images for posts or products') implies when the result is useful, but there is no explicit when-to-use guidance, no exclusions, and no mention of alternatives such as stock_photo_search or swiftly_request_upload. 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedwoo_list_products1 field changed
      • changedInput schema / properties / status / description
        Previous value: -"Product status"New value: +"Product status (default: publish)"
    • Changedwoo_low_stock_report3 fields changed
      • changedInput schema / properties / stock_status / description
        Previous value: -"Filter by stock status (default shows out of stock and low stock)"New value: +"Deprecated alias for \"type\". Use \"type\" instead. \"instock\" is mapped to \"lowstock\"."
      • changedInput schema / properties / stock_status / enum
        Previous value: -[
        -  "outofstock",
        -  "onbackorder",
        -  "instock"
        -]New value: +[
        +  "lowstock",
        +  "outofstock",
        +  "onbackorder",
        +  "instock"
        +]
      • addedInput schema / properties / type
        Added value: +{
        +  "description": "Filter: \"lowstock\" (default) — items at or below the WooCommerce low-stock threshold, \"outofstock\", or \"onbackorder\"",
        +  "enum": [
        +    "lowstock",
        +    "outofstock",
        +    "onbackorder"
        +  ],
        +  "type": "string"
        +}
    • Changedwoo_update_variation1 field changed
      • addedInput schema / properties / manage_stock
        Added value: +{
        +  "description": "Enable stock management for this variation",
        +  "type": "boolean"
        +}
  2. 1 tool update
    • Changedwoo_list_product_categories1 field changed
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Page number for pagination",
        +  "minimum": 1,
        +  "type": "integer"
        +}
  3. 73 tool updates
    • Removeddivi_clone_page
    • Removedelementor_clone_page
    • Removedelementor_save_page
    • Removedseo_bulk_audit
    • Removedseo_get_sitemap_status
    • Removedseo_update_post_meta
    • Removedwoo_bulk_update_prices
    • Removedwoo_bulk_update_products
    • Removedwoo_bulk_update_stock
    • Removedwoo_create_customer
    • Removedwoo_create_order
    • Removedwoo_create_refund
    • Removedwoo_delete_coupon
    • Removedwoo_get_payment_gateways
    • Removedwoo_get_shipping_zones
    • Removedwoo_get_tax_rates
    • Removedwoo_top_products
    • Removedwoo_trash_order
    • Removedwoo_update_customer
    • Removedwoo_update_order
    • Removedwp_bulk_update_posts
    • Removedwp_cache_flush
    • Removedwp_create_menu
    • Removedwp_create_snippet
    • Removedwp_create_theme
    • Removedwp_create_user
    • Removedwp_cron_list
    • Removedwp_cron_run
    • Removedwp_delete_category
    • Removedwp_delete_media
    • Removedwp_delete_menu
    • Removedwp_delete_menu_item
    • Removedwp_delete_plugin
    • Removedwp_delete_tag
    • Removedwp_delete_user
    • Removedwp_discover_endpoints
    • Removedwp_edit_template_part
    • Removedwp_edit_theme_file
    • Removedwp_edit_theme_template
    • Removedwp_export_content
    • Removedwp_get_global_styles
    • Removedwp_get_rendered_page
    • Removedwp_get_theme_preview_url
    • Removedwp_list_ability_categories
    • Changedwp_list_categories2 fields changed
      • addedInput schema / properties / _fields
        Added value: +{
        +  "description": "Comma-separated fields to return (e.g. \"id,name,slug,count\")",
        +  "type": "string"
        +}
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Page number for pagination",
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Changedwp_list_media1 field changed
      • addedInput schema / properties / _fields
        Added value: +{
        +  "description": "Comma-separated fields to return for lighter responses (e.g. \"id,title,source_url,media_type\")",
        +  "type": "string"
        +}
    • Changedwp_list_menu_items1 field changed
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Page number for pagination",
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Changedwp_list_menus1 field changed
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Page number for pagination",
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Changedwp_list_pages1 field changed
      • addedInput schema / properties / _fields
        Added value: +{
        +  "description": "Comma-separated fields to return for lighter responses (e.g. \"id,title,status,date,slug\")",
        +  "type": "string"
        +}
    • Changedwp_list_posts1 field changed
      • addedInput schema / properties / _fields
        Added value: +{
        +  "description": "Comma-separated fields to return for lighter responses (e.g. \"id,title,status,date,slug\")",
        +  "type": "string"
        +}
    • Removedwp_list_scheduled
    • Changedwp_list_tags2 fields changed
      • addedInput schema / properties / _fields
        Added value: +{
        +  "description": "Comma-separated fields to return (e.g. \"id,name,slug,count\")",
        +  "type": "string"
        +}
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Page number for pagination",
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Removedwp_list_template_parts
    • Removedwp_list_templates
    • Removedwp_list_theme_files
    • Changedwp_list_users1 field changed
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Page number for pagination",
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Removedwp_maintenance_mode
    • Removedwp_option_get
    • Removedwp_option_update
    • Removedwp_read_theme_file
    • Removedwp_rest_api
    • Removedwp_rewrite_flush
    • Removedwp_run_ability
    • Removedwp_run_cli
    • Removedwp_search_replace
    • Removedwp_transient_delete
    • Removedwp_update_core
    • Removedwp_update_global_styles
    • Removedwp_update_media
    • Removedwp_update_menu_item
    • Removedwp_update_snippet
    • Removedwp_update_user
    • Removedwp_write_theme_file
  4. 4 tool updates
    • Changedwoo_create_refund1 field changed
      • addedInput schema / properties / dry_run
        Added value: +{
        +  "description": "If true, preview the refund details without actually processing it",
        +  "type": "boolean"
        +}
    • Changedwp_create_post1 field changed
      • addedInput schema / properties / author
        Added value: +{
        +  "description": "Author user ID (defaults to authenticated user)",
        +  "exclusiveMinimum": 0,
        +  "type": "integer"
        +}
    • Changedwp_install_theme1 field changed
      • changedInput schema / properties / slug / description
        Previous value: -"Theme slug from wordpress.org (e.g. \"flavor\", \"flavor-developer\")"New value: +"Theme slug from wordpress.org (e.g. flavor, flavor-developer)"
    • Changedwp_update_post1 field changed
      • addedInput schema / properties / author
        Added value: +{
        +  "description": "New author user ID",
        +  "exclusiveMinimum": 0,
        +  "type": "integer"
        +}
  5. 4 tool updates
    • Changedwp_discover_abilities8 fields changed
      • addedInput schema / properties / category
        Added value: +{
        +  "description": "Filter by ability category slug (e.g. \"content\", \"commerce\")",
        +  "type": "string"
        +}
      • addedInput schema / properties / destructive
        Added value: +{
        +  "description": "Filter to only destructive abilities (true) or safe abilities (false)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / idempotent
        Added value: +{
        +  "description": "Filter to only idempotent abilities (true)",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / namespace
        Added value: +{
        +  "description": "Filter by plugin namespace (e.g. \"woocommerce\", \"yoast\")",
        +  "type": "string"
        +}
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Page number for pagination",
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / per_page
        Added value: +{
        +  "description": "Number of abilities to return (default 50, max 100)",
        +  "maximum": 100,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / readonly
        Added value: +{
        +  "description": "Filter to only read-only abilities (true) or write abilities (false)",
        +  "type": "boolean"
        +}
      • removedInput schema / properties / search
        Removed value: -{
        -  "description": "Search term to filter abilities by name or description",
        -  "type": "string"
        -}
    • Changedwp_get_ability_info1 field changed
      • changedInput schema / properties / ability / description
        Previous value: -"The ability name/slug to get details for"New value: +"The ability name (e.g. \"my-plugin/site-info\")"
    • Addedwp_list_ability_categories
    • Changedwp_run_ability1 field changed
      • changedInput schema / properties / ability / description
        Previous value: -"The ability name/slug to execute"New value: +"The ability name (e.g. \"my-plugin/site-info\")"
  6. 22 tool updates
    • Addedacf_get_field_group
    • Addedacf_get_options
    • Addedacf_get_post_fields
    • Addedacf_list_field_groups
    • Addedacf_update_post_fields
    • Addeddivi_clone_page
    • Addeddivi_get_page_data
    • Addeddivi_list_layouts
    • Addeddivi_list_pages
    • Addedelementor_clone_page
    • Addedelementor_get_page_data
    • Addedelementor_get_widget_schema
    • Addedelementor_list_global_widgets
    • Addedelementor_list_pages
    • Addedelementor_list_templates
    • Addedelementor_list_widgets
    • Addedelementor_save_page
    • Addedseo_analyze_content
    • Addedseo_bulk_audit
    • Addedseo_get_post_meta
    • Addedseo_get_sitemap_status
    • Addedseo_update_post_meta
  7. 3 tool updates
    • Addedswiftly_decline_action
    • Changedswiftly_process_upload1 field changed
      • changedInput schema / properties / upload_id / description
        Previous value: -"The upload ID"New value: +"The upload ID returned by swiftly_request_upload"
    • Changedwp_get_page_html1 field changed
      • changedInput schema / properties / url / description
        Previous value: -"Full page URL to fetch (e.g. \"https://example.com/about\"). If omitted, fetches the homepage."New value: +"Page URL on the connected site (e.g. \"https://example.com/about\"). Must belong to the connected site — external URLs are rejected. If omitted, fetches the homepage."
  8. 152 tool updates
    • First observedstock_photo_search
    • First observedswiftly_check_approval
    • First observedswiftly_check_upload
    • First observedswiftly_command_center
    • First observedswiftly_connect_site
    • First observedswiftly_disconnect_site
    • First observedswiftly_execute_approved
    • First observedswiftly_list_sites
    • First observedswiftly_photo_gallery
    • First observedswiftly_plan_info
    • First observedswiftly_process_upload
    • First observedswiftly_request_approval
    • First observedswiftly_request_upload
    • First observedwoo_add_order_note
    • First observedwoo_bulk_update_prices
    • First observedwoo_bulk_update_products
    • First observedwoo_bulk_update_stock
    • First observedwoo_create_coupon
    • First observedwoo_create_customer
    • First observedwoo_create_order
    • First observedwoo_create_product
    • First observedwoo_create_product_category
    • First observedwoo_create_refund
    • First observedwoo_delete_coupon
    • First observedwoo_get_coupon
    • First observedwoo_get_customer
    • First observedwoo_get_order
    • First observedwoo_get_payment_gateways
    • First observedwoo_get_product
    • First observedwoo_get_shipping_zones
    • First observedwoo_get_tax_rates
    • First observedwoo_list_coupons
    • First observedwoo_list_customers
    • First observedwoo_list_order_notes
    • First observedwoo_list_orders
    • First observedwoo_list_product_categories
    • First observedwoo_list_products
    • First observedwoo_list_refunds
    • First observedwoo_list_variations
    • First observedwoo_low_stock_report
    • First observedwoo_sales_report
    • First observedwoo_top_products
    • First observedwoo_trash_order
    • First observedwoo_trash_product
    • First observedwoo_update_coupon
    • First observedwoo_update_customer
    • First observedwoo_update_order
    • First observedwoo_update_order_status
    • First observedwoo_update_product
    • First observedwoo_update_variation
    • First observedwp_activate_plugin
    • First observedwp_activate_theme
    • First observedwp_add_menu_item
    • First observedwp_bulk_update_posts
    • First observedwp_cache_flush
    • First observedwp_create_category
    • First observedwp_create_custom_post
    • First observedwp_create_menu
    • First observedwp_create_page
    • First observedwp_create_post
    • First observedwp_create_snippet
    • First observedwp_create_tag
    • First observedwp_create_theme
    • First observedwp_create_user
    • First observedwp_cron_list
    • First observedwp_cron_run
    • First observedwp_deactivate_plugin
    • First observedwp_delete_category
    • First observedwp_delete_media
    • First observedwp_delete_menu
    • First observedwp_delete_menu_item
    • First observedwp_delete_plugin
    • First observedwp_delete_tag
    • First observedwp_delete_user
    • First observedwp_discover_abilities
    • First observedwp_discover_endpoints
    • First observedwp_edit_template_part
    • First observedwp_edit_theme_file
    • First observedwp_edit_theme_template
    • First observedwp_export_content
    • First observedwp_get_ability_info
    • First observedwp_get_current_user
    • First observedwp_get_custom_post
    • First observedwp_get_global_styles
    • First observedwp_get_menu
    • First observedwp_get_page
    • First observedwp_get_page_html
    • First observedwp_get_post
    • First observedwp_get_rendered_page
    • First observedwp_get_settings
    • First observedwp_get_site_info
    • First observedwp_get_snippet
    • First observedwp_get_theme
    • First observedwp_get_theme_preview_url
    • First observedwp_install_plugin
    • First observedwp_install_theme
    • First observedwp_list_categories
    • First observedwp_list_comments
    • First observedwp_list_custom_posts
    • First observedwp_list_media
    • First observedwp_list_menu_items
    • First observedwp_list_menu_locations
    • First observedwp_list_menus
    • First observedwp_list_pages
    • First observedwp_list_plugins
    • First observedwp_list_post_types
    • First observedwp_list_posts
    • First observedwp_list_revisions
    • First observedwp_list_scheduled
    • First observedwp_list_snippets
    • First observedwp_list_tags
    • First observedwp_list_template_parts
    • First observedwp_list_templates
    • First observedwp_list_theme_files
    • First observedwp_list_themes
    • First observedwp_list_users
    • First observedwp_maintenance_mode
    • First observedwp_moderate_comment
    • First observedwp_navigate
    • First observedwp_option_get
    • First observedwp_option_update
    • First observedwp_read_theme_file
    • First observedwp_reply_comment
    • First observedwp_rest_api
    • First observedwp_restore_revision
    • First observedwp_rewrite_flush
    • First observedwp_run_ability
    • First observedwp_run_cli
    • First observedwp_schedule_post
    • First observedwp_search_content
    • First observedwp_search_replace
    • First observedwp_site_health
    • First observedwp_transient_delete
    • First observedwp_trash_page
    • First observedwp_trash_post
    • First observedwp_update_category
    • First observedwp_update_core
    • First observedwp_update_custom_post
    • First observedwp_update_global_styles
    • First observedwp_update_media
    • First observedwp_update_menu
    • First observedwp_update_menu_item
    • First observedwp_update_page
    • First observedwp_update_plugin
    • First observedwp_update_post
    • First observedwp_update_settings
    • First observedwp_update_snippet
    • First observedwp_update_tag
    • First observedwp_update_theme
    • First observedwp_update_user
    • First observedwp_upload_media
    • First observedwp_write_theme_file

Publisher details

Operator
SwiftlyWP
Operator website
https://swiftlymcp.com
Vendor relationship
First-party
Trust center
Unknown
Restrictions
Unknown

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources