Skip to main content
Glama

MCP Hub

The AI-native management hub for WordPress, WooCommerce, and self-hosted services.

Connect your sites, stores, repos, and databases — manage them all through Claude, ChatGPT, Cursor, or any MCP client.

GitHub Release License: MIT Python 3.11+ PyPI Docker Plugins: 8 CI


Why MCP Hub?

WordPress powers 43% of the web. WooCommerce runs 36% of online stores. Yet no MCP server existed for managing them through AI — until now.

MCP Hub is the first MCP server that lets you manage WordPress, WooCommerce, and 8 other self-hosted services through any AI assistant. Instead of clicking through dashboards, just tell your AI what to do:

"Update the SEO meta description for all WooCommerce products that don't have one"

"Create a new blog post about our Black Friday sale and schedule it for next Monday"

"Check the health of all 12 WordPress sites and report any with slow response times"

What Makes MCP Hub Different

Feature

ManageWP

MainWP

AI Content Plugins

MCP Hub

Multi-site management

Yes

Yes

No

Yes

AI agent integration

No

No

No

Native (MCP)

Full WordPress API

Dashboard

Dashboard

Content only

67 tools

WooCommerce management

No

Limited

No

28 tools

Git/CI management

No

No

No

65 tools (Gitea)

Automation workflows

No

No

No

56 tools (n8n)

Self-hosted

No

Yes

N/A

Yes

Open source

No

Core only

Varies

Fully open

Price

$0.70-8/site/mo

$29-79/yr

$19-79/mo

Free


Related MCP server: WordPress MCP Server

8 Public Plugins, Hundreds of Tools

The exact tool count grows as new plugins ship and existing ones gain endpoints. What you actually expose is controlled by your ENABLED_PLUGINS setting and per-key scope — pick a plugin-specific endpoint to keep the surface area small.

Plugin

Approx. Tools

What You Can Do

WordPress

~70

Posts, pages, media (incl. AI image generation), users, menus, taxonomies, SEO (Rank Math/Yoast)

WooCommerce

~30

Products, orders, customers, coupons, reports, shipping

WordPress Specialist

~50

Plugins, themes, users, options, cron, page editing, site config + layout, db inspection, bulk fan-out (companion-backed; no Docker socket)

Gitea

~65

Repos, issues, pull requests, releases, webhooks, organizations, labels, batch files, tree, search, compare

n8n

~55

Workflows, executions, credentials, variables, audit

Supabase

~70

Database, auth, storage, edge functions, realtime

OpenPanel

~40

Events, export, insights, profiles, projects, system

Coolify

~65

Applications, deployments, servers, projects, databases, services

System

~25

Health monitoring, API keys, OAuth management, audit

Per-site duplication does not inflate the tool count — adding a second WordPress site reuses the same WordPress tools with a different site argument.


Quick Start

git clone https://github.com/airano-ir/mcphub.git
cd mcphub
cp env.example .env
# Edit .env — set MASTER_API_KEY, then add sites via the web dashboard
docker compose up -d

Option 2: Docker Hub (No Clone)

# Create a .env file with MASTER_API_KEY (see "Configure Your Sites" below)
docker run -d --name mcphub -p 8000:8000 --env-file .env airano/mcphub:latest

Option 3: From Source

git clone https://github.com/airano-ir/mcphub.git
cd mcphub
pip install -e .
cp env.example .env
# Edit .env — set MASTER_API_KEY
python server.py --transport streamable-http --port 8000

Verify It Works

After starting the server, wait ~30 seconds then:

# Check server health
curl http://localhost:8000/health

Open the web dashboard in your browser: http://localhost:8000/dashboard

You should see the login page. Log in with your MASTER_API_KEY or via GitHub/Google OAuth (if configured).

Try It Now (No Setup Required)

Don't want to self-host? Use the hosted instance at mcp.example.com:

  1. Log in with GitHub or Google

  2. Add your sites via the dashboard (My Sites → Add Service)

  3. Go to Connect page — generate config for your AI client

  4. Copy-paste the config into Claude Desktop, VS Code, or Claude Code

Your personal MCP endpoint: https://mcp.example.com/u/{your-user-id}/{alias}/mcp


Configure Your Sites

Sites are managed via the web dashboard — no environment variables needed.

  1. Set MASTER_API_KEY in your .env file

  2. Start the server and open the dashboard

  3. Add sites with their credentials (URL, username, password/token)

# .env — only system configuration needed
MASTER_API_KEY=your-secure-key-here

System Configuration:

Variable

Required

Default

Description

MASTER_API_KEY

Recommended

Auto-generated

Master API key for admin access

LOG_LEVEL

No

INFO

Logging level (DEBUG, INFO, WARNING, ERROR)

ENCRYPTION_KEY

For Live Platform

AES-256-GCM key for credential encryption

OAUTH_JWT_SECRET_KEY

For OAuth

JWT secret for ChatGPT auto-registration (not needed for Claude/Cursor)

OAUTH_BASE_URL

For OAuth

Public URL of your server (not needed for Claude/Cursor)

OAuth is only needed for ChatGPT Remote MCP auto-registration. For Claude Desktop, Claude Code, Cursor, and VS Code — just use MASTER_API_KEY with Bearer token auth.

Plugin Credential Reference — when adding sites via dashboard, you'll need:

Plugin

Required Credentials

Notes

WordPress

URL, Username, App Password

How to create App Password

WooCommerce

URL, Consumer Key, Consumer Secret

WooCommerce → Settings → Advanced → REST API

WordPress Specialist

URL, Username, App Password

Requires Airano MCP Bridge v2.18.0+ on the WP site; user must have manage_options

Gitea

URL, Token

Settings → Applications → Personal Access Token

n8n

URL, API Key

Settings → API → Create API Key

Supabase

URL, Service Role Key

Supabase Dashboard → Settings → API

OpenPanel

URL, Client ID, Client Secret

OpenPanel Dashboard → Project Settings

Connect Your AI Client

All MCP clients use Bearer token authentication: Authorization: Bearer YOUR_API_KEY

Use a plugin-specific endpoint (e.g., /wordpress/mcp) instead of /mcp to reduce tool count and save tokens. See Architecture below.

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "mcphub-wordpress": {
      "type": "streamableHttp",
      "url": "http://your-server:8000/wordpress/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Add to .mcp.json in your project:

{
  "mcpServers": {
    "mcphub-wordpress": {
      "type": "http",
      "url": "http://your-server:8000/wordpress/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

Go to Settings > MCP Servers > Add Server:

  • Name: MCP Hub WordPress

  • URL: http://your-server:8000/wordpress/mcp

  • Headers: Authorization: Bearer YOUR_API_KEY

Add to .vscode/mcp.json:

{
  "servers": {
    "mcphub-wordpress": {
      "type": "http",
      "url": "http://your-server:8000/wordpress/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

MCP Hub supports Open Dynamic Client Registration (RFC 7591). ChatGPT can auto-register as an OAuth client:

  1. Deploy MCP Hub with OAUTH_BASE_URL set

  2. In ChatGPT, add MCP server: https://your-server:8000/mcp

  3. ChatGPT auto-discovers OAuth metadata and registers

Transport types: Use "type": "streamableHttp" for Claude Desktop and "type": "http" for VS Code/Claude Code. Using "type": "sse" will cause 400 Bad Request errors.


Architecture

/mcp                        → Admin endpoint (every enabled tool)
/system/mcp                 → System tools only
/wordpress/mcp              → WordPress tools
/woocommerce/mcp            → WooCommerce tools
/wordpress-specialist/mcp   → WordPress Specialist tools (companion-backed)
/gitea/mcp                  → Gitea tools
/n8n/mcp                    → n8n tools
/supabase/mcp               → Supabase tools
/openpanel/mcp              → OpenPanel tools
/coolify/mcp                → Coolify tools
/project/{alias}/mcp        → Per-project endpoint (auto-injects site)
/u/{user_id}/{alias}/mcp    → Per-user endpoint (hosted/OAuth users)

Recommendation: Use plugin-specific endpoints instead of the all-tools /mcp admin endpoint to keep your AI client's tool window small (and your token bill lower).

Endpoint

Use Case

/u/{user_id}/{alias}/mcp

Hosted users (OAuth login) — single service

/project/{alias}/mcp

Single-site workflow (recommended)

/{plugin}/mcp

Multi-site management for one service

/mcp

Admin & discovery only — every enabled tool

Security

  • OAuth 2.1 + PKCE (RFC 8414, 7591, 7636) with auto-registration for Claude/ChatGPT

  • Per-project API keys with scoped permissions (read/write/admin)

  • Rate limiting: 60/min, 1,000/hr, 10,000/day per client

  • GDPR-compliant audit logging with automatic sensitive data filtering

  • Web dashboard with real-time health monitoring (8 pages, EN/FA i18n)

Compatibility Note: MCP Hub requires FastMCP 3.x (>=3.0.0,<4.0.0). The legacy multi-endpoint server and ProjectManager have been removed in v3.5.0.

WordPress Plugin Requirements

Some MCP Hub tools require companion WordPress plugins:

Tools

Requirement

SEO + capability/audit tools (wordpress_get_post_seo, capability probe, audit hook, etc.)

Airano MCP Bridge (GitHub) + Rank Math or Yoast SEO

WP-CLI tools (15 tools: wp_cache_*, wp_db_*, etc.)

Docker socket + CONTAINER config

WordPress Specialist (~50 tools: plugins / themes / users / options / cron / page editing / site config + layout / db inspection / bulk fan-out)

Airano MCP Bridge v2.18.0+ (no Docker socket needed)

OpenPanel analytics integration

OpenPanel Self-Hosted (Download ZIP)

WooCommerce tools

WooCommerce plugin installed on your WordPress site

Docker socket is needed for the legacy WP-CLI tools (15 helpers under wordpress_wp_*). Everything in wordpress_specialist works without it. Add to your docker-compose:

volumes:
  - /var/run/docker.sock:/var/run/docker.sock:ro

Set the container field when adding a WordPress site in the dashboard. Without Docker socket, WP-CLI tools return "not available" but all REST API tools work normally.


Documentation

Guide

Description

Getting Started

Full setup walkthrough

Architecture

System design and module reference

API Keys Guide

Per-project API key management

OAuth Guide

OAuth 2.1 setup for Claude/ChatGPT

Gitea Guide

Gitea plugin configuration

Deployment Guide

Docker and Coolify deployment

Troubleshooting

Common issues and solutions

Plugin Development

Build your own plugin


Development

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format and lint
black . && ruff check --fix .

# Run server locally
python server.py --transport streamable-http --port 8000

Support This Project

MCP Hub is free and open-source. Development is funded by community donations.

Donate with Crypto (NOWPayments) — Global, no geographic restrictions.

Goal

Monthly

Enables

Infrastructure

$50/mo

Demo hosting, CI/CD, domain

Part-time maintenance

$500/mo

Updates, security patches, issue triage

Active development

$2,000/mo

New plugins, features, community support


Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

Priority areas:

  • New plugin development

  • Client setup guides

  • Workflow templates and examples

  • Test coverage expansion

  • Translations (i18n)


License

MIT License. See LICENSE.


Available Tools

100 tools
check_all_projects_healthA

Check health status of all projects with enhanced metrics.

Performs comprehensive health checks on all configured projects including:

  • Accessibility and response time

  • Error rates and recent failures

  • Alert threshold violations

  • Historical metrics (last hour)

Returns: JSON string with detailed health status and metrics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

The description lists the health checks performed and the return format. However, with no annotations, it omits critical behavioral details such as auth requirements, rate limits, or side effects. The tool appears read-only, but this is not explicitly stated.

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

Conciseness5/5

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

The description is brief, uses bullet points for clarity, and front-loads the purpose. Every sentence adds value without redundancy.

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

Completeness5/5

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

Given zero parameters and the presence of an output schema (which covers return details), the description adequately covers the tool's scope, including the list of checks and return format. It is complete for a parameterless tool.

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?

There are zero parameters, so the schema coverage is 100%. The description does not need to add parameter info. Baseline of 4 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 clearly states the tool performs a health check on all projects with enhanced metrics, listing specific metrics. This distinguishes it from siblings like get_project_health (single project) and export_health_metrics (export).

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

Usage Guidelines3/5

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

The description implies usage for a comprehensive overview of all projects, but does not explicitly state when to use it versus alternatives such as get_project_health for individual projects. No exclusion criteria or alternative tool names are mentioned.

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

export_health_metricsB

Export all health metrics to a JSON file.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathNoPath to output file (default: logs/metrics_export.json)logs/metrics_export.json

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations; description does not disclose whether file is created/overwritten, permissions needed, or blocking behavior. Minimal behavioral info beyond the action.

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

Conciseness4/5

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

Single sentence, no redundancy, front-loaded. Could be improved with slight expansion on behavior while maintaining conciseness.

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

Completeness2/5

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

Missing details like whether export is synchronous, format specifics, or if all metrics include historical data. Incomplete for a file export 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 coverage is 100% with parameter description already. Description adds nothing new about the parameter meaning beyond 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?

Description clearly states verb 'Export', resource 'all health metrics', and output format 'JSON file', distinguishing it from sibling tools that retrieve rather than export metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 export vs using getter tools (e.g., get_system_metrics) or what context requires export; lacks when-not and alternatives.

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

get_project_healthC

Get detailed health information for a specific project.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesFull project identifier (e.g., "wordpress_site1")

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic purpose and does not mention whether the operation is read-only, requires authentication, or has side effects, resulting in minimal transparency.

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

Conciseness4/5

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

The description is a single sentence with no wasted words, front-loaded with the verb. However, it sacrifices informativeness for brevity, so it scores 4 rather than 5.

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

Completeness2/5

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

Despite the existence of an output schema, the description is very terse and does not explain what 'health information' includes, potential errors, or prerequisites. For a tool with many siblings, more context is needed.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema; the schema already provides a clear example for 'project_id'. No additional parameter insight is offered.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'detailed health information for a specific project,' but it does not explicitly distinguish from sibling tools like 'check_all_projects_health' or 'get_project_info', which limits its score to 4.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'check_all_projects_health' or 'get_project_metrics'. The description lacks any context about appropriate usage scenarios.

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

get_project_infoB

Get detailed information about a specific project.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesFull project identifier (e.g., 'wordpress_site1')

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It only says 'Get detailed information,' implying a read operation but not stating it is read-only, nor mentioning side effects, authentication, or error conditions.

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

Conciseness5/5

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

The description is a single, concise sentence. It is front-loaded and contains no unnecessary words. Every part earns its place.

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

Completeness3/5

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

Given the tool has a single parameter and an output schema, the description is minimally adequate. It conveys the basic purpose but lacks depth about what 'detailed information' entails. While the output schema fills some gap, the description itself is sparse.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 description does not add extra meaning to the parameter. The schema already describes the project_id format. Baseline is 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?

The description states 'Get detailed information about a specific project.' It clearly specifies the action and resource. However, it does not differentiate from siblings like get_project_health or get_project_metrics, which have more specific scopes.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. No context about prerequisites, common use cases, or exclusions. The agent has no hint about preferred usage.

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

get_project_metricsC

Get historical metrics for a specific project.

ParametersJSON Schema
NameRequiredDescriptionDefault
hoursNoNumber of hours of history to analyze (default: 1, max: 24)
project_idYesFull project identifier (e.g., "wordpress_site1")

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must fully disclose behavior. It only states 'Get historical metrics' without mentioning side effects (e.g., read-only nature), error handling, or authorization needs. This is insufficient for an agent to understand implications of invocation.

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

Conciseness3/5

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

The description is a single concise sentence with no fluff. However, it is too brief and lacks structure; it could include details about output or constraints. While concise, it sacrifices informativeness.

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 has an output schema and only two simple parameters, the description is partially complete. It does not explain the return format or error conditions, but the output schema may cover the former. Still, the description alone is insufficient for full autonomy.

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

Parameters3/5

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

The input schema covers both parameters with descriptions, so the description adds no extra meaning beyond 'historical metrics' hinting at time context. Baseline is 3 due to 100% schema coverage; the description doesn't enhance understanding.

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

Purpose4/5

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

The description clearly states the verb 'get' and the resource 'historical metrics' scoped to a specific project. However, it does not differentiate from sibling tools like get_project_health or get_project_info, which could lead to confusion.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There are no prerequisites, such as requiring a valid project_id, nor any context about when not to use it. The description assumes the agent knows the purpose without additional instructions.

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

get_rate_limit_statsC

Get rate limiting statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idNoOptional client identifier to get specific client stats. If not provided, returns global statistics for all clients.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are present, and the description does not disclose behavioral traits such as whether the operation is read-only, requires authentication, or handles errors. The simplicity of the operation implies safety, but it is not explicitly stated.

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 short sentence, which is concise and to the point, though it sacrifices completeness.

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

Completeness2/5

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

Given the simplicity of the tool (one optional parameter, output schema exists), the description could have provided more context on the return value or use cases. It is minimally complete but lacks sufficient detail for an agent to use confidently.

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

Parameters3/5

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

The schema description covers the single parameter (client_id) completely, so the tool description adds no additional context. Baseline score of 3 applies due to high schema coverage.

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

Purpose3/5

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

The description states the tool gets rate limiting statistics, which is a clear verb-resource pairing, but it doesn't specify what kind of statistics or differentiate from other get_ tools like get_system_metrics.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as reset_rate_limit or other metrics tools.

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

get_system_metricsA

Get overall MCP server metrics and statistics.

Returns system-wide metrics including:

  • Uptime

  • Total requests (success/failure)

  • Average response time

  • Error rate percentage

  • Requests per minute

Returns: JSON string with system metrics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It lists returned metrics, which is helpful, but does not disclose any behavioral traits such as authentication requirements, idempotency, or potential errors. For a simple read-only tool, the description is acceptable but lacks explicit behavioral context.

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

Conciseness4/5

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

The description is concise with a clear first sentence. It uses a bulleted list for metrics, which is easy to read. However, it redundantly includes 'Returns:' twice, slightly reducing efficiency. Overall, it's well-structured and front-loaded.

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

Completeness4/5

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

Given no parameters and the presence of an output schema, the description adequately explains the return format (JSON string) and lists the metrics. It does not mention side effects or permissions, but for a simple getter, it is reasonably complete.

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?

There are no parameters, so schema coverage is 100%. The description adds no parameter info, but none is needed. Baseline for 0 parameters is 4, and the description meets this baseline as it does not need to compensate.

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

Purpose5/5

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

The description clearly states the tool gets overall MCP server metrics and statistics, listing specific metrics. It is distinct from sibling tools like get_system_uptime (focuses on uptime only) and get_project_metrics (project-level), so the purpose is well-defined and differentiated.

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

Usage Guidelines3/5

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

The description implies usage for system-wide metrics but does not explicitly state when to use this tool over alternatives like get_project_metrics or get_system_uptime. No guidance on exclusions or context is provided, so the usage is only implied, not explicit.

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

get_system_uptimeA

Get MCP server uptime information.

Returns: JSON string with uptime in various formats (seconds, minutes, hours, days)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so the description carries full burden. It indicates a read operation but does not disclose any additional behavioral traits, such as potential errors or typical output values. Adequate but minimal.

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

Conciseness5/5

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

Two concise sentences front-load the purpose and describe the return value. No wasted words.

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

Completeness5/5

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

Given the simplicity of the tool, empty schema, and presence of an output schema, the description is complete. It explains the return format well.

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?

No parameters exist, so the description adds nothing beyond schema. Baseline 4 for 0 parameters is appropriate.

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

Purpose5/5

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

The description clearly states the tool gets MCP server uptime information, with a specific verb and resource. It distinguishes well from siblings like get_system_metrics or get_rate_limit_stats.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. There is no mention of context or exclusion criteria, leaving the agent without direction.

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

list_projectsA

List all discovered projects.

Returns information about all projects that have been configured through environment variables.

Returns: JSON string with list of projects

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states it returns a JSON list, but omits behavioral details such as authentication requirements, performance considerations, or whether it can be called repeatedly.

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?

Extremely concise: 3 sentences with no unnecessary words. Front-loaded with the main action.

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

Completeness4/5

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

Given zero parameters and an output schema, the description covers the essential purpose and source (env vars) and return type. Could briefly mention the JSON structure, but overall sufficient.

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?

No parameters exist, schema coverage is 100%, so baseline is 4. Description adds no param-specific info, but none is needed.

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

Purpose5/5

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

The description clearly states it lists all discovered projects configured via environment variables, which is a specific verb-resource pair that distinguishes it from siblings like get_project_info (single project) and health/metric tools.

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 for listing all projects, but lacks explicit when-to-use or when-not-to-use guidance, and does not mention alternatives among sibling tools.

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

reset_rate_limitB

Reset rate limit state for a client or all clients.

CAUTION: This is an administrative tool. Use with care.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idNoOptional client identifier to reset. If not provided, resets ALL clients.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so the description must fully disclose behavior. It warns that the tool is administrative but does not explain what resetting entails (e.g., clearing all counters, potential impact on clients). Missing details on reversibility, permissions required, 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?

Extremely concise: two short sentences. The first sentence directly states the purpose, and the second provides a critical caution. No unnecessary words or repetition.

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?

Adequately covers the basic functionality and includes a caution, but for an administrative tool, more context about impact, safety, and typical use cases would be valuable. The output schema may describe return values, but behavioral context 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?

The description does not add meaning beyond the schema. The schema already describes 'client_id' as optional with a default of null and explains that omitting it resets all clients. With 100% schema coverage, the baseline is 3, and no extra parameter insight is provided.

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?

Clearly states the action (reset), resource (rate limit state), and scope (client or all clients). The purpose is unambiguous and distinguishes this tool from siblings that deal with health, metrics, or WordPress operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 only guidance is 'CAUTION: This is an administrative tool. Use with care.' This lacks explicit instruction on when to use this tool versus alternatives, such as when rate limits are misconfigured or need to be cleared. No mention of prerequisites or consequences.

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

wordpress_audit_hook_configureA

[UNIFIED] Configure the companion plugin's audit-hook webhook. Sets the MCPHub endpoint_url, shared HMAC secret (≥16 chars), enabled flag, and list of hooked events. Returns the resulting status. Requires manage_options.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
eventsNo
secretNo
enabledNo
endpoint_urlNo

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided; description states it sets parameters and returns resulting status, but lacks details on side effects, idempotency, or response format. Adequate but minimal.

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

Conciseness5/5

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

Single, front-loaded paragraph with no superfluous text; efficiently covers purpose, parameters, return, and requirement.

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

Completeness2/5

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

With no output schema, low schema coverage, and no annotations, the description is incomplete: missing response format, events parameter details, and error conditions.

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 0%; description lists parameters (endpoint_url, secret with length constraint, enabled flag, events) but lacks detailed explanation, especially for 'events' format.

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

Purpose5/5

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

The description clearly states it configures the companion plugin's audit-hook webhook, specifying the exact settings (endpoint_url, secret, enabled, events) and distinguishes from related tools like disable and status.

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 mentions the prerequisite 'Requires manage_options' and implies configuration use case, but does not explicitly contrast with disabling or checking status, though context makes it clear.

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

wordpress_audit_hook_disableC

[UNIFIED] Clear the companion plugin's audit-hook configuration (endpoint_url, secret, events) and stop forwarding events. Requires manage_options.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It states the tool clears configuration and stops events, but does not mention side effects (e.g., whether configuration is permanently deleted, if the action is reversible, or what happens if already disabled). This leaves important behavioral aspects unclear.

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

Conciseness4/5

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

The description is two concise sentences, front-loading the primary action. The '[UNIFIED]' prefix may add minor ambiguity but overall the structure is efficient and waste-free.

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

Completeness2/5

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

Given the simple schema and no output schema, the description omits critical context: what happens after disabling (e.g., can it be re-enabled via configure?), idempotency, and how the site parameter is used. For a configuration-modifying tool, the lack of completeness reduces usefulness.

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

Parameters1/5

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

The input schema has one parameter ('site') with 0% description coverage and no type details beyond 'string'. The description does not explain what 'site' represents (e.g., site ID, URL, domain), nor how to format it. Since schema coverage is 0%, the description must compensate but fails to add any parameter semantics.

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

Purpose5/5

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

The description clearly states the tool clears the audit-hook configuration (endpoint_url, secret, events) and stops forwarding events. The verb 'clear' and specific resource make the purpose precise and distinguishable from sibling tools like wordpress_audit_hook_configure and wordpress_audit_hook_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 mentions a permission requirement ('Requires manage_options'), but provides no guidance on when to use this tool versus alternatives, nor any conditions or exclusions. There is no explicit context for appropriate usage scenarios.

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

wordpress_audit_hook_statusB

[UNIFIED] Read the companion plugin's audit-hook configuration (v2.7.0+): current endpoint_url, whether a secret is set, enabled flag, event list, last-push timestamp, failure count. Secret is never returned in full — only the last 4 characters. Requires manage_options.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3.4/5.0
Behavior3/5

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

Discloses that secret is only partially returned (last 4 characters) and requires manage_options. No annotations, so description carries burden; it adds relevant behavioral context but does not cover side effects 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.

Conciseness4/5

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

Description is efficient, listing returned fields and key details in one paragraph. The '[UNIFIED]' prefix adds minor clutter but is acceptable.

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?

Comprehensive for a read operation: lists returned fields, version requirement, and permission. Lacks return format details but given no output schema, it adequately informs the agent.

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

Parameters1/5

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

Schema has one parameter 'site' with no description (0% coverage). The description does not explain the parameter meaning, format, or usage, providing no additional value beyond the schema.

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

Purpose5/5

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

The description clearly states it reads the audit-hook configuration, specifying the resource and verb. It lists the returned fields (endpoint_url, secret indicator, etc.) and distinguishes itself from sibling tools like wordpress_audit_hook_configure.

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 use for inspecting current settings, with mention of required permission (manage_options). No explicit when-to-use versus siblings or when-not-to-use.

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

wordpress_bulk_delete_mediaA

[UNIFIED] Delete (trash or permanently remove) a list of media attachments in a single call. Max 100 IDs per request. Returns processed / errors / total. Uses stock /wp/v2/media/{id} DELETE so no companion plugin is required, but issues N requests (with a small concurrency cap); for 1000+ attachments, paginate client-side.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
forceNo
media_idsYes

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description discloses that it issues N requests with a concurrency cap, uses the standard DELETE endpoint, and returns processed/errors/total. Does not elaborate on force parameter behavior or partial failure handling, but overall provides good transparency for a bulk operation.

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

Conciseness4/5

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

Description is concise with three sentences, front-loading the action and resource. The '[UNIFIED]' prefix is unnecessary but not harmful. No wasted words.

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

Completeness3/5

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

Covers purpose, limits, and basic behavior, but lacks details on force parameter semantics, exact return structure, error handling, and authentication prerequisites. For a bulk tool with no output schema and many sibling tools, more completeness would be beneficial.

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 0%, so the description must compensate. It only indirectly addresses media_ids via the 100-limit hint. Parameters 'site' and 'force' are not explained; 'force' is only loosely tied to the 'trash or permanently remove' phrase. Missing parameter details despite needing them.

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

Purpose4/5

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

The description clearly states 'Delete (trash or permanently remove) a list of media attachments in a single call,' specifying the verb, resource, and bulk scope. It distinguishes from the singular delete sibling by emphasizing 'list' and 'single call,' but does not explicitly name the alternative tool.

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

Usage Guidelines4/5

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

Provides clear limits: 'Max 100 IDs per request,' concurrency cap, and client-side pagination for large lists. Explains that no companion plugin is needed. Does not explicitly state when not to use, but the context strongly implies singular deletion for single items.

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

wordpress_bulk_reassign_mediaA

[UNIFIED] Reassign the parent post of a list of media attachments in a single call. Useful for moving attachments between posts, or detaching (use target_post=0). Max 100 IDs. Returns processed / errors / total.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
media_idsYes
target_postYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses it's a bulk mutation, max 100 IDs, and returns processed/errors/total. However, it lacks details on idempotency, error handling for invalid IDs, partial success behavior, and required permissions. This is minimal but adequate.

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 that efficiently convey purpose and key constraints (use cases, max IDs, output structure). No unnecessary words; front-loaded with the primary action.

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

Completeness4/5

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

Given the 3 parameters, no output schema, and no annotations, the description covers the primary use case and constraints. It mentions return fields (processed/errors/total) but omits error scenarios, permissions, and step-by-step guidance. Still, it provides enough for an agent to use the tool correctly in typical cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 0%, so the description must compensate. It explains 'target_post' usage (0 for detach) and implies 'media_ids' are a list. However, 'site' is not described, and 'media_ids' format (IDs vs. URLs) is ambiguous. Partial compensation, but not fully clarifying all parameters.

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

Purpose5/5

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

The description clearly states the verb 'reassign' and the resource 'parent post of media attachments', specifying a bulk operation. It distinguishes itself from sibling media tools by focusing on reassigning parent in bulk, not deleting or updating individual media.

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 explicitly mentions use cases: moving attachments between posts or detaching (with target_post=0). It also notes a batch limit of 100 IDs. However, it does not contrast with alternatives like wordpress_update_media for single reassignment, but the context is sufficient for an agent to infer when to use this tool.

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

wordpress_bulk_update_metaA

[UNIFIED] Batch-update post_meta (posts, pages, WooCommerce products) in a single REST round-trip via the airano-mcp-bridge companion plugin (v2.2.0+). Each item is permission-checked in PHP via current_user_can('edit_post', post_id). Pass a null meta value to delete that key. Maximum 500 items per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
updatesYes

TDQS

A4.2/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses batch behavior, per-item permission checks via current_user_can, deletion when null is passed, and a maximum item limit of 500. This covers key behavioral traits.

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

Conciseness5/5

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

The description is three sentences with no wasted words. It front-loads the core purpose and then adds constraints and behavior in a logical order.

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

Completeness4/5

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

Given the simple schema (2 parameters) and no output schema or annotations, the description covers the essential behaviors: batch update, permission check, deletion via null, and limits. It could mention the response format, but it is not critical for selection or invocation.

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

Parameters3/5

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

The schema has 0% description coverage, so the description must compensate. It adds that 'updates' items are permission-checked and that null meta values delete keys, but it does not describe the expected structure of the 'updates' array items or the format of the 'site' parameter. Meaning is added but incomplete.

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

Purpose5/5

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

The description clearly states the tool batch-updates post_meta for posts, pages, and WooCommerce products using a specific companion plugin. It uses a specific verb (batch-update) and resource (post_meta), distinguishing it from sibling tools like wordpress_update_post.

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

Usage Guidelines3/5

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

The description mentions the companion plugin requirement and permission checks, but does not explicitly state when to use this tool versus alternatives (e.g., single-update tools). It provides usage context (batch updates, max 500 items) but lacks when-not-to-use guidance.

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

wordpress_cache_purgeA

[UNIFIED] Purge all caches on the WordPress site via the airano-mcp-bridge companion plugin (v2.4.0+). Auto-detects active cache plugins (LiteSpeed, WP Rocket, W3 Total Cache, WP Super Cache, WP Fastest Cache, SiteGround Optimizer) and calls each one's purge API. Always flushes the object cache. Requires manage_options on the calling application password.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, description fully discloses behavior: auto-detects active cache plugins, calls each purge API, always flushes object cache, and requires manage_options capability. This is comprehensive for a mutation tool.

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

Conciseness5/5

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

Description is three sentences, efficiently conveying purpose, mechanism, and requirement. No redundant information, and key detail 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 single-parameter tool with no output schema, the description is complete: it explains the function, supported plugins, the flush action, the requirement, and the site parameter context. No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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' with no schema description. The description mentions the site context but does not detail the parameter format, leaving ambiguity. Given 0% schema coverage, more explicit param guidance would improve this score.

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?

Description clearly states the tool purges all caches on a WordPress site via the airano-mcp-bridge plugin. It lists specific supported cache plugins, making the purpose precise and distinguishable from sibling tools.

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

Usage Guidelines4/5

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

Description explicitly states the tool is for purging caches. It does not provide explicit alternatives or when not to use, but the sibling list shows no other cache purge tool, and the context suggests it's the go-to for cache clearing.

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

wordpress_create_categoryC

[UNIFIED] Create a new WordPress category. Supports hierarchical categories with parent relationships.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
siteYes
parentNo
descriptionNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, and the description only says 'create' and 'supports hierarchical categories.' It does not disclose behavior such as slug generation, duplicate handling, permission requirements, or success response. For a mutation tool, this is insufficient.

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

Conciseness3/5

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

The description is short (one sentence plus a note) but lacks important details. It is not optimally concise as it omits critical information that would fit in a slightly longer description.

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

Completeness2/5

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

Given 4 parameters, no output schema, and no annotations, the description is incomplete. It does not explain return values, error cases, or parameter details beyond the hint about hierarchy.

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 0%, and the description adds no parameter-specific meaning beyond field names. It mentions 'parent relationships' but does not explain parameter formats (e.g., slug vs ID) or constraints. The description does not compensate for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states 'Create a new WordPress category' with a specific verb and resource, and distinguishes from sibling tools like wordpress_create_tag or wordpress_create_post by specifying 'category' and mentioning hierarchical support.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., when to use create vs update category, or vs list categories). No prerequisites or conditions mentioned.

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

wordpress_create_commentB

[UNIFIED] Create a new WordPress comment on a post. Supports author information and moderation status.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
statusNohold
contentYes
post_idYes
author_nameNo
author_emailNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions support for author info and moderation status but does not disclose permissions required, side effects, or return value. Critical gaps for a creation tool.

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

Conciseness4/5

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

The description is a single sentence, front-loaded with the core purpose. The '[UNIFIED]' prefix is unnecessary but not distracting. It is concise but could be more informative without added length.

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

Completeness2/5

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

Given the tool has 6 parameters, no output schema, and many siblings, the description is too sparse. It does not explain return value, error conditions, or how it differs from other comment-related tools, leaving the agent without sufficient context for reliable invocation.

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

Parameters2/5

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

Schema description coverage is 0%, yet the description only vaguely hints at author_name, author_email, and status parameters. It fails to explain the meaning of 'site', 'post_id', 'content', or default values, leaving the agent to infer from names alone.

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

Purpose5/5

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

The description clearly states the tool creates a new WordPress comment on a post, with explicit mention of supporting author information and moderation status. This distinguishes it from sibling comment tools like list, update, and delete.

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 indicates the tool is for creating comments but provides no explicit guidance on when to use it vs. alternatives like wordpress_update_comment or wordpress_list_comments. The context is clear but lacks exclusions or prerequisites.

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

wordpress_create_custom_postC

[UNIFIED] Create a new post of a custom post type. Supports custom fields/meta data.

ParametersJSON Schema
NameRequiredDescriptionDefault
metaNo
siteYes
titleYes
statusNodraft
contentYes
post_typeYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only says 'Create' and 'Supports custom fields/meta data.' No disclosure of permissions, side effects, error behavior, or response format. This is insufficient for a mutation tool.

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

Conciseness3/5

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

The description is a single short sentence, which is efficient but omits essential information. It is not overly verbose, but could be restructured to include more detail without significant length increase.

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

Completeness2/5

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

Given 6 parameters, no output schema, and no annotations, the description is severely lacking. It does not explain return values, error handling, or how to structure the meta parameter. The tool's complexity demands more context.

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 0%, yet the description adds only a vague reference to 'custom fields/meta data' which maps to the 'meta' parameter. No details on other parameters (site, title, status, content, post_type). The description does not compensate for the schema 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?

The description clearly states 'Create a new post of a custom post type', specifying the verb and resource. It distinguishes from sibling tools like wordpress_create_post by targeting custom post types. The mention of custom fields/meta adds specificity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., wordpress_create_post, wordpress_create_page). There are no when-not or context indications, leaving the agent to infer usage.

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

wordpress_create_menuC

[UNIFIED] Create a new navigation menu. Can optionally assign to theme locations.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
siteYes
slugNo
locationsNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description must inform behavioral traits. It only states creation and optional location assignment, omitting permissions, side effects, rate limits, or any other behavioral details.

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?

Description is very short (one sentence) and front-loaded with key information. However, it may be too concise, sacrificing necessary detail for brevity.

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

Completeness2/5

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

No output schema, no annotations, and 4 poorly documented parameters. The description fails to provide a complete picture of the tool's behavior, return values, or parameter constraints.

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

Parameters2/5

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

Schema coverage is 0%, and description adds minimal parameter context: only mentions 'assign to theme locations' (related to locations parameter). No explanation for name, site, or slug.

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

Purpose5/5

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

The description clearly states the tool creates a new navigation menu and optionally assigns to theme locations, which is specific and distinguishable from sibling tools like wordpress_list_menus or wordpress_create_menu_item.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., wordpress_create_menu_item) or when not to use it. No prerequisites or context provided.

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

wordpress_create_menu_itemC

[UNIFIED] Add a new item to a menu. Supports linking to posts, pages, categories, or custom URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
siteYes
typeYes
titleYes
parentNo
menu_idYes
object_idNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It only says 'Add' but omits side effects, permissions, return behavior, or constraints. Minimal disclosure.

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

Conciseness3/5

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

The description is very concise (one sentence), which is positive, but it omits critical details needed for usability, making it under-specified rather than efficiently informative.

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

Completeness1/5

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

With 7 parameters (4 required), no schema descriptions, no output schema, and no annotations, the description is far too sparse. It fails to cover return values, error handling, or parameter relationships.

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 0%, so description must explain parameters. It hints at type options but fails to clarify url, object_id, parent, or required fields like site and menu_id. Inadequate.

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

Purpose5/5

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

The description clearly states the tool adds a new menu item and lists supported link types (posts, pages, categories, custom URLs), distinguishing it from sibling tools like wordpress_list_menu_items and wordpress_update_menu_item.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites, no exclusions. The description lacks context for decision-making.

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

wordpress_create_pageC

[UNIFIED] Create a new WordPress page. Supports HTML content, parent pages, and custom slugs.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
slugNo
titleYes
parentNo
statusNodraft
contentYes

TDQS

C2.7/5.0
Behavior2/5

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

Given the absence of annotations, the description should disclose behavioral traits like authentication needs, side effects, or required permissions. It only states the tool 'creates' a page, but does not discuss potential errors, rate limits, or the impact of the 'status' parameter (defaulting to draft). The supported features list is helpful but incomplete for full transparency.

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

Conciseness4/5

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

The description is very brief, with only one sentence and a '[UNIFIED]' prefix that adds noise. It is concise but sacrifices necessary detail. The structure is simple and front-loaded, but every word counts and the prefix is unnecessary.

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

Completeness2/5

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

Given the complexity (6 parameters, no output schema, no annotations), the description is insufficient. It does not explain the return value, error handling, or parameter formats. The agent would lack crucial information to correctly invoke the tool, especially for required parameters like site and title.

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?

With 0% schema description coverage, the description should compensate by explaining parameters. It only mentions 'HTML content, parent pages, and custom slugs', mapping to content, parent, and slug parameters, but omits site, title, and status. It does not clarify that site is required or the meaning of the status field, leaving significant gaps.

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

Purpose4/5

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

The description clearly identifies the tool as creating a new WordPress page, which is specific and resource-oriented. However, it does not explicitly differentiate it from siblings like wordpress_create_post or wordpress_create_custom_post, which also create content but for different post types.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as when to create a page instead of a post. It only lists supported features (HTML content, parent pages, custom slugs) without explaining the context or prerequisites.

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

wordpress_create_postC

[UNIFIED] Create a new WordPress post. Supports custom slug, categories, tags, and featured image.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
slugNo
tagsNo
titleYes
statusNodraft
contentYes
excerptNo
categoriesNo
featured_mediaNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only lists supported features but does not disclose important behavioral traits such as required permissions, error handling, side effects (e.g., whether duplicate titles are allowed), or the nature of the response.

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

Conciseness4/5

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

The description is a single concise sentence that front-loads the core purpose. The '[UNIFIED]' prefix is somewhat unclear but does not harm clarity. It could be slightly expanded without losing conciseness.

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

Completeness2/5

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

Given 9 parameters (3 required), no output schema, and no annotations, the description is insufficient. It does not explain return values, error conditions, or the format of parameters like tags (e.g., comma-separated string). An agent would lack critical information to use this tool 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?

The description adds meaning to four parameters (slug, categories, tags, featured_media) by stating they are supported. However, it omits description of the five other parameters (site, title, content, status, excerpt) including the three required ones. Schema coverage is 0%, so the description partially compensates but is incomplete.

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

Purpose4/5

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

The description clearly states 'Create a new WordPress post' which is a specific verb+resource. It mentions supported features (custom slug, categories, tags, featured image) which helps distinguish from wordpress_create_page. However, it does not differentiate from wordpress_create_custom_post, a sibling that creates custom post types.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like wordpress_create_page or wordpress_create_custom_post. There is no mention of prerequisites, context, or when-not-to-use.

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

wordpress_create_tagB

[UNIFIED] Create a new WordPress tag. Tag slug is auto-generated from name if not provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
siteYes
descriptionNo

TDQS

B3/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It discloses the auto-slug generation behavior, but does not mention authentication requirements, error handling (e.g., duplicate names), or what happens if a tag already exists. The behavioral detail provided is helpful but incomplete.

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

Conciseness4/5

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

The description is short and to the point, with two sentences. The '[UNIFIED]' prefix adds unnecessary noise but does not significantly hinder clarity. Minor improvement could remove the prefix.

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 low-complexity tool, the description covers the basic purpose and a key behavior (auto-slug), but lacks explanation of the required 'site' parameter and does not distinguish from sibling create tools. It feels adequate but with clear 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 coverage is 0% and the description adds minimal parameter information. It mentions slug generation but does not clarify the 'site' parameter (a required string) or the optional 'description' parameter. The description fails to compensate for the lack of schema descriptions.

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

Purpose4/5

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

The description clearly states the verb 'Create' and resource 'WordPress tag', and provides a specific detail about slug auto-generation. However, it does not explicitly differentiate from sibling tools like wordpress_create_category, so it is not a 5.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as wordpress_create_category or wordpress_create_post. There is no mention of usage context or exclusions, so an agent receives no help with selection.

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

wordpress_create_taxonomy_termB

[UNIFIED] Create a new term in a taxonomy. Supports hierarchical taxonomies with parent terms. Works with any registered taxonomy.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
siteYes
parentNo
taxonomyYes
descriptionNo

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior. It mentions support for parent terms in hierarchical taxonomies, which adds transparency. However, it does not mention any side effects, error states (e.g., duplicate term), or required permissions for creation. The description is adequate but not comprehensive.

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 very short—one sentence plus a brief note. It front-loads the core action and differentiator. However, for a tool with 5 parameters, more detail would be beneficial without being verbose.

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

Completeness2/5

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

Given 5 parameters, no output schema, and no annotations, the description is insufficient. It covers the basic purpose but lacks details on required parameters, return values, and error conditions. An agent would need additional information to use 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 0%, so the description should explain parameters. It only mentions parent support, leaving name, site, taxonomy, and description unexplained. The parameters' meanings and required nature are not clarified, providing little value beyond the schema.

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

Purpose5/5

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

Description clearly states it creates a new term in a taxonomy, with specific support for hierarchical taxonomies. The phrase 'Works with any registered taxonomy' differentiates it from sibling tools like wordpress_create_category or wordpress_create_tag, which are limited to specific taxonomies.

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

Usage Guidelines3/5

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

The description implies usage for any taxonomy but does not explicitly state when to use this tool versus create_category or create_tag. No guidance on when not to use it or prerequisites like authentication or existing taxonomy are provided.

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

wordpress_delete_categoryC

[UNIFIED] Delete a WordPress category. Can permanently delete or reassign posts to another category.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
forceNo
category_idYes

TDQS

C2.6/5.0
Behavior2/5

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

The description claims the tool can reassign posts to another category, but the input schema lacks a parameter for the target category, creating ambiguity. No details on side effects, permissions, or reversibility are provided, and annotations are absent.

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

Conciseness3/5

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

The description is very short but includes a confusing '[UNIFIED]' prefix. It is not structured to separate purpose from usage details, though it remains brief.

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

Completeness1/5

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

With three parameters, no output schema, and no annotations, the description is highly incomplete. Missing explanations of site, force, reassignment mechanics, and expected results.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description does not explain any parameter (site, force, category_id). The mention of reassignment is not mapped to a parameter, leaving the force parameter's meaning unclear.

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

Purpose5/5

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

The description clearly states the tool deletes a WordPress category and mentions the two modes (permanent deletion or reassignment of posts), which distinguishes it from sibling tools like create_category, update_category, and list_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?

No guidance is provided on when to use this tool versus alternatives (e.g., update_category for modifying a category, or other delete tools). Conditions for when reassignment occurs versus permanent deletion are not explicitly linked to the force parameter.

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

wordpress_delete_commentC

[UNIFIED] Delete or trash a WordPress comment. Can permanently delete or move to trash.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
forceNo
comment_idYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description must convey side effects. It only mentions the action without discussing reversibility, permissions, or non-verbose consequences.

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?

Short and front-loaded but contains slight redundancy ('Delete or trash' and 'Can permanently delete or move to trash'). Could be more concise.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description is insufficient. It omits details about return values and operational context for a 3-parameter tool.

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

Parameters2/5

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

Schema coverage is 0%, but description does not explain the 'force' parameter's role in deciding between delete and trash, nor does it clarify 'site' or 'comment_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?

Clearly states the tool deletes or trashes a WordPress comment, which matches the name. However, it could more explicitly link 'delete' and 'trash' to the 'force' parameter.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'wordpress_update_comment' or 'wordpress_list_comments', nor any prerequisites like user capabilities.

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

wordpress_delete_mediaA

[UNIFIED] Delete media from library. Can permanently delete or move to trash.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
forceNo
media_idYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It discloses that deletion can be permanent or to trash, indicating destructive potential. However, it lacks details on reversibility, permissions, 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?

Two sentences, front-loaded with action and resource, no unnecessary words. Highly efficient.

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

Completeness3/5

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

For a 3-parameter tool with no output schema, the description is minimally adequate, covering the essence of the operation but lacking details on success/error responses or parameter value formats.

Complex tools with many parameters or behaviors need more documentation. Simple tools need 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 0%. The description adds meaning for the force parameter by linking it to trash vs permanent deletion, but site and media_id remain minimally described beyond their names.

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

Purpose5/5

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

The description clearly states the action (delete) and resource (media), and distinguishes between permanent delete and trash, differentiating it from sibling tools like wordpress_bulk_delete_media or wordpress_update_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 does not explicitly state when to use this tool vs alternatives like bulk_delete for multiple items or update_media for modifications. No prerequisites or exclusions are mentioned.

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

wordpress_delete_pageC

[UNIFIED] Delete or trash a WordPress page. Can permanently delete or move to trash.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
forceNo
page_idYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided. Description hints at permanent vs trash behavior but lacks detail on prerequisites, recoverability, or side effects. Inadequate for a delete 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?

Short and front-loaded with key action. Efficient but sacrifices necessary detail.

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

Completeness2/5

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

Given 3 parameters, no output schema, and no annotations, the description is far from complete. Omits error handling, return values, and parameter details.

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

Parameters1/5

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

Schema coverage is 0%. Description does not explain the three parameters (site, page_id, force). Only indirectly hints at force's effect. Fails to add meaning beyond raw 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?

Clearly states verb (delete/trash) and resource (WordPress page). Distinguishes from siblings by resource type, but could be more specific about dual action.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like wordpress_delete_post. No mentions of prerequisites or exclusions.

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

wordpress_delete_postC

[UNIFIED] Delete or trash a WordPress post. Can permanently delete or move to trash.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
forceNo
post_idYes

TDQS

C2.5/5.0
Behavior2/5

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

Without annotations, the description must disclose behavioral traits. It hints at two modes (delete vs trash) but does not explain the 'force' parameter's role, irreversibility of permanent deletion, or any side effects like cascading deletion.

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

Conciseness2/5

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

The description is extremely short but lacks essential detail, making it under-specified rather than concisely informative. The '[UNIFIED]' prefix adds confusion without value.

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

Completeness1/5

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

For a tool with 3 parameters, no annotations, and no output schema, the description is far too minimal. It omits parameter semantics, behavioral details, and any indication of return values.

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

Parameters1/5

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

With 0% schema description coverage, the description should explain parameters. It does not link 'force' to trash vs permanent delete, nor does it clarify 'site' or 'post_id' beyond what the schema names imply.

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

Purpose5/5

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

The description explicitly states the verb (delete or trash) and the resource (WordPress post), and distinguishes from siblings like wordpress_delete_page and wordpress_delete_media by specifying '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 guidance on when to use this tool vs alternatives such as wordpress_delete_page or wordpress_delete_media; no prerequisites or exclusions provided.

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

wordpress_delete_tagC

[UNIFIED] Delete a WordPress tag. Permanently removes the tag from all posts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
forceNo
tag_idYes

TDQS

C2.7/5.0
Behavior2/5

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

Without annotations, the description only mentions 'Permanently removes' to indicate irreversibility. Missing details on required permissions, side effects on posts, or error scenarios.

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

Conciseness3/5

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

The single sentence is concise and front-loaded with the action, but it omits critical parameter and behavioral details. Adequate but not efficient in conveying necessary 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 deletion operation with three parameters and no output schema, the description lacks details on return values, error handling, and behavior when tag is missing. Incomplete for safe invocation.

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

Parameters1/5

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

Schema has 0% description coverage; the description does not explain any of the three parameters (site, tag_id, force). The agent must infer their meaning from names alone, risking misuse.

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

Purpose5/5

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

The description clearly states the action 'Delete a WordPress tag' and emphasizes permanence. It distinguishes from sibling tools like wordpress_update_tag or wordpress_create_tag.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as wordpress_update_tag or wordpress_delete_category. No prerequisites or exclusions mentioned.

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

wordpress_export_contentA

[UNIFIED] Export posts/pages/products as structured JSON via the airano-mcp-bridge companion plugin (v2.3.0+). Includes referenced media, taxonomy terms, and post_meta. Paginates via offset/limit; response contains has_more + next_offset. Not a WXR dump — intended for AI-pipeline processing, not WP-to-WP import.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
limitNo
sinceNo
offsetNo
statusNo
post_typeNo
include_metaNo
include_mediaNo
include_termsNo

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses data included (media, terms, meta), pagination via offset/limit, and that it's not a WXR dump. It does not mention side effects or auth requirements beyond the plugin.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the main purpose, and contains no unnecessary words. It is well-structured and efficient.

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

Completeness2/5

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

With 9 parameters, no output schema, and no annotations, the description is incomplete. It omits parameter details, output structure, and error handling. The response format is only partially described.

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

Parameters2/5

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

Schema coverage is 0% and the description does not explain individual parameters (site, limit, since, offset, status, post_type, include_meta, include_media, include_terms). It mentions offset/limit and includes media/terms/meta, but does not add detailed semantics for any parameter.

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

Purpose5/5

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

The description clearly states the tool exports posts/pages/products as structured JSON via a specific plugin, and explicitly distinguishes it from a WXR dump. This provides a precise and specific purpose.

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

Usage Guidelines4/5

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

The description clarifies when not to use (for WP-to-WP import) and its intent for AI-pipeline processing. It also mentions pagination behavior. However, it does not explicitly contrast with sibling tools like individual get or list tools.

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

wordpress_generate_and_upload_imageB

[UNIFIED] Generate an image with an AI provider (OpenAI DALL-E, Stability, or Replicate Flux) and upload it to the WordPress media library in one call. Optionally attach to a post or set as featured image. Uses the caller's stored provider API key; falls back to server env vars if no per-user key is set.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
sizeNo1024x1024
modelNo
titleNo
promptYes
captionNo
qualityNostandard
alt_textNo
filenameNo
providerYes
convert_toNo
set_featuredNo
skip_optimizeNo
attach_to_postNo
negative_promptNo

TDQS

B3.3/5.0
Behavior3/5

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

No annotations provided, so description must cover behavior. It mentions generation and upload, API key fallback, but lacks details on failure modes, side effects, or operational constraints like rate limits.

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

Conciseness5/5

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

The description is concise with two sentences, front-loading the core purpose and adding authentication detail. No unnecessary information.

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

Completeness2/5

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

Given the complexity (15 parameters, no output schema), the description lacks completeness. It doesn't specify return values, required parameter details, or error handling, making it insufficient for reliable invocation.

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

Parameters1/5

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

With 15 parameters and 0% schema description coverage, the description provides no parameter-level details. Parameters like 'provider', 'model', 'quality', 'convert_to', etc. are not explained, leaving the agent unable to use them correctly.

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

Purpose5/5

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

The description clearly specifies the tool generates an image using AI providers (DALL-E, Stability, Replicate Flux) and uploads it to WordPress media library, with optional attachment to post or featured image. This distinguishes it from sibling upload-only tools.

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 explains authentication fallback but does not explicitly state when to use this tool versus alternatives like separate generation and upload tools. Usage context is implied but not fully defined.

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

wordpress_get_active_themeB

[UNIFIED] Get information about the currently active WordPress theme including name, version, and author.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description only states the tool's purpose without disclosing behavioral traits such as read-only nature, authentication requirements, or error behavior (e.g., if no active theme exists). There is no value added beyond the basic function.

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

Conciseness5/5

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

The description is a single, well-structured sentence that efficiently communicates the core purpose without extraneous words.

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

Completeness3/5

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

Given the tool's low complexity (one parameter, no output schema), the description is minimally adequate, covering purpose and return fields. However, it lacks context on permissions, errors, or response format, which would improve completeness.

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

Parameters2/5

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

The schema has one parameter 'site' with no description. The tool description does not explain what value 'site' should take (e.g., URL, domain), leaving the parameter ambiguous. Schema description coverage is 0%, and the description does not compensate.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'currently active WordPress theme', and specifies the returned information (name, version, author). This distinguishes it from sibling tools like wordpress_list_themes which lists all 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?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or conditions for use. The context is implied but not explicit.

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

wordpress_get_commentA

[UNIFIED] Get a specific WordPress comment by ID. Returns complete comment data including content, author, and moderation status.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
comment_idYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden for behavioral disclosure. It states that the tool returns 'complete comment data', which is helpful, but does not mention that it is a read-only operation, any authentication requirements, or rate limits. The description is adequate but not comprehensive.

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

Conciseness5/5

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

The description consists of two concise sentences. The first sentence clearly states the primary action, and the second lists the return fields. There is no extraneous information, and the most critical 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?

For a simple retrieval tool with two parameters and no output schema, the description provides the essential information: what it does and what it returns. It could be slightly improved by clarifying the 'site' parameter's format, but overall it is sufficiently complete for an agent to understand the tool's purpose and outcomes.

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

Parameters2/5

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

The input schema has 0% description coverage, meaning no parameter descriptions exist. The description does not explain the parameters beyond the context of the tool name. While 'site' and 'comment_id' are partially self-explanatory, the description should define the expected format or range, especially for 'site'. Thus, the description adds minimal meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: retrieving a specific WordPress comment by ID. It mentions the resource (comment) and action (get), and lists key return fields (content, author, moderation status). This distinguishes it from siblings like wordpress_list_comments (listing) and wordpress_delete_comment (deletion).

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

Usage Guidelines3/5

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

The description implies usage for retrieving a single comment by ID, but does not explicitly state when to use this tool versus alternatives (e.g., use wordpress_list_comments for multiple comments). There is no guidance on prerequisites or context, leaving the agent to infer use cases.

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

wordpress_get_current_userC

[UNIFIED] Get information about the currently authenticated user including ID, name, username, email, and roles.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so description must describe behavior. Only states 'Get information' without disclosing what happens if no user is authenticated, error handling, or if the operation is read-only.

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?

Single, concise sentence with clear verb and resource. Front-loaded with tag and essential information. No extraneous 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?

For a simple tool with one required parameter and no output schema, the description provides minimal context. Lists return fields but lacks details on authentication requirements or response structure.

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

Parameters1/5

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

Schema has one parameter 'site' with 0% coverage. Description does not mention the parameter at all, leaving the agent without guidance on its meaning or purpose.

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

Purpose4/5

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

Clearly states verb 'Get' and resource 'currently authenticated user', listing specific fields (ID, name, username, email, roles). Differentiated from siblings like wordpress_list_users by focusing on the authenticated user.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 vs alternatives (e.g., wordpress_list_users for all users). No context about prerequisites or when not to use.

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

wordpress_get_mediaB

[UNIFIED] Get detailed information about a media item. Returns full metadata including URLs, dimensions, and MIME type.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
media_idYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It discloses that it returns metadata (URLs, dimensions, MIME type) but does not mention read-only safety, authentication needs, rate limits, or other behavioral traits. Basic disclosure but lacking depth.

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

Conciseness5/5

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

The description is a single sentence with a clear prefix '[UNIFIED]', conveying the essential information without any redundancy. Every word earns its place.

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

Completeness4/5

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

For a simple retrieval tool with 2 parameters and no output schema, the description covers the key return fields (URLs, dimensions, MIME type). However, it could list additional fields like file size or date to be more complete for an agent without an output schema.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain what the 'site' parameter represents or provide any additional meaning beyond the parameter names. It does not compensate for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the verb 'Get' and resource 'media item', and specifies it returns 'detailed information' and 'full metadata' including URLs, dimensions, and MIME type. This distinguishes it from sibling tools like wordpress_list_media (listing) and wordpress_update_media (updating).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 does not provide guidance on when to use this tool versus alternatives, such as wordpress_get_post for post media or wordpress_list_media for summary data. No when-to-use or when-not-to-use context is given.

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

wordpress_get_menuC

[UNIFIED] Get detailed information about a specific menu including all items. Returns menu details with hierarchical structure of menu items.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
menu_idYes

TDQS

C2.9/5.0
Behavior3/5

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

Indicates it retrieves data (safe operation) but no explicit statements about idempotency, side effects, or error behavior. With no annotations, this is minimal 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 clear, concise sentences without extraneous content.

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

Completeness2/5

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

Misses key context: no output schema, no parameter descriptions, no guidance on data format or error handling. For a tool with two required params and no annotations, description is insufficient.

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

Parameters1/5

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

Description adds no information about the required parameters 'site' or 'menu_id', leaving the agent to infer from name alone. Schema coverage is 0%, so description must compensate but fails.

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

Purpose4/5

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

Description clearly states it retrieves details of a specific menu with hierarchical items, contrasting with list tools like wordpress_list_menus. However, it does not explicitly name alternatives.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings like wordpress_list_menus or wordpress_list_menu_items, or any prerequisites (e.g., menu must exist).

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

wordpress_get_navigationA

[UNIFIED] Get a single wp_navigation post by ID, including its raw block-markup content. Use the returned content to plan an update_navigation call (e.g. fix href values inside blocks).

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
navigation_idYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must carry behavioral information. It discloses that the tool returns raw block-markup content, but does not clarify if it is read-only, what happens on invalid IDs, or any side effects. The read-only nature is implied by 'get' but not confirmed.

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 that are dense with information: first states what it does, second provides purpose and example. 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?

Given no output schema, the description explains what to expect (raw block-markup content) and why it is useful. It does not detail other possible return fields, but for the intended use case it is sufficiently complete.

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 0%, so the description should compensate. It mentions 'by ID' linking to navigation_id, but adds no semantic value for site or beyond what the schema already provides. The description is too brief to add meaningful parameter context.

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

Purpose5/5

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

The description clearly states it gets a single wp_navigation post by ID with its raw block-markup content. It distinguishes from sibling tools like wordpress_list_navigations (list) and wordpress_update_navigation (update) by explicitly linking the output to planning an update call.

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 says to use the returned content to plan an update_navigation call, giving a concrete example of fixing href values. This implies when to use the tool, though it does not explicitly state when not to use it or provide exclusion criteria.

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

wordpress_get_postA

[UNIFIED] Get a specific WordPress post by ID. Returns complete post data including content, metadata, and author information.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
fieldsNo
post_idYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It correctly implies read-only behavior by stating 'Get' and describing return data, but does not explicitly confirm non-destructive nature, error conditions, or authentication needs. Adequate but not thorough.

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 concise sentences. No fluff. Front-loaded with the core action. Every part serves a purpose: identification, scope, and return value summary.

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?

Lacks parameter explanations for 'site' and 'fields', and no usage guidance relative to siblings. However, it adequately describes return value content (content, metadata, author). For a simple get tool, it is moderately complete but could better support an agent in selecting and invoking 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 has 0% description coverage for parameters. Description only explains 'post_id' via 'by ID', but leaves 'site' and 'fields' unexplained. The 'site' parameter's role is ambiguous (URL? identifier?), and 'fields' default null is not clarified. Does not add sufficient meaning beyond schema structure.

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?

Description states 'Get a specific WordPress post by ID' with verb and resource clearly defined. It emphasizes returns complete data, distinguishing it from listing tools like wordpress_list_posts. The '[UNIFIED]' prefix hints at a unified interface, but does not detract from clarity.

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 implicitly for retrieving a single post by ID, but no explicit when-to-use or when-not-to-use is provided. Given many sibling tools (e.g., wordpress_create_post, wordpress_list_posts), the description lacks guidance on choosing this tool over alternatives. It assumes the agent knows to use this when a specific post ID is available.

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

wordpress_get_post_seoC

[UNIFIED] Get SEO metadata for a WordPress post or page. Returns Rank Math or Yoast SEO fields including focus keyword, meta title, description, and social media settings. Requires SEO API Bridge plugin.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
post_idYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose whether the tool is read-only (despite the 'get' name), any side effects, authentication requirements, or rate limits. The only behavioral detail is the plugin requirement, which is insufficient for a mutation-ambiguous tool.

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

Conciseness4/5

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

The description is a single sentence that efficiently conveys the tool's purpose and key details. The '[UNIFIED]' prefix adds minimal value but does not detract significantly. Information is front-loaded with the main verb 'Get' and followed by specific fields.

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

Completeness2/5

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

Given the two-parameter input and lack of output schema, the description should explain the return value structure more thoroughly. It lists example fields but does not describe the full response format. It also omits error handling or edge cases (e.g., post not found, plugin missing). The context is insufficient for an AI agent to fully understand the tool's capabilities.

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

Parameters1/5

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

The input schema has two required parameters (site, post_id) with 0% schema description coverage. The description does not clarify what 'site' means (e.g., URL, site identifier) or what 'post_id' expects (the WordPress post ID). No additional context is provided beyond the parameter names.

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

Purpose5/5

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

The description clearly states that this tool retrieves SEO metadata for a WordPress post or page, including specific fields like focus keyword, meta title, description, and social media settings. It distinguishes itself from sibling tools such as wordpress_get_post (which retrieves post content) and wordpress_get_product_seo (for products).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 lacks explicit guidance on when to use this tool versus alternatives. It mentions a prerequisite (SEO API Bridge plugin) but does not provide context about when it is appropriate to use this tool or when not to. No mention of alternatives or typical use cases.

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

wordpress_get_post_type_infoA

[UNIFIED] Get detailed information about a specific post type including supported features and REST API configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
post_typeYes

TDQS

A3.8/5.0
Behavior4/5

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

No annotations provided. Description uses 'get' which implies a read-only operation, but does not explicitly state it is non-destructive or safe. It also doesn't mention any authentication requirements or side effects. Acceptable for a read tool but could be more explicit.

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?

Single sentence, no redundancy, and front-loaded with the key action 'Get detailed information'. Every word adds 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?

No output schema. Description mentions 'supported features and REST API configuration' but gives no details on return structure (e.g., labels, capabilities, etc.). For a tool retrieving detailed info, more completeness would be helpful.

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?

Input schema has 2 parameters (site, post_type) with 0% description coverage. Description does not explain the parameters or their expected values (e.g., site identifier format, post type slug). This relies entirely on external knowledge.

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?

Description clearly states it retrieves detailed info about a specific post type, including supported features and REST API config. This distinguishes it from sibling 'wordpress_list_post_types' which lists all post types, but does not provide details.

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

Usage Guidelines3/5

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

No explicit guidance on when to use or not use this tool vs alternatives. The sibling list tool is implied but not mentioned. Could be improved by noting it is for when you need details on a single post type.

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

wordpress_get_product_seoA

[UNIFIED] Get SEO metadata for a WooCommerce product. Returns Rank Math or Yoast SEO fields including focus keyword, meta title, description, and social media settings. Requires SEO API Bridge plugin.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
product_idYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description must fully disclose behavioral traits. It states the tool returns SEO metadata and requires a plugin, but does not mention side effects (none expected for read), authentication requirements, rate limits, or what happens if the plugin is missing. The description is adequate but not highly transparent.

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

Conciseness4/5

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

The description is concise (one sentence plus a requirement) and front-loads the purpose. The '[UNIFIED]' prefix adds minimal value but does not detract. It could be slightly more structured, but remains efficient.

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

Completeness3/5

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

Given the lack of output schema, parameter descriptions, and annotations, the description provides only the basic purpose and a requirement. It misses details about parameter semantics, error conditions, and return structure, leaving notable gaps for an agent to use the tool correctly.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the 'site' and 'product_id' parameters beyond the tool's general purpose. Without explicit parameter details, an agent cannot infer valid values or formats, which is a significant gap.

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

Purpose5/5

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

The description clearly states the tool retrieves SEO metadata for a WooCommerce product, specifies the supported plugins (Rank Math or Yoast) and required fields, and implicitly distinguishes from sibling tools like wordpress_get_post_seo (for posts) and wordpress_update_product_seo (for updates).

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

Usage Guidelines3/5

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

The description provides a prerequisite ('Requires SEO API Bridge plugin') but does not explicitly state when to use this tool versus alternatives like wordpress_update_product_seo or wordpress_get_post_seo. The usage context is implied by the tool's name and purpose, but lacks explicit guidance.

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

wordpress_get_settingsC

[UNIFIED] Get WordPress site settings. Includes site title, description, URL, email, timezone, and language.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided and description only lists what is returned, not behavioral traits like read-only, authentication needs, 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.

Conciseness4/5

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

One sentence, appropriately front-loaded with purpose and examples, no redundant text.

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

Completeness2/5

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

For a simple one-param tool, description omits critical context about the 'site' parameter, leaving the AI uncertain about what to input.

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

Parameters1/5

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

Single required parameter 'site' (string) is not explained; description adds no meaning about what value to provide (e.g., site ID, domain). Schema coverage is 0%.

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?

Description clearly states verb 'Get' and resource 'WordPress site settings', lists specific fields included (title, description, URL, etc.), distinguishing it from other wordpress_get_* tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., wordpress_get_post or other getters), nor any when-not-to-use instructions.

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

wordpress_get_site_healthC

[UNIFIED] Check WordPress site health and accessibility. Returns comprehensive health status including WordPress, WooCommerce, and SEO plugin availability.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

C2.6/5.0
Behavior2/5

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

The description only states that it returns health status, with no details on side effects, permissions, or response format. Since no annotations are provided, the description should offer more behavioral context but fails to do so.

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 sentence without unnecessary details, though the '[UNIFIED]' prefix adds no value. It is appropriately concise but could benefit from slight expansion.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description is insufficient. It covers return content but omits input specification, making the tool partially defined for the agent.

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

Parameters1/5

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

The schema coverage is 0% and the description does not mention the required 'site' parameter at all. It provides no hints on the expected format (e.g., URL, slug), leaving the agent without necessary context.

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

Purpose4/5

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

The description clearly states the tool checks WordPress site health and accessibility, listing specific components like WordPress, WooCommerce, and SEO plugin availability. However, it does not differentiate from the sibling tool 'wordpress_site_health', which may cause confusion.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'check_all_projects_health' or 'get_project_health'. The description lacks any context for appropriate use cases.

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

wordpress_list_categoriesC

[UNIFIED] List WordPress post categories. Returns hierarchical list of categories with post counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYes
per_pageNo
hide_emptyNo

TDQS

C2.8/5.0
Behavior2/5

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

The description does not disclose behavioral traits such as read-only nature, pagination behavior, or any side effects. Since annotations are absent, the description should provide safety and performance details but does not.

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

Conciseness4/5

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

The description is concise with one sentence, front-loading the action. However, the '[UNIFIED]' prefix is unnecessary and adds clutter.

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

Completeness2/5

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

Given no output schema, the description only mentions 'hierarchical list with post counts' but omits details on pagination, error conditions, and parameter effects, making it incomplete for practical use.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not explain any of the four parameters (page, site, per_page, hide_empty), leaving the agent to infer usage without guidance.

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

Purpose5/5

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

The description clearly states the tool lists WordPress post categories and returns a hierarchical list with post counts, distinguishing it from siblings like wordpress_list_tags or wordpress_list_posts.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. With many similar list tools, explicit usage context is missing.

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

wordpress_list_commentsC

[UNIFIED] List WordPress comments. Returns paginated list of comments with author, content, and moderation status.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYes
statusNoapprove
post_idNo
per_pageNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions pagination but does not disclose other behavioral traits such as read-only nature, rate limits, or error handling.

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

Conciseness4/5

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

The description is a single sentence that conveys the core functionality without redundancy. It is appropriately sized, though it could be slightly more structured.

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

Completeness2/5

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

With 5 parameters and no output schema or annotations, the description is insufficient. It omits details about parameter usage, response structure, and edge cases.

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 0%, yet the description does not explain the purpose or constraints of parameters like status, post_id, or per_page. It only vaguely references pagination.

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

Purpose4/5

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

The description clearly states it lists WordPress comments and returns paginated results with author, content, and moderation status. It is specific enough to distinguish from other list tools by resource.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like wordpress_get_comment or other list tools. No exclusions or context provided.

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

wordpress_list_custom_postsB

[UNIFIED] List posts of a specific custom post type. Use list_post_types first to discover available post types.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYes
statusNoany
per_pageNo
post_typeYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states the basic operation and prerequisite, without mentioning pagination, filtering, read-only nature, or side effects. This is insufficient for an agent to understand the tool's behavior.

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

Conciseness3/5

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

The description is very short (two sentences), which is concise but under-specified. It front-loads the purpose but could be more informative without significantly increasing length.

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

Completeness2/5

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

Given no annotations, no output schema, and 5 parameters, the description is incomplete. It does not explain return values, pagination, or constraints. The agent lacks critical context to use the tool effectively.

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

Parameters1/5

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

The input schema has 0% description coverage, and the description does not explain any of the 5 parameters (site, post_type, page, per_page, status). It only mentions post_type implicitly by referencing the prerequisite tool. Without parameter meanings, the agent cannot use the tool correctly.

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

Purpose5/5

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

The description clearly states it lists posts of a specific custom post type, using the specific verb 'list' and resource 'custom posts'. It distinguishes from similar tools like wordpress_list_posts and wordpress_list_pages by specifying 'custom post type' and suggests using list_post_types for discovery.

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

Usage Guidelines4/5

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

The description provides a clear guideline: use list_post_types first to discover available post types. This implies when to use the tool and gives a prerequisite step, though it does not explicitly exclude use cases for standard post types.

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

wordpress_list_mediaC

[UNIFIED] List media library items. Returns images, videos, documents with URLs and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYes
per_pageNo
media_typeNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so the description must cover behaviors. It mentions return data but omits pagination, potential limits, or whether it is read-only. Minimal 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.

Conciseness3/5

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

One sentence, but lacks structure. It conveys purpose but no additional context. Could be combined with parameter explanations without becoming verbose.

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

Completeness1/5

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

With 4 parameters, no schema descriptions, no output schema, and no annotations, the description is severely incomplete. It fails to provide essential context for correct invocation regarding pagination, filtering, and return structure.

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no parameter details. It does not explain the 'site' requirement, 'media_type' values, or pagination parameters 'page' and 'per_page'.

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

Purpose5/5

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

The description clearly states 'List media library items' with the specific types (images, videos, documents) and return fields (URLs and metadata), distinguishing it from single-item retrieval or mutation tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like wordpress_get_media or wordpress_upload_media. Lacks context for filtering scenarios or exclusion of other tools.

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

wordpress_list_menu_itemsB

[UNIFIED] List all items in a specific menu. Returns hierarchical list of menu items with links and ordering.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
menu_idYes

TDQS

B3.3/5.0
Behavior3/5

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

The description implies a read operation with 'List' but does not explicitly state that it is non-destructive. With no annotations, the description carries the full burden; it is adequate but lacks explicit safety or limitation information.

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

Conciseness4/5

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

The description is concise (one sentence) but includes a '[UNIFIED]' prefix that may be extraneous. It is front-loaded and wastes few words, though the prefix could be removed for clarity.

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

Completeness3/5

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

Given no output schema and no annotations, the description provides basic functionality and return format but does not differentiate from siblings like wordpress_get_menu. It is minimally complete but lacks context for an agent to make informed choices.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It only indirectly explains menu_id (the specific menu) but does not describe the 'site' parameter at all. This leaves a significant gap for correct invocation.

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

Purpose5/5

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

The description clearly states 'List all items in a specific menu' and specifies the output format as 'hierarchical list of menu items with links and ordering.' This distinguishes it from sibling tools like wordpress_list_menus and wordpress_get_menu.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention prerequisites or conditions for use, leaving the agent to infer from the tool name and siblings.

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

wordpress_list_menusC

[UNIFIED] List all WordPress navigation menus. Returns list of menus with their locations and item counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, description only states it returns a list with locations and item counts. Lacks disclosure on side effects, authentication, rate limits, or pagination behavior.

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

Conciseness4/5

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

Single sentence, efficient. The [UNIFIED] prefix is a minor detractor but does not significantly harm conciseness.

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

Completeness2/5

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

Given simple tool but missing parameter explanation and no output schema, the description is incomplete. Agent needs more context for the site parameter.

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

Parameters1/5

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

The only parameter 'site' has no schema description (0% coverage), and the description does not explain it. Agent has no clue what value to provide for 'site'.

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

Purpose4/5

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

Description clearly states it lists all WordPress navigation menus and returns locations and item counts. However, it does not differentiate from sibling wordpress_list_navigations, and the [UNIFIED] prefix is unclear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 over alternatives like wordpress_get_menu or wordpress_list_navigations. Absence of usage context.

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

wordpress_list_navigationsA

[UNIFIED] List wp_navigation posts (block-theme navigation menus). These power the block in Site Editor. Distinct from classic menus (use list_menus for those).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYes
statusNoany
per_pageNo

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It explains what the tool lists (block-theme navigation menus) but does not disclose behavioral traits such as pagination, permission requirements, or side effects. It implies read-only action but lacks explicit detail.

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

Conciseness5/5

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

The description is two sentences, both front-loaded with key information. No filler words; every sentence adds value. It efficiently conveys purpose and differentiation.

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

Completeness2/5

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

Given no output schema, no annotations, and 4 parameters with zero descriptions, the tool's description is too brief. It lacks explanation of return format, filtering capabilities beyond status, or any edge cases. The agent needs more context to use the tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no information about parameters (page, site, status, per_page). It does not explain their meaning, allowed values, or defaults, leaving the agent to rely solely on the schema with no additional context.

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

Purpose5/5

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

The description clearly states 'List wp_navigation posts' and specifies these are block-theme navigation menus that power the wp:navigation block. It distinguishes from classic menus by referencing the sibling tool list_menus, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The description explicitly tells when to use this tool and when not: 'Distinct from classic menus (use list_menus for those).' This provides a clear alternative and usage boundary.

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

wordpress_list_pagesC

[UNIFIED] List WordPress pages. Returns paginated list of pages with metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYes
statusNoany
per_pageNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the tool returns a paginated list with metadata, implying a read-only operation, but does not disclose other behavioral traits like authentication requirements, rate limits, or whether the call is destructive. The description adds minimal behavioral context beyond what is obvious from the name.

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

Conciseness4/5

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

The description is a single sentence, which is concise and front-loaded. However, it is slightly too brief given the lack of schema descriptions and annotations, missing an opportunity to provide more information without sacrificing conciseness.

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

Completeness2/5

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

With no output schema, no annotations, and 0% schema parameter coverage, the description should offer more context. It mentions pagination and metadata but does not explain pagination format, metadata fields, error handling, or the effect of parameters. The description is incomplete for a tool of moderate complexity.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the four parameters (site, page, status, per_page). While parameter names are somewhat self-explanatory, the description adds no value beyond what the schema provides. It fails to compensate for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the tool lists WordPress pages and returns a paginated list with metadata. The verb 'list' and resource 'WordPress pages' are specific, and the inclusion of 'paginated' and 'metadata' adds useful detail. The tool name itself distinguishes it from siblings like wordpress_list_posts, so no further differentiation is needed.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as wordpress_list_posts or wordpress_list_custom_posts. It does not mention filtering, prerequisites, or when not to use it.

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

wordpress_list_pluginsC

[UNIFIED] List installed WordPress plugins. Shows plugin status (active/inactive), version, and details.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
statusNoall

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided; description does not disclose read-only nature, side effects, or authentication needs. Merely states listing and display of details, insufficient for a read operation with no annotation safety net.

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

Conciseness3/5

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

One sentence is concise, but the enigmatic '[UNIFIED]' prefix adds noise without explanation. Structure is minimal but effective.

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

Completeness2/5

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

Given 2 parameters, no output schema, and many sibling tools, description fails to explain parameter usage, output format, or when to choose this tool. Incomplete for effective decision-making.

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 0%. Description does not explain the 'site' or 'status' parameters, missing opportunity to clarify that 'status' filters by active/inactive. Fails to add meaning beyond schema structure.

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

Purpose4/5

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

The description clearly states the tool lists installed WordPress plugins and includes status, version, and details. It distinguishes from non-plugin tools but lacks differentiation from similar `wordpress_wp_plugin_list_detailed` 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 tool versus alternatives like `wordpress_wp_plugin_list_detailed`. Missing context on when not to use or prerequisites.

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

wordpress_list_postsC

[UNIFIED] List WordPress posts. Returns paginated list of posts with title, excerpt, status, and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYes
searchNo
statusNoany
per_pageNo
search_termsNo
include_contentNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It notes pagination and returned fields but fails to disclose read-only nature, authentication requirements, rate limits, or side effects. Crucial behavioral traits are omitted.

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

Conciseness3/5

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

The description is concise (one sentence) but lacks structure. It uses brackets for [UNIFIED] which is unclear. The sentence is front-loaded but could be more informative without adding length.

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

Completeness2/5

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

With 7 parameters, no output schema, and no annotations, the description is incomplete. It does not explain pagination logic, filtering behavior, or how to interpret results. More detail is needed for correct tool invocation.

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

Parameters2/5

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

Schema coverage is 0%, meaning parameter descriptions are absent. The description adds only vague mention of returned data, not parameter meanings. Ambiguities like 'search' vs 'search_terms' and 'include_content' implications are unresolved.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 uses a specific verb ('List') and resource ('WordPress posts'), and states the return fields (title, excerpt, status, metadata). However, it does not differentiate from siblings like wordpress_list_pages or wordpress_list_custom_posts, which could cause confusion for an AI agent.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., wordpress_list_pages for pages, wordpress_list_custom_posts for custom post types). Missing context on when not to use or prerequisites.

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

wordpress_list_post_typesC

[UNIFIED] List all registered post types including built-in (post, page) and custom post types (portfolio, testimonials, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden; it only says 'list all registered post types' without disclosing any behavioral traits like read-only nature, authentication requirements, 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.

Conciseness2/5

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

The description is very short (one line) but lacks detail; while it is front-loaded, it omits critical information and could be more structured with parameter explanation.

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?

Despite the tool's simplicity, the description is incomplete: it does not explain the 'site' parameter, does not describe the return format, and lacks context on scope (e.g., all post types or public only).

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

Parameters1/5

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

Schema description coverage is 0% and the description does not mention the single parameter 'site' at all, failing to explain its purpose or expected value, leaving the agent with no guidance.

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

Purpose5/5

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

The description clearly states the verb 'list' and the resource 'registered post types', including examples of built-in and custom types, making it specific and distinguishable from sibling tools like wordpress_get_post_type_info or wordpress_list_posts.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, no mention of safe usage or permissions. It simply describes what it does without context for selection.

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

wordpress_list_tagsC

[UNIFIED] List WordPress post tags. Returns all tags with usage counts and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYes
per_pageNo
hide_emptyNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states it returns data. It does not disclose read-only nature, authentication requirements, rate limits, pagination behavior, or potential 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.

Conciseness3/5

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

It is short (one sentence) but includes an unclear '[UNIFIED]' prefix. The brevity sacrifices clarity and completeness.

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

Completeness1/5

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

Given 4 parameters and no output schema, the description is vastly insufficient. It omits pagination details, parameter explanations, and return format, leaving the agent with little to work with.

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

Parameters1/5

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

The description does not mention any parameters despite a 0% schema coverage. Parameters like page, per_page, hide_empty are left unexplained, forcing the agent to infer their meaning from names alone.

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

Purpose4/5

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

The description clearly states it lists WordPress post tags and returns usage counts and metadata. This distinguishes it from create/update tools but does not differentiate from similar list tools like wordpress_list_categories, and the 'all tags' claim may conflict with pagination.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as wordpress_list_categories or other wordpress tools. No context about prerequisites or when to avoid using it.

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

wordpress_list_taxonomiesB

[UNIFIED] List all registered taxonomies including built-in (category, post_tag) and custom taxonomies. Returns configuration and post type associations.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It mentions returning 'configuration and post type associations' but does not disclose behavioral traits such as read-only nature, required permissions, or potential performance impacts. The implicit read-only nature of 'list' is not made explicit.

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 sentence that front-loads the main action. However, the '[UNIFIED]' prefix is unnecessary and could cause confusion. Otherwise, it is concise and to the point.

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 simplicity of the tool (one parameter, no output schema), the description is minimally adequate. It specifies what is returned but lacks detail about the structure of 'configuration and post type associations'. It does not compensate for the missing parameter documentation.

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

Parameters1/5

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

The schema has one required parameter 'site' with 0% description coverage. The description does not explain the 'site' parameter or its expected format (e.g., URL). It adds no value beyond the schema, leaving the agent to infer meaning from context.

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

Purpose5/5

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

The description clearly states the verb 'list' and the resource 'registered taxonomies', including both built-in and custom. It also specifies what is returned ('configuration and post type associations'). Among many sibling 'wordpress_list_*' tools, this uniquely identifies its focus on taxonomies.

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 does not explicitly state when to use this tool versus alternatives like 'wordpress_list_taxonomy_terms' or 'wordpress_list_categories'. Usage is implied by the tool's name and purpose, but no guidance on exclusions or context is provided.

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

wordpress_list_taxonomy_termsB

[UNIFIED] List terms of a specific taxonomy. Works with any registered taxonomy including categories, tags, and custom taxonomies.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYes
parentNo
per_pageNo
taxonomyYes
hide_emptyNo

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description only says 'list terms', but fails to disclose pagination behavior, error handling (e.g., invalid taxonomy), or performance implications, which are essential 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?

The description is efficient with three sentences front-loading purpose, but could be improved by structuring parameter hints briefly.

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

Completeness2/5

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

Given 6 parameters, no output schema, and many sibling tools, the description lacks important details on pagination, filtering, and return values, making it incomplete for proper tool usage.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not explain any of the 6 parameters (e.g., page, per_page, parent, hide_empty), leaving the agent with no guidance beyond the schema.

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

Purpose5/5

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

The description clearly states the tool lists terms of a specific taxonomy, with examples including categories, tags, and custom taxonomies, distinguishing it from siblings like wordpress_list_categories and wordpress_list_tags.

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

Usage Guidelines3/5

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

The description implies usage for any taxonomy but does not explicitly state when to use this tool over alternatives or when not to use it, leaving usage guidance implicit.

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

wordpress_list_themesC

[UNIFIED] List installed WordPress themes. Returns all themes with their status and metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
statusNoall

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It implies a read operation but doesn't explicitly state side-effect-free behavior, authentication needs, or rate limits. The phrase 'List installed WordPress themes' suggests read-only, but no confirmation.

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 very concise, no wasted words. However, the '[UNIFIED]' prefix is unusual but not detrimental. It could benefit from slightly more structure like separating core function from return details.

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

Completeness2/5

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

Given the tool has two parameters and no output schema, the description is incomplete. It doesn't mention pagination, return format, or metadata contents. For a list tool with many siblings, more context is needed for correct selection.

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

Parameters1/5

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

Schema coverage is 0%, and the description adds no detail about parameters. 'status' is not explained beyond default 'all', and 'site' is not described at all. The description fails to add meaning beyond the schema field names.

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

Purpose4/5

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

The description clearly states the tool lists installed WordPress themes and returns status and metadata. It distinguishes from 'wordpress_get_active_theme' (single theme) but doesn't differentiate from 'wordpress_wp_theme_list_detailed'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'wordpress_get_active_theme' or 'wordpress_wp_theme_list_detailed'. The description is generic and lacks usage context.

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

wordpress_list_usersC

[UNIFIED] List WordPress users. Returns paginated list of users with name, username, email, and roles.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
siteYes
rolesNo
per_pageNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behaviors. It only mentions pagination, but omits other important traits such as authentication requirements, sorting, error handling, 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.

Conciseness4/5

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

The description is a single concise sentence, which is appropriate for a simple listing tool. However, it could be slightly expanded without losing conciseness to include more helpful details.

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

Completeness2/5

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

Given the lack of annotations, no output schema, and 4 undocumented parameters, the description is incomplete. It fails to cover key aspects needed for correct usage, such as parameter behavior or return structure.

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

Parameters1/5

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

The input schema has 4 parameters with 0% description coverage, and the tool description does not explain any parameter meaning beyond their names. No additional context is provided for 'site', 'page', 'roles', or 'per_page'.

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

Purpose5/5

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

The description clearly states that the tool lists WordPress users and specifies the returned fields (name, username, email, roles). This distinguishes it from sibling tools that list other WordPress entities (posts, categories, etc.).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. It only implies use for listing users, but lacks explicit usage context.

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

wordpress_probe_capabilitiesA

[UNIFIED] Probe the airano-mcp-bridge companion plugin for the effective capability set of the calling application password plus the list of companion routes the installed version ships. Returns companion_available: false when the plugin is missing or outdated. Cached 24 h per (site, user).

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

A3.7/5.0
Behavior4/5

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

The description discloses that it returns 'companion_available: false' when missing/outdated and is cached 24h. It implies a read-only probe, but lacks explicit statement about non-destructiveness. With no annotations, this is reasonably transparent.

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, no wasted words. Efficient and well-structured.

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

Completeness4/5

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

Without output schema, the description provides a good overview of what is returned (capability set, routes, companion_available flag). Adequate for a probe tool, but could mention return format.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not explain the 'site' parameter. The only hint is in caching note, but 'site' meaning is ambiguous (URL? ID?). Description fails to add value over schema.

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

Purpose5/5

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

The description clearly states the tool probes the companion plugin for the effective capability set and companion routes, with a specific verb and resource. It is unique among siblings as a probing tool.

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

Usage Guidelines3/5

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

The description implies usage for checking capabilities and routes, but does not explicitly state when to use or when not to use, nor mention alternatives among siblings.

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

wordpress_probe_upload_limitsA

[UNIFIED] Probe a WordPress site for its effective upload limits (upload_max_filesize, post_max_size, memory_limit, max_input_time, wp_max_upload_size). Uses the airano-mcp-bridge companion plugin if present, else best-effort from the WP REST index. Cached 24 h per site.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly explains that the tool will attempt to use a companion plugin for more accurate results, and if not available, will do a best-effort from the WP REST index. It also states the caching period of 24 hours, which helps the agent understand the freshness of results. There is no contradiction with annotations (none exist).

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

Conciseness5/5

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

The description is very concise, using only three sentences. It front-loads the purpose with '[UNIFIED]' and the core action 'Probe a WordPress site for its effective upload limits'. Every sentence adds value: method, caching, and what limits are checked. No wasted words.

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

Completeness5/5

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

Given the tool has only one parameter and no output schema, the description adequately covers its semantics. It explains the two possible probing methods, the caching behavior, and the list of limits checked. This is sufficient for an AI agent to use the tool correctly without additional information.

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

Parameters4/5

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

The input schema only defines a 'site' parameter as a string with no description. The tool description adds meaning by specifying that the parameter represents a WordPress site URL, and that the tool probes that site for upload limits. This provides context beyond the raw schema, though it doesn't detail the expected format (e.g., must include protocol).

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

Purpose5/5

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

The description clearly states the tool's purpose: to probe a WordPress site for effective upload limits. It lists the specific PHP and WordPress limits checked (upload_max_filesize, post_max_size, etc.), making the function unambiguous. The tool name is descriptive, and the description adds specific detail, distinguishing it from sibling tools that deal with other aspects of WordPress or health metrics.

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

Usage Guidelines4/5

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

The description provides usage context by explaining it uses the airano-mcp-bridge companion plugin if available, or falls back to the WP REST index. It also mentions that results are cached for 24 hours per site, implying the tool can be used to check limits before uploads. It doesn't explicitly state when not to use it or suggest alternatives, but the context is clear enough for an AI agent to decide when it's appropriate.

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

wordpress_regenerate_thumbnailsA

[UNIFIED] Rebuild attachment sub-sizes (the registered WP image sizes plus any from add_image_size() in the active theme). Use this after upload_media_from_url / _from_base64 with convert_to=webp|avif, after a theme switch that adds new sizes, or for legacy attachments missing thumbnails. Routes through the airano-mcp-bridge companion plugin v2.8.0+. Body shapes: either an 'ids' list to target specific attachments (max 50 per call); or all=true with offset/limit for paged batch. Returns has_more + next_offset in batch mode so callers can continue.

ParametersJSON Schema
NameRequiredDescriptionDefault
allNo
idsNo
siteYes
limitNo
offsetNo

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full responsibility. It describes the action, the required plugin, two modes of operation (ids list vs. batch), and batch continuation via 'has_more + next_offset'. It does not mention potential side effects like file deletion or authentication, but regeneration is typically non-destructive and the tool is well-documented for its purpose.

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 paragraph but is dense and well-organized: it starts with the core action, then lists usage scenarios, then explains input shapes, and ends with return behavior. It balances completeness with brevity, avoiding unnecessary fluff.

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

Completeness5/5

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

Given the tool has 5 parameters, no output schema, and no annotations, the description covers all critical aspects: what it does, when to use it, how to use it (ids vs. batch), technical prerequisites (plugin version), and batch continuation. It is fully sufficient for an agent to invoke the tool correctly.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates by explaining the 'ids' parameter (list of specific attachment IDs, max 50 per call) and the batch mode parameters ('all', 'offset', 'limit'). It also clarifies that 'ids' and 'all' are mutually exclusive ('Body shapes: either...'). This adds significant value beyond the schema's raw types and defaults.

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

Purpose5/5

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

The description clearly states the action ('Rebuild attachment sub-sizes') and explains specific scenarios ('after upload_media_from_url / _from_base64 with convert_to=webp|avif, after a theme switch that adds new sizes, or for legacy attachments missing thumbnails'). It distinguishes itself from sibling tools by focusing on thumbnail regeneration, which none of the siblings explicitly address.

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 directly states when to use the tool: after specific upload operations with image conversion, after theme switches, or for legacy attachments. It also mentions the companion plugin requirement. While it does not explicitly list alternatives or when not to use, the provided context is clear and actionable.

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

wordpress_site_healthB

[UNIFIED] Unified site-health snapshot via the airano-mcp-bridge companion plugin (v2.6.0+). Single request returns WP + PHP + MySQL versions, loaded PHP extensions, server software + disk free, active plugins with versions, active theme, and writability checks. Falls back to companion_available: false when the plugin is missing. Requires manage_options.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3.2/5.0
Behavior4/5

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

Although no annotations are provided, the description details the exact data returned (versions, plugins, theme, writability) and the fallback for missing plugin. It also mentions the required capability. This is fairly transparent for a read-only health check.

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?

Description is a single, dense sentence that covers key points. Front-loading with '[UNIFIED]' is slightly extraneous but overall concise.

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

Completeness4/5

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

For a simple one-parameter tool with no output schema, the description explains the comprehensive output and fallback. However, it lacks parameter details, preventing full completeness.

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

Parameters1/5

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

The single parameter 'site' is undocumented; schema coverage is 0% and the description adds no meaning about format or acceptable values. This is a significant 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?

The description clearly states it provides a 'Unified site-health snapshot' with specific data like WP, PHP, MySQL versions. It distinguishes from sibling tools by focusing on WordPress site health, not general project health.

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

Usage Guidelines2/5

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

No explicit when-to-use or when-not-to-use guidance. 'Requires manage_options' is a prerequisite but no comparison with alternatives like check_all_projects_health. The fallback behavior is described but not contextualized.

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

wordpress_transient_flushA

[UNIFIED] Flush WordPress transients via the airano-mcp-bridge companion plugin (v2.5.0+). Scopes: 'expired' (default, delete_expired_transients), 'all' (every transient), 'pattern' (shell glob like 'rank_math_*'). On multisite, include_site_transients=true also purges site_transient* rows. Requires manage_options.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
scopeNo
patternNo
include_site_transientsNo

TDQS

A3.8/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It effectively discloses the destructive nature (flush/purge), available scopes, default behavior (expired), multisite handling, and permission requirement. It adds value by specifying the companion plugin version and the shell glob pattern for the 'pattern' scope, though it omits return values 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.

Conciseness4/5

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

The description is a single concise paragraph that front-loads the core purpose and then elaborates on scopes and multisite behavior. It avoids fluff but could benefit from structuring (e.g., bullet points) for quick scanning. Still, it efficiently conveys essential information.

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

Completeness3/5

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

Given no output schema and no annotations, the description adequately covers behavioral aspects but omits return format, potential side effects, and the meaning of the required 'site' parameter. For a destructive mutation tool with moderate complexity, more context would be beneficial for safe usage.

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

Parameters3/5

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

Schema coverage is 0%, so description must compensate. It explains 'scope', 'pattern' (via scope), and 'include_site_transients' meanings. However, it fails to explain the required 'site' parameter, which is a significant gap given the context of managing multiple WordPress sites. Overall, adds meaning for most but not all parameters.

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

Purpose5/5

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

The description clearly states the action (flush), resource (WordPress transients), and details specific scopes ('expired', 'all', 'pattern') and multisite behavior. It distinguishes itself from sibling tools by specifying its unique functionality of transient flushing, which is not shared by other WordPress tools in the sibling list.

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 mentions a prerequisite (requires manage_options) but does not explicitly state when to use this tool vs alternatives like wordpress_cache_purge or other cache-related tools. No guidance on exclusions or alternative approaches is provided, leaving usage context partially implied.

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

wordpress_update_categoryC

[UNIFIED] Update an existing WordPress category. Can modify name, description, and parent category.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
siteYes
parentNo
category_idYes
descriptionNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, and description only states 'update' without disclosing mutation behavior, side effects (e.g., updating parent), authentication needs, or idempotency.

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?

Description is extremely concise (one sentence), but the '[UNIFIED]' prefix is ambiguous and the brevity sacrifices necessary detail. Adequate but not optimally structured.

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

Completeness2/5

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

Given no output schema, 5 parameters (2 required), and many siblings, the description fails to provide return value info, required fields context, or edge cases. Incomplete for effective tool selection.

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

Parameters2/5

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

Schema coverage is 0%, and description lists three modifiable fields (name, description, parent), but omits required parameters (site, category_id) and does not add meaning beyond the schema's property names.

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?

Clearly states 'Update an existing WordPress category' with verb and resource, and lists modifiable fields (name, description, parent), distinguishing it from create/delete siblings.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like wordpress_create_category or wordpress_delete_category. Missing context about prerequisites or exclusions.

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

wordpress_update_commentC

[UNIFIED] Update an existing WordPress comment. Can update content, status, author information, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
statusNo
contentNo
comment_idYes
author_nameNo
author_emailNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; description lacks disclosure of side effects (e.g., notifications, idempotency). Only says 'update' without specifying if partial updates are allowed or other behavioral traits.

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

Conciseness4/5

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

Single sentence, front-loaded with '[UNIFIED]', concise but adequately structured. Could include more detail without verbosity.

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

Completeness2/5

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

No output schema, no annotations, 6 params with no schema-level descriptions. Description insufficient for an agent to understand return values, error cases, or complete behavior.

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 0%. Description only generically mentions 'content, status, author information' without explaining each parameter's format or constraints.

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

Purpose5/5

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

Description clearly states it updates an existing WordPress comment and lists specific fields (content, status, author info). Distinguishes from siblings like wordpress_create_comment.

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

Usage Guidelines2/5

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

No guidance on when to use or not use this tool. No mention of prerequisites (e.g., comment must exist) or alternatives.

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

wordpress_update_mediaB

[UNIFIED] Update media metadata. Supports title, description, slug, alt text, caption, status, and associated post.

ParametersJSON Schema
NameRequiredDescriptionDefault
postNo
siteYes
slugNo
titleNo
statusNo
captionNo
alt_textNo
media_idYes
descriptionNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description fails to disclose behavioral traits such as whether it overwrites all fields or only provided ones, what happens on failure, or if it returns the updated object. This is insufficient for a mutation tool.

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

Conciseness5/5

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

The description is only two sentences, front-loaded with the main purpose, and contains no unnecessary information. It is appropriately concise.

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

Completeness2/5

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

Given no output schema and zero schema description coverage, the description is incomplete. It omits required parameters, return values, error conditions, and usage context, making it insufficient for full understanding.

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

Parameters3/5

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

The description lists supported fields (title, description, slug, alt_text, caption, status, post) which adds meaning beyond the schema, but fails to explain the 'post' parameter or mention required parameters 'site' and 'media_id'. With 0% schema coverage, more detail is needed.

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

Purpose5/5

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

The description clearly states 'Update media metadata' and lists specific fields (title, description, slug, alt text, caption, status, associated post) which distinguishes it from sibling tools like wordpress_update_post or wordpress_update_page.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like wordpress_get_media or wordpress_delete_media. No prerequisites or context are mentioned.

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

wordpress_update_menu_itemC

[UNIFIED] Update an existing menu item. Can change title, URL, parent, or menu order.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
siteYes
titleNo
parentNo
item_idYes
menu_orderNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; description only states 'Update' without disclosing side effects, idempotency, or required permissions. Does not explain behavior when optional params are omitted.

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

Conciseness4/5

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

Single sentence is concise, but lacks structure. Could benefit from bullet points for clarity.

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

Completeness2/5

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

Missing prerequisites, return value, error conditions, and parameter details. Inadequate for a mutation tool without annotations or output schema.

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

Parameters2/5

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

Schema coverage is 0%; description lists 4 of 6 parameters but lacks details on semantics like format of 'parent' or 'menu_order'. Does not explain purpose of 'site' and 'item_id' beyond names.

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?

Description clearly states 'Update an existing menu item' with specific attributes (title, URL, parent, menu order). Distinguishes from sibling tools like wordpress_create_menu_item.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites or exclusions mentioned. Lacks context about required existing menu or item_id validity.

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

wordpress_update_navigationA

[UNIFIED] Update a wp_navigation post (block-theme menu). Writes post_content (block markup) and/or title/status/slug/meta. Use this to fix navigation-link hrefs that the agent set up in Site Editor without leaving the MCP loop.

ParametersJSON Schema
NameRequiredDescriptionDefault
metaNo
siteYes
slugNo
titleNo
statusNo
contentNo
navigation_idYes

TDQS

A3.9/5.0
Behavior4/5

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

Describes it as an update operation that writes post_content and other fields. No annotations, so description carries burden. Reveals mutation but could mention side effects 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.

Conciseness4/5

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

Two sentences, front-loaded with purpose and scope. '[UNIFIED]' is minor noise, but overall efficient.

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

Completeness3/5

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

Covers purpose and use case, but lacks parameter details, return value, error conditions, and prerequisites. Adequate for simple updates but incomplete for complex scenarios.

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

Parameters2/5

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

Schema coverage is 0%. The description loosely lists 'title/status/slug/meta' but provides no detail on format, defaults, or meaning per parameter. Minimal added value beyond the schema.

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

Purpose5/5

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

Clearly states it updates a wp_navigation post (block-theme menu) and lists writable fields. Distinguishes from get/list siblings by focusing on mutation and fixing hrefs.

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 using this tool to fix navigation-link hrefs set in Site Editor, providing a concrete scenario. No explicit when-not or alternative tools, but the context is clear enough.

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

wordpress_update_pageB

[UNIFIED] Update an existing WordPress page. Can update title, content, status, slug, parent page, featured image, and post meta (e.g. Yoast fields).

ParametersJSON Schema
NameRequiredDescriptionDefault
metaNo
siteYes
slugNo
titleNo
parentNo
statusNo
contentNo
page_idYes
featured_mediaNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It only states that the tool updates a page, but does not disclose side effects, required permissions, rate limits, error conditions, or response structure.

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

Conciseness4/5

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

The description is concise: a single sentence with a clear action and a list of updateable fields. It is front-loaded and efficient, though could be slightly more structured.

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

Completeness2/5

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

Given 9 parameters with 0% schema description coverage, no output schema, and no annotations, the description is incomplete. It misses parameter formats, required parameters (site, page_id are not mentioned), and does not explain return values.

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

Parameters3/5

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

The description lists the main updatable fields (title, content, status, etc.), adding meaning beyond the bare schema names. However, it does not explain formats (e.g., meta as string or JSON), value constraints (e.g., status options), or required parameters like site and page_id.

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

Purpose5/5

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

The description clearly states the verb 'Update' and the resource 'an existing WordPress page', and lists specific fields that can be updated (title, content, status, slug, parent page, featured image, and post meta). This distinguishes it from sibling tools like wordpress_create_page or wordpress_delete_page.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, limitations, or when not to use it. Among many WordPress sibling tools, there is no contextual advice.

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

wordpress_update_postC

[UNIFIED] Update an existing WordPress post. Can update any field including title, content, status, categories, and tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
slugNo
tagsNo
titleNo
statusNo
contentNo
excerptNo
post_idYes
categoriesNo
featured_mediaNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, and the description only says 'update' without disclosing side effects (e.g., revisions, webhooks), idempotency, or whether partial updates are supported. Critical behavioral details are missing.

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 concise sentences. Front-loaded with purpose. No unnecessary words, though the '[UNIFIED]' prefix adds little value.

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

Completeness2/5

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

Given 10 parameters, no output schema, and no annotations, the description is too minimal. It doesn't explain required inputs, return format, or error handling, leaving significant gaps for the AI agent.

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 has 0% description coverage. The description lists only a few fields (title, content, status, categories, tags) but ignores site, post_id, slug, excerpt, featured_media. No explanation of what each parameter means or how to format values.

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

Purpose5/5

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

The description clearly states the tool updates an existing WordPress post, with specific examples of updatable fields (title, content, status, categories, tags). It distinguishes from siblings like create_post and delete_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 guidance on when to use this tool versus alternatives like create_post or delete_post. No prerequisites (e.g., having a valid post_id) or context about typical use cases.

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

wordpress_update_post_seoB

[UNIFIED] Update SEO metadata for a WordPress post or page. Supports both Rank Math and Yoast SEO fields. Automatically detects which plugin is active. Requires SEO API Bridge plugin.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
robotsNo
post_idYes
og_imageNo
og_titleNo
seo_titleNo
canonical_urlNo
focus_keywordNo
twitter_imageNo
twitter_titleNo
og_descriptionNo
meta_descriptionNo
additional_keywordsNo
twitter_descriptionNo

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description should fully disclose behavioral traits. It mentions the tool updates metadata and requires a plugin, but does not state whether the operation is destructive, idempotent, or what error conditions apply (e.g., missing plugin).

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

Conciseness5/5

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

The description is two sentences: one for purpose and one for key features. It is front-loaded with the verb and resource, and every sentence earns its place without redundancy.

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

Completeness2/5

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

Despite 14 parameters and no output schema or annotations, the description provides minimal contextual information. It omits return values, error handling, and how to effectively use the many optional fields, making it incomplete for an agent.

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

Parameters2/5

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

The schema has 0% description coverage for 14 parameters. The description only generically says 'Supports both Rank Math and Yoast SEO fields' without explaining which parameters correspond to which fields or adding semantic meaning beyond the parameter names.

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

Purpose5/5

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

The description clearly states the action (Update SEO metadata) and resource (WordPress post or page). It distinguishes from sibling tools by specifying support for both Rank Math and Yoast SEO and automatic plugin detection, which differentiates it from general update_post or get_post_seo.

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

Usage Guidelines3/5

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

The description mentions a prerequisite (SEO API Bridge plugin) and implies usage for SEO metadata updates only, but it lacks explicit guidance on when to use this tool versus alternatives like wordpress_update_post for non-SEO updates or wordpress_update_product_seo for products.

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

wordpress_update_product_seoB

[UNIFIED] Update SEO metadata for a WooCommerce product. Same as update_post_seo but specifically for products. Requires SEO API Bridge plugin.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
og_imageNo
og_titleNo
seo_titleNo
product_idYes
canonical_urlNo
focus_keywordNo
twitter_imageNo
twitter_titleNo
og_descriptionNo
meta_descriptionNo
additional_keywordsNo
twitter_descriptionNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description only states 'Update' (implying mutation) and a plugin requirement. It does not disclose side effects, idempotency, authorization needs, or error behavior, leaving significant gaps for an AI agent.

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

Conciseness5/5

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

Three sentences, each earning its place: purpose, sibling differentiation, and requirement. Front-loaded with the action, no wasted words.

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

Completeness2/5

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

Despite 13 parameters and no output schema, the description omits parameter details and return value. It is insufficient for an agent to use this tool correctly without additional knowledge.

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

Parameters1/5

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

The description provides no explanation for any of the 13 parameters. With 0% schema description coverage, the description fails to add meaning beyond the raw schema, leaving the agent to guess the purpose of each field.

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

Purpose5/5

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

The description explicitly states it updates SEO metadata for WooCommerce products, uses specific verb 'Update', and distinguishes from sibling 'wordpress_update_post_seo' by noting it is product-specific.

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 tells the agent to use this for products instead of 'update_post_seo' and mentions the required plugin. However, it could specify when not to use it (e.g., for non-product posts) or alternatives.

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

wordpress_update_tagB

[UNIFIED] Update an existing WordPress tag. Can modify name and description.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
siteYes
tag_idYes
descriptionNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. The description mentions 'update' indicating mutation but lacks details on side effects, authorization requirements, rate limits, or return behavior. It relies solely on the verb which is insufficient.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the essential action.

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

Completeness2/5

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

Given the tool has 4 parameters (2 required), no output schema, and no annotations, the description is incomplete. It fails to explain the 'site' parameter, the need for an existing tag_id, or the response format.

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 0%. The description mentions 'name' and 'description' parameters but does not explain 'site' and 'tag_id', which are required. The description adds minimal value beyond the schema field names.

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

Purpose5/5

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

The description clearly states the verb 'update', the resource 'existing WordPress tag', and what can be modified ('name and description'). It distinguishes from sibling tools like 'wordpress_create_tag' and 'wordpress_delete_tag'.

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

Usage Guidelines3/5

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

The description implies usage for updating an existing tag but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites.

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

wordpress_upload_media_chunked_abortB

[UNIFIED] Abort a chunked upload session and delete its spill file.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
session_idYes

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must disclose behavior fully. It mentions deletion of spill file, which is a destructive action, but does not cover idempotency, error states, or whether the upload session is also cleaned up on the server side.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded and free of fluff. Every word adds value, achieving maximum conciseness.

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

Completeness2/5

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

As part of a chunked upload workflow, the description lacks context about return values, error handling, or how it interacts with other chunked upload tools. The absence of an output schema exacerbates this shortcoming.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not explain the parameters (site, session_id) beyond their existence. The agent gets no guidance on expected format or meaning of values.

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

Purpose5/5

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

The description clearly states the action (abort), the resource (chunked upload session), and the side effect (delete spill file). It effectively distinguishes from sibling tools like start, chunk, and finish.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like starting a new upload or finishing. It implies usage for aborting but lacks when-not-to-use or prerequisite conditions.

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

wordpress_upload_media_chunked_chunkA

[UNIFIED] Append a single base64-encoded chunk to a chunked upload session. Chunks must arrive in order starting at index 0.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
indexYes
data_b64Yes
session_idYes
chunk_sha256No

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description must fully convey behavior. It correctly states the core action and ordering requirement, but it omits details such as error conditions (e.g., wrong order, invalid session), idempotency, or the role of the optional chunk_sha256 parameter. This partial disclosure is adequate but not comprehensive.

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

Conciseness5/5

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

The description is extremely concise, consisting of just two sentences. It front-loads the action and includes the critical ordering constraint with no wasted words. Every sentence serves a purpose.

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

Completeness2/5

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

The tool is part of a chunked upload workflow, but the description fails to mention key context: that a session must be started beforehand, what the tool returns (e.g., success indicator), or how it integrates with start/finish/abort. Given no output schema and no annotations, this minimal description leaves significant gaps for an agent to infer.

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 0%, so the description must clarify parameters. It implicitly covers data_b64 (base64-encoded chunk) and index (ordering), but site, session_id, and chunk_sha256 are left unexplained. The description does not add enough value beyond the raw schema, leaving key parameters ambiguous.

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

Purpose5/5

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

The description clearly states the tool appends a single base64-encoded chunk to a chunked upload session, specifying the resource (chunked upload session) and action (append). It also adds ordering constraints (chunks must arrive in order starting at index 0), making the purpose highly specific and 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 description provides an important usage guideline about chunk ordering, which helps the agent understand correct invocation. However, it does not explicitly state when to use this tool in relation to its siblings (e.g., start, finish, abort), nor does it mention prerequisites like an existing session. This leaves the usage context partially implied.

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

wordpress_upload_media_chunked_finishB

[UNIFIED] Finalize a chunked upload: assemble + optimize + upload to WordPress. Verifies sha256 if supplied at start.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
titleNo
captionNo
alt_textNo
session_idYes
set_featuredNo
skip_optimizeNo
attach_to_postNo

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses sha256 verification and the assembly/optimization steps but does not mention side effects, required permissions, rate limits, or what happens on failure. For a tool with no annotations, this is insufficient.

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

Conciseness4/5

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

The description is a single concise sentence that front-loads the purpose. However, it could benefit from a brief note on required parameters or expected workflow.

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

Completeness2/5

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

Given the lack of annotations, output schema, and the presence of 8 parameters, the description is too brief to be considered complete. It does not cover return values, error handling, or the full process context.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the 8 parameters (e.g., site, session_id, title, etc.). The agent has no guidance on how to fill in required fields like site and session_id beyond their names and types.

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

Purpose5/5

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

The description clearly states the tool finalizes a chunked upload (assemble, optimize, upload) and verifies sha256 if supplied. It uses specific verb+resource and distinguishes itself from sibling tools like start, abort, and chunk.

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 mentions it is part of a unified process but does not explicitly state when to use this tool versus alternative upload methods (e.g., single upload). It lacks when-not or exclusion criteria.

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

wordpress_upload_media_chunked_startA

[UNIFIED] Start a chunked upload session for a large media file. Returns a session_id to use for subsequent chunk/finish/abort calls. TTL 1h, hard cap 500 MB per session.

ParametersJSON Schema
NameRequiredDescriptionDefault
mimeNo
siteYes
sha256No
filenameYes
total_bytesYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description discloses TTL (1h), hard cap (500 MB), and that it returns a session_id. It does not cover auth requirements, error conditions, or resource locking, but gives enough behavioral context for basic usage.

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

Conciseness5/5

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

The description is two concise sentences, front-loading the action and key outputs. Every word adds value 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?

Given no output schema, the description properly states the return value. It covers session lifecycle, TTL, and size cap. However, it omits details like error handling, required auth, and parameter roles, but the core functionally is complete.

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

Parameters1/5

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

The schema has 5 parameters with 0% description coverage, yet the description mentions none of them. It fails to add meaning beyond the schema, which is critical given the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states the action ('start a chunked upload session'), the resource ('large media file'), and the return value ('session_id'). It also mentions TTL and size cap, distinguishing it from other upload tools.

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

Usage Guidelines4/5

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

It instructs to use the session_id for subsequent chunk/finish/abort calls and implies use for large files. While it doesn't explicitly state when not to use, the context of chunked upload and constraints (TTL, cap) provides clear guidance.

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

wordpress_upload_media_chunked_statusA

[UNIFIED] Query the current state of a chunked-upload session — returns received_bytes and next_chunk so the caller can resume after a disconnect. The session survives for 1 h after the last activity; re-start the session with upload_media_chunked_start if it has expired or been aborted. Returns {error_code: NOT_FOUND} when the session is unknown.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
session_idYes

TDQS

A4.3/5.0
Behavior4/5

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

Despite no annotations, the description discloses session timeout (1 hour), returned fields, and error response (`{error_code: NOT_FOUND}`). It is transparent about the status query behavior, though it does not mention authentication or other side effects.

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

Conciseness5/5

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

The description is a single short paragraph, front-loaded with `[UNIFIED]`, and every sentence adds necessary information 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?

The description covers core behavior (resume after disconnect, session expiration, error case) and references sibling tools. Missing parameter descriptions are a minor gap, but overall it is complete for a status tool.

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

Parameters2/5

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

Schema coverage is 0%, but the description does not explain the `site` and `session_id` parameters beyond their mention. While `session_id` is inferable, the lack of explicit descriptions leaves a gap for the agent.

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

Purpose5/5

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

The description clearly states the tool queries the state of a chunked-upload session, returning `received_bytes` and `next_chunk`. It distinguishes itself from sibling tools like `upload_media_chunked_start` and `upload_media_chunked_abort` by focusing on status querying.

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 tells when to use (to resume after a disconnect), mentions session expiry (1 hour), and advises to re-start with `upload_media_chunked_start` if expired or aborted. This provides clear context and alternatives.

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

wordpress_upload_media_from_base64B

[UNIFIED] Upload a base64-encoded file directly to the WordPress media library. For chat-attached images/files smaller than ~10 MB. Use upload_media_from_url for larger files or chunked path later.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes
mimeNo
siteYes
titleNo
captionNo
alt_textNo
filenameYes
convert_toNo
set_featuredNo
skip_optimizeNo
attach_to_postNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states the basic action of uploading, lacking details about side effects, permissions, idempotency, error handling, or return values. For a mutation tool with 11 parameters, this is insufficient.

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

Conciseness4/5

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

The description is brief and front-loaded with key purpose and usage guidance. However, given the tool's complexity, the conciseness sacrifices necessary detail for parameter semantics and behavior.

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

Completeness1/5

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

Despite 11 parameters and no output schema or annotations, the description does not cover return values, error conditions, prerequisites, or the processing of base64 data. It is insufficient for an agent to use the tool reliably.

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

Parameters1/5

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

Schema description coverage is 0% and the description only mentions 'base64-encoded data' and 'filename', ignoring the other 8 parameters (mime, title, caption, alt_text, convert_to, set_featured, skip_optimize, attach_to_post). This fails to provide meaningful guidance beyond the schema.

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

Purpose4/5

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

The description clearly states the verb 'Upload' and resource 'base64-encoded file to WordPress media library', and distinguishes from a sibling (upload_media_from_url) by specifying small file size (<10 MB) and chat-attached use case. However, it does not differentiate from chunked upload siblings.

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 when to use this tool (for chat-attached images/files <10 MB) and when not (for larger files), with an explicit alternative mentioned (upload_media_from_url) and a note about chunked path later.

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

wordpress_upload_media_from_urlB

[UNIFIED] Upload media from a public URL to the WordPress media library (sideload). Downloads the file with SSRF protection, sniffs MIME, and uploads via raw-binary POST.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
siteYes
titleNo
captionNo
alt_textNo
filenameNo
convert_toNo
set_featuredNo
skip_optimizeNo
attach_to_postNo

TDQS

B3.4/5.0
Behavior3/5

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

Without annotations, the description discloses SSRF protection, MIME sniffing, and raw-binary POST, adding some behavioral context. However, it lacks details on failure modes, authentication requirements, 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.

Conciseness4/5

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

The description is a single sentence that is concise and front-loaded with the action. The '[UNIFIED]' prefix is extraneous but does not detract significantly. Every word earns its place.

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

Completeness2/5

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

For a tool with 10 parameters and no output schema or annotations, the description is insufficient. Key parameters like convert_to, set_featured, and attach_to_post are undocumented, leaving agents unable to use them correctly.

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

Parameters2/5

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

Schema coverage is 0% and the description does not explain any of the 10 parameters beyond their implicit names. No parameter behavior or format is clarified, leaving significant ambiguity.

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

Purpose5/5

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

The description clearly states the tool uploads media from a public URL to WordPress via sideloading. It mentions SSRF protection, MIME sniffing, and raw-binary POST, which distinguishes it from sibling tools like wordpress_upload_media_from_base64 and chunked variants.

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 use for remote URLs (sideload) but does not explicitly state when to use this tool versus alternatives (e.g., from_base64, chunked). No exclusions or context for selection are provided.

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

wordpress_wp_cache_flushC

[UNIFIED] Flush WordPress object cache. Clears all cached objects from Redis, Memcached, or file cache. Safe to run anytime.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

C2.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states the tool is safe to run anytime, implying non-destructive behavior, but does not disclose potential performance impacts, authentication needs, or what happens to cached data beyond being cleared.

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 concise sentence without unnecessary words. However, the '[UNIFIED]' prefix is unclear and could be omitted or explained.

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

Completeness2/5

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

Given the single undocumented parameter and lack of differentiation from sibling tools, the description is incomplete. It fails to provide adequate context for correct tool invocation.

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

Parameters1/5

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

The schema has 0% description coverage for the required 'site' parameter, and the description does not explain what 'site' refers to (e.g., ID, URL, name). The agent receives no guidance on how to populate this parameter.

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

Purpose4/5

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

The description states 'Flush WordPress object cache' and specifies the cache types (Redis, Memcached, file cache), making the purpose clear. However, it does not distinguish from similar siblings like wordpress_cache_purge, so differentiation is lacking.

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 mentions 'Safe to run anytime,' which gives some usage guidance. But it provides no context on when to use this tool over alternatives (e.g., wordpress_cache_purge, wordpress_transient_flush) or any prerequisites.

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

wordpress_wp_cache_typeA

[UNIFIED] Get the object cache type being used (Redis, Memcached, file-based, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

A3.8/5.0
Behavior4/5

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

Without annotations, the description clarifies that the tool is a read operation ('Get') with no side effects. It does not mention authorization or rate limits, but for a simple getter, the behavioral trait is sufficiently disclosed.

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

Conciseness5/5

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

A single sentence that is concise and front-loaded with the key information. No redundant words or tangential details.

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

Completeness3/5

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

The tool is simple, but the missing explanation for the 'site' parameter and no output schema leaves a gap. The description is minimally adequate for understanding the tool's purpose but not fully complete for invocation without further inference.

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?

Despite 0% schema description coverage, the description does not explain the 'site' parameter (e.g., expected format, meaning). The only parameter is completely undocumented, leaving the agent uncertain about how to specify the site.

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

Purpose5/5

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

The description clearly states the action ('Get') and resource ('object cache type'), with examples (Redis, Memcached, etc.). It distinguishes from siblings like wordpress_wp_cache_flush which performs a different action.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternative guidance. The context of siblings (e.g., wordpress_wp_cache_flush) implies usage for reading vs. writing, but no direct comparison or exclusion criteria are provided.

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

wordpress_wp_core_updateA

[UNIFIED] Update WordPress core. Default is DRY RUN mode (shows available updates). Set dry_run=false to apply updates. CRITICAL: Always backup before core updates!

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
dry_runNo
versionNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description correctly identifies the dry-run mode and operation type, and adds a backup warning. However, it does not disclose potential side effects like downtime, rollback capabilities, or error handling, leaving some behavioral aspects uncovered.

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

Conciseness5/5

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

The description is very concise with three sentences, front-loading the core purpose and key behavior (dry run), and includes a critical warning. No unnecessary words.

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

Completeness2/5

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

In the absence of annotations and output schema, the description omits details about the version parameter, the return format of a dry run, and any prerequisites. This leaves gaps for effective tool invocation.

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

Parameters3/5

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

The description adds meaning to the dry_run parameter by explaining its default and effect, but does not clarify the 'site' or 'version' parameters. Given 0% schema coverage, the description partially compensates but is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates WordPress core, distinguishes it from sibling tools that handle other updates (e.g., themes, plugins), and explicitly mentions the dry-run default behavior, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the default dry-run mode and how to apply updates by setting dry_run=false, and includes a backup warning. However, it does not explicitly mention when to use this tool over other core-related tools or when to avoid it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_core_verify_checksumsB

[UNIFIED] Verify WordPress core files against official checksums. Critical security tool for detecting tampering or unauthorized modifications.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It does not mention whether the tool is read-only, what output it returns, or any side effects. The phrase 'detecting tampering' hints at inspection but lacks detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. It efficiently conveys the purpose and importance. However, it could be slightly restructured to include parameter guidance without adding bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's critical security nature and lack of output schema, the description is incomplete. It does not explain what happens after verification (e.g., list of files, success/failure) or how to interpret results. The single parameter 'site' is not elaborated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter ('site') with no description. The tool description provides no explanation of what 'site' means (e.g., URL, ID, domain). With 0% schema description coverage, the description should compensate but fails to do so.

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 'Verify WordPress core files against official checksums' and labels it a 'Critical security tool for detecting tampering or unauthorized modifications.' This provides a clear verb and resource, and distinguishes it from siblings like wordpress_wp_plugin_verify_checksums.

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 use for security checks but offers no explicit guidance on when to use this tool versus alternatives (e.g., wordpress_site_health) or when not to use it. The context is clear but lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_db_checkA

[UNIFIED] Check WordPress database for errors. Runs integrity checks to ensure tables are healthy. Read-only operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It states 'Read-only operation', which is a key behavioral trait. However, it does not detail what happens when errors are found, any permission requirements, or the output format. Despite this, the read-only declaration is a strong positive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: two sentences that front-load the purpose and include the read-only note. Every sentence adds value without redundancy. The [UNIFIED] prefix is a minor tag but does not detract.

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 simplicity (1 param, no output schema, no annotations), the description covers the core intent but lacks detail on the 'site' parameter and how it relates to sibling health check tools. It is minimally adequate but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for a single required parameter 'site'. The description does not explain what 'site' refers to (e.g., ID, URL), nor does it provide any additional meaning beyond the schema. Since low coverage (<50%) requires description to compensate, but it fails to do so.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'check' and the resource 'WordPress database', and indicates it runs integrity checks. It distinguishes from sibling db tools like export/optimize by specifying it's a check operation. Read-only annotation further clarifies its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking database integrity but does not provide explicit guidance on when to use this tool versus alternatives like wordpress_get_site_health or wordpress_site_health. No when-not-to-use or alternative references are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_db_exportB

[UNIFIED] Export WordPress database to SQL file in /tmp directory. Creates timestamped backup file for database recovery.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the export creates a file in /tmp with a timestamped name, which gives insight into output location and naming. However, with no annotations, it does not mention whether the operation is read-only, auth requirements, or if it overwrites existing files. Still, the provided details are relevant and additive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a single sentence that covers purpose, output, and destination. No redundancy, and front-loaded with key 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 simple tool with one parameter and no output schema, the description gives essential info (file location, backup purpose) but lacks explanation of the parameter and any side effects or constraints. It is adequate but incomplete for full autonomous use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter 'site' with no description, and the tool description does not explain what 'site' refers to (e.g., site URL, ID). With 0% schema description coverage, the description fails to compensate, leaving the agent unsure how to specify the target site.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (export), resource (WordPress database), target format (SQL file), and destination (/tmp directory). It also mentions timestamping and backup purpose, distinguishing it from other WordPress tools that manage posts, media, or cache.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 implies use for backup/recovery but provides no explicit guidance on when to use this tool versus alternatives (e.g., wordpress_export_content for content export, or wp_db_check for integrity). No context on prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_db_optimizeB

[UNIFIED] Optimize WordPress database tables. Runs OPTIMIZE TABLE on all WordPress tables to reclaim space and improve performance.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It mentions running OPTIMIZE TABLE, implying a write operation, but fails to disclose potential table locking, performance impact, required permissions, or that it affects all tables across the site.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core action and an explanatory second sentence. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite being a database optimization tool, the description lacks details on return values, duration, side effects, or prerequisites. Given no output schema, it should explain what the agent can expect after execution.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'site' has no schema description (0% coverage). The description does not explain what 'site' represents (e.g., ID, URL), so it adds no meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool optimizes WordPress database tables by running OPTIMIZE TABLE on all tables, specifying the verb 'optimize' and resource 'database tables'. It distinguishes from sibling tools like wordpress_wp_db_check and wordpress_wp_db_export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like wordpress_wp_db_check, nor does it mention prerequisites, risks, or scenarios to avoid (e.g., high traffic periods).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_plugin_list_detailedC

[UNIFIED] List all WordPress plugins with detailed information including versions, status (active/inactive), and available updates.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits like read-only nature, authentication requirements, or rate limits. It only states the output content, leaving the agent uninformed about side effects or permissions.

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 sentence that covers the tool's purpose without extraneous information. It is appropriately front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (1 parameter, no output schema), the description provides a reasonable overview but lacks parameter explanation and usage context. It is minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter 'site' is not described at all, despite 0% schema description coverage. The agent has no information about what value to provide (e.g., site URL, 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?

The description clearly states the tool lists all WordPress plugins with detailed information including versions, status, and available updates. It uses a specific verb-resource pair and implies comprehensiveness with '[UNIFIED]', distinguishing it from simpler list tools like wordpress_list_plugins.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as wordpress_list_plugins. It does not specify prerequisites, exclusions, or context for choosing this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_plugin_updateA

[UNIFIED] Update WordPress plugin(s). Default is DRY RUN mode (shows available updates). Set dry_run=false to apply updates. Always backup first!

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
dry_runNo
plugin_nameYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries burden. Mentions dry run safety and backup warning, but lacks details on failure modes, permissions, or return value. Adds useful behavioral context but not comprehensive.

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-loads purpose and mode. Concise, but backup warning seems abrupt. Efficient with minimal waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema. Explains main behavior and safety but fails to clarify return values, multiple plugin support (despite plural 'plugin(s)'), or error conditions. Adequate but leaves gaps for agent.

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 has 0% description coverage. Description only explains dry_run parameter and implies plugin_name is the plugin to update. Does not explain site or plugin_name format (e.g., slug vs name). Insufficient compensation for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Update WordPress plugin(s)', specifies the resource and action. Distinguishes from sibling list and other update tools by focusing on plugins and mentioning dry run mode.

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: default dry run mode, set dry_run=false to apply, and backup warning. Does not explicitly state when not to use, but context implies appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_plugin_verify_checksumsB

[UNIFIED] Verify plugin file integrity against WordPress.org checksums. Detects tampering or corruption. Only works for plugins from WordPress.org repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses that the tool detects tampering or corruption and has a repository limitation, but does not mention side effects, performance, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise, consisting of three sentences. The '[UNIFIED]' prefix may be confusing but does not add unnecessary length. It conveys the core purpose without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description should explain return values or results. It does not. The 'site' parameter is not described. For a simple tool, these omissions leave gaps in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'site' has no description in the schema (0% coverage) and the tool description does not clarify its meaning, format, or purpose. This leaves the agent without necessary context for proper invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool verifies plugin file integrity against WordPress.org checksums, detecting tampering or corruption. It distinguishes from siblings like wordpress_wp_core_verify_checksums by specifying plugins.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions it only works for plugins from WordPress.org repository, giving a condition for use. However, it lacks explicit guidance on when not to use it or alternatives among the many sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_search_replace_dry_runA

[UNIFIED] Search and replace in database (DRY RUN ONLY). Previews what would be changed. NEVER makes actual changes. Use for migration planning.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
tablesNo
new_stringYes
old_stringYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that the tool only previews changes and never modifies the database, which is critical behavioral information. With no annotations provided, the description carries the full burden, but lacks details on idempotency, side effects, or the exact nature of the preview output.

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 extremely concise, consisting of two short sentences. It front-loads the key information (search and replace, dry run only). While it could include more parameter details without becoming overly verbose, the current structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the four parameters, no output schema, and no annotations, the description lacks important details such as the format of the preview output, behavior when 'tables' is null, and any constraints on string values. This insufficient completeness could lead to incorrect tool usage.

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 0%, meaning the schema provides no parameter explanations. The description mentions 'site', 'old_string', and 'new_string' implicitly through the tool's action, but does not explain any parameter in detail, especially the optional 'tables' parameter. This is insufficient for an agent to understand parameter usage.

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?

Clearly states it performs a search and replace dry run, previewing changes without making actual modifications. The title and description explicitly emphasize 'DRY RUN ONLY' and 'NEVER makes actual changes', leaving no ambiguity about its purpose.

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 using this tool for migration planning, providing clear context. However, it does not specify when not to use it or list alternative tools for actual changes, though the indication 'DRY RUN ONLY' implies such distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_theme_list_detailedB

[UNIFIED] List all WordPress themes with detailed information including versions, status, and active theme identification.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It only states it lists themes, but does not mention that it is a read-only operation, potential authentication needs, or rate limits. The safety profile is not communicated beyond the obvious listing function.

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, clear sentence. It is efficient and front-loaded with purpose. However, it could benefit from a brief note on the parameter to improve structure without adding significant length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single required parameter and lack of output schema or annotations, the description is incomplete. It does not explain the 'site' parameter, leaving critical ambiguity for the AI agent. The tool's behavior and required inputs are not fully clarified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'site' has 0% schema description coverage. The description does not explain what 'site' refers to (e.g., URL or domain). It adds no meaning beyond the parameter name, failing to compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists all WordPress themes with detailed information including versions, status, and active theme identification. The name 'detailed' distinguishes it from sibling 'wordpress_list_themes' which likely provides a simpler list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for obtaining detailed theme info but does not explicitly state when to use this tool versus 'wordpress_list_themes' or any exclusions. No guidance on prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_theme_updateA

[UNIFIED] Update WordPress theme(s). Default is DRY RUN mode (shows available updates). Set dry_run=false to apply updates. WARNING: Updating active theme can break site appearance!

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes
dry_runNo
theme_nameYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses dry run behavior and risk of breaking site appearance, but omits details on auth, rate limits, or whether updates overwrite customizations. Adequate but not thorough.

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 and a warning, front-loaded with main action. No unnecessary words or repetition. Efficiently conveys key 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?

No output schema, no annotations. Description covers main action and dry run mode, but does not explain return value, success/failure indicators, or post-update state. Gaps remain for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. Description explains dry_run parameter well and implies theme_name. However, 'site' and 'theme_name' lack explicit meaning, and 'theme(s)' suggests plural but parameter is singular. Partial coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Update WordPress theme(s)' with specific verb and resource. It distinguishes between dry run and actual update, and is distinct from sibling tools like listing or getting themes.

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 guidance on dry run as default and when to set dry_run=false. Includes a warning about active theme. Lacks explicit when-not-to-use or alternatives, but context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_transient_delete_allB

[UNIFIED] Delete all expired transients from the database. Improves database performance by cleaning up temporary cached data.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description indicates deletion of expired transients, implying a destructive but safe cleaning operation. Lacks explicit warnings about data loss or permissions 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?

Two sentences, front-loaded with action and purpose. Efficient, though could benefit from structured sections.

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?

Adequate for a simple tool with one parameter, but missing usage context and parameter explanation. Sibling tools exist that require clearer differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'site' has no description in the schema (0% coverage) and the tool description does not explain what 'site' refers to or how to provide a valid value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Delete' and resource 'expired transients' with a clear benefit. It distinguishes from sibling tools like wordpress_wp_transient_list and wordpress_transient_flush by specifying 'expired'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Does not mention prerequisites or when to avoid using it, such as before other operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wordpress_wp_transient_listB

[UNIFIED] List transients in the database (limited to first 100). Shows transient keys with expiration times. Useful for debugging caching issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses a key behavioral trait: the listing is limited to 100 transients. However, it does not explicitly state that the operation is read-only or non-destructive, nor does it mention any authentication or rate limit considerations. The description adds some value beyond the input schema but leaves gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (two sentences) and front-loads the primary action. The '[UNIFIED]' prefix is an unnecessary tag that adds no value to an agent. Overall, it is concise, but the tag slightly reduces clarity.

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 (one parameter, no output schema), the description partially covers the purpose and limit. However, it fails to explain the 'site' parameter or describe the output format (e.g., array of objects). For a simple listing tool, more context is needed to be complete, especially since there are sibling tools with similar names.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is 0%, so the description must compensate for the undocumented 'site' parameter. The description does not mention 'site' at all, leaving its purpose (e.g., site URL or ID) entirely unspecified. This is a critical failure for a tool with one required parameter, as the agent has no guidance on what value to provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list transients), the resource (transients in the database), and the scope (limited to first 100). It also mentions what is shown (keys with expiration times), which is specific to this tool. This effectively distinguishes it from sibling tools like wordpress_transient_flush or wordpress_wp_transient_delete_all, which perform different operations.

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 indicates the tool is 'useful for debugging caching issues,' providing a clear usage context. However, it does not explicitly state when not to use it or suggest alternative tools (e.g., wordpress_transient_flush for clearing). The guidance is implied rather than explicit, which is adequate but not excellent.

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. 619 tool updatesv3.13.1
    • Removedappwrite_activate_deployment
    • Removedappwrite_bulk_create_documents
    • Removedappwrite_bulk_delete_documents
    • Removedappwrite_bulk_delete_files
    • Removedappwrite_bulk_update_documents
    • Removedappwrite_count_documents
    • Removedappwrite_create_boolean_attribute
    • Removedappwrite_create_bucket
    • Removedappwrite_create_collection
    • Removedappwrite_create_database
    • Removedappwrite_create_document
    • Removedappwrite_create_function
    • Removedappwrite_create_index
    • Removedappwrite_create_integer_attribute
    • Removedappwrite_create_string_attribute
    • Removedappwrite_create_subscriber
    • Removedappwrite_create_team
    • Removedappwrite_create_team_membership
    • Removedappwrite_create_topic
    • Removedappwrite_create_user
    • Removedappwrite_delete_attribute
    • Removedappwrite_delete_bucket
    • Removedappwrite_delete_collection
    • Removedappwrite_delete_database
    • Removedappwrite_delete_deployment
    • Removedappwrite_delete_document
    • Removedappwrite_delete_execution
    • Removedappwrite_delete_file
    • Removedappwrite_delete_function
    • Removedappwrite_delete_index
    • Removedappwrite_delete_membership
    • Removedappwrite_delete_message
    • Removedappwrite_delete_subscriber
    • Removedappwrite_delete_team
    • Removedappwrite_delete_topic
    • Removedappwrite_delete_user
    • Removedappwrite_delete_user_session
    • Removedappwrite_delete_user_sessions
    • Removedappwrite_download_file
    • Removedappwrite_execute_function
    • Removedappwrite_get_active_deployment
    • Removedappwrite_get_avatar_initials
    • Removedappwrite_get_bucket
    • Removedappwrite_get_bucket_stats
    • Removedappwrite_get_collection
    • Removedappwrite_get_database
    • Removedappwrite_get_deployment
    • Removedappwrite_get_document
    • Removedappwrite_get_documents_by_ids
    • Removedappwrite_get_execution
    • Removedappwrite_get_file
    • Removedappwrite_get_file_preview
    • Removedappwrite_get_file_url
    • Removedappwrite_get_file_view
    • Removedappwrite_get_function
    • Removedappwrite_get_message
    • Removedappwrite_get_qr_code
    • Removedappwrite_get_team
    • Removedappwrite_get_team_prefs
    • Removedappwrite_get_topic
    • Removedappwrite_get_user
    • Removedappwrite_health_cache
    • Removedappwrite_health_check
    • Removedappwrite_health_db
    • Removedappwrite_health_queue
    • Removedappwrite_health_storage
    • Removedappwrite_health_time
    • Removedappwrite_list_attributes
    • Removedappwrite_list_buckets
    • Removedappwrite_list_collections
    • Removedappwrite_list_databases
    • Removedappwrite_list_deployments
    • Removedappwrite_list_documents
    • Removedappwrite_list_documents_paginated
    • Removedappwrite_list_executions
    • Removedappwrite_list_files
    • Removedappwrite_list_functions
    • Removedappwrite_list_indexes
    • Removedappwrite_list_messages
    • Removedappwrite_list_team_memberships
    • Removedappwrite_list_teams
    • Removedappwrite_list_topics
    • Removedappwrite_list_user_sessions
    • Removedappwrite_list_users
    • Removedappwrite_search_documents
    • Removedappwrite_send_email
    • Removedappwrite_send_push
    • Removedappwrite_send_sms
    • Removedappwrite_update_bucket
    • Removedappwrite_update_collection
    • Removedappwrite_update_database
    • Removedappwrite_update_document
    • Removedappwrite_update_function
    • Removedappwrite_update_membership
    • Removedappwrite_update_team
    • Removedappwrite_update_user_email
    • Removedappwrite_update_user_labels
    • Removedappwrite_update_user_name
    • Removedappwrite_update_user_phone
    • Removedappwrite_update_user_status
    • Changedcheck_all_projects_health1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Removeddirectus_aggregate_items
    • Removeddirectus_create_collection
    • Removeddirectus_create_comment
    • Removeddirectus_create_dashboard
    • Removeddirectus_create_field
    • Removeddirectus_create_flow
    • Removeddirectus_create_folder
    • Removeddirectus_create_item
    • Removeddirectus_create_items
    • Removeddirectus_create_operation
    • Removeddirectus_create_panel
    • Removeddirectus_create_permission
    • Removeddirectus_create_relation
    • Removeddirectus_create_role
    • Removeddirectus_create_user
    • Removeddirectus_create_version
    • Removeddirectus_create_webhook
    • Removeddirectus_delete_collection
    • Removeddirectus_delete_dashboard
    • Removeddirectus_delete_field
    • Removeddirectus_delete_file
    • Removeddirectus_delete_files
    • Removeddirectus_delete_flow
    • Removeddirectus_delete_folder
    • Removeddirectus_delete_item
    • Removeddirectus_delete_items
    • Removeddirectus_delete_panel
    • Removeddirectus_delete_permission
    • Removeddirectus_delete_relation
    • Removeddirectus_delete_role
    • Removeddirectus_delete_user
    • Removeddirectus_delete_users
    • Removeddirectus_delete_version
    • Removeddirectus_delete_webhook
    • Removeddirectus_export_items
    • Removeddirectus_get_collection
    • Removeddirectus_get_current_user
    • Removeddirectus_get_dashboard
    • Removeddirectus_get_field
    • Removeddirectus_get_file
    • Removeddirectus_get_file_url
    • Removeddirectus_get_flow
    • Removeddirectus_get_folder
    • Removeddirectus_get_graphql_sdl
    • Removeddirectus_get_item
    • Removeddirectus_get_my_permissions
    • Removeddirectus_get_openapi_spec
    • Removeddirectus_get_permission
    • Removeddirectus_get_relation
    • Removeddirectus_get_revision
    • Removeddirectus_get_role
    • Removeddirectus_get_schema_snapshot
    • Removeddirectus_get_server_info
    • Removeddirectus_get_settings
    • Removeddirectus_get_user
    • Removeddirectus_get_user_role
    • Removeddirectus_get_version
    • Removeddirectus_health_check
    • Removeddirectus_import_file_url
    • Removeddirectus_import_items
    • Removeddirectus_invite_user
    • Removeddirectus_list_activity
    • Removeddirectus_list_collections
    • Removeddirectus_list_comments
    • Removeddirectus_list_dashboards
    • Removeddirectus_list_fields
    • Removeddirectus_list_files
    • Removeddirectus_list_flows
    • Removeddirectus_list_folders
    • Removeddirectus_list_items
    • Removeddirectus_list_operations
    • Removeddirectus_list_panels
    • Removeddirectus_list_permissions
    • Removeddirectus_list_policies
    • Removeddirectus_list_relations
    • Removeddirectus_list_revisions
    • Removeddirectus_list_roles
    • Removeddirectus_list_users
    • Removeddirectus_list_versions
    • Removeddirectus_list_webhooks
    • Removeddirectus_promote_version
    • Removeddirectus_schema_apply
    • Removeddirectus_schema_diff
    • Removeddirectus_search_items
    • Removeddirectus_trigger_flow
    • Removeddirectus_update_collection
    • Removeddirectus_update_current_user
    • Removeddirectus_update_dashboard
    • Removeddirectus_update_field
    • Removeddirectus_update_file
    • Removeddirectus_update_flow
    • Removeddirectus_update_folder
    • Removeddirectus_update_item
    • Removeddirectus_update_items
    • Removeddirectus_update_permission
    • Removeddirectus_update_role
    • Removeddirectus_update_settings
    • Removeddirectus_update_user
    • Removeddirectus_update_version
    • Removeddirectus_update_webhook
    • Changedexport_health_metrics2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / output_path / description
        Added value: +"Path to output file (default: logs/metrics_export.json)"
    • Removedget_audit_log
    • Removedget_endpoints
    • Changedget_project_health2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / project_id / description
        Added value: +"Full project identifier (e.g., \"wordpress_site1\")"
    • Changedget_project_info2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / project_id / description
        Added value: +"Full project identifier (e.g., 'wordpress_site1')"
    • Changedget_project_metrics3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / hours / description
        Added value: +"Number of hours of history to analyze (default: 1, max: 24)"
      • addedInput schema / properties / project_id / description
        Added value: +"Full project identifier (e.g., \"wordpress_site1\")"
    • Changedget_rate_limit_stats2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / client_id / description
        Added value: +"Optional client identifier to get specific client stats.\n       If not provided, returns global statistics for all clients."
    • Removedget_system_info
    • Changedget_system_metrics1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedget_system_uptime1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Removedgitea_close_issue
    • Removedgitea_close_pull_request
    • Removedgitea_create_branch
    • Removedgitea_create_file
    • Removedgitea_create_issue
    • Removedgitea_create_issue_comment
    • Removedgitea_create_label
    • Removedgitea_create_milestone
    • Removedgitea_create_pr_comment
    • Removedgitea_create_pr_review
    • Removedgitea_create_pull_request
    • Removedgitea_create_repository
    • Removedgitea_create_tag
    • Removedgitea_create_webhook
    • Removedgitea_delete_branch
    • Removedgitea_delete_file
    • Removedgitea_delete_repository
    • Removedgitea_delete_tag
    • Removedgitea_delete_webhook
    • Removedgitea_get_branch
    • Removedgitea_get_file
    • Removedgitea_get_issue
    • Removedgitea_get_organization
    • Removedgitea_get_pr_diff
    • Removedgitea_get_pull_request
    • Removedgitea_get_repository
    • Removedgitea_get_user
    • Removedgitea_get_webhook
    • Removedgitea_list_branches
    • Removedgitea_list_issue_comments
    • Removedgitea_list_issues
    • Removedgitea_list_labels
    • Removedgitea_list_milestones
    • Removedgitea_list_org_repos
    • Removedgitea_list_org_teams
    • Removedgitea_list_organizations
    • Removedgitea_list_pr_comments
    • Removedgitea_list_pr_commits
    • Removedgitea_list_pr_files
    • Removedgitea_list_pr_reviews
    • Removedgitea_list_pull_requests
    • Removedgitea_list_repositories
    • Removedgitea_list_tags
    • Removedgitea_list_team_members
    • Removedgitea_list_user_repos
    • Removedgitea_list_webhooks
    • Removedgitea_merge_pull_request
    • Removedgitea_reopen_issue
    • Removedgitea_reopen_pull_request
    • Removedgitea_request_pr_reviewers
    • Removedgitea_search_users
    • Removedgitea_test_webhook
    • Removedgitea_update_file
    • Removedgitea_update_issue
    • Removedgitea_update_pull_request
    • Removedgitea_update_repository
    • Changedlist_projects1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Removedmanage_api_keys_create
    • Removedmanage_api_keys_delete
    • Removedmanage_api_keys_get_info
    • Removedmanage_api_keys_list
    • Removedmanage_api_keys_revoke
    • Removedmanage_api_keys_rotate
    • Removedn8n_activate_workflow
    • Removedn8n_add_project_users
    • Removedn8n_change_project_user_role
    • Removedn8n_change_user_role
    • Removedn8n_create_credential
    • Removedn8n_create_project
    • Removedn8n_create_tag
    • Removedn8n_create_user
    • Removedn8n_create_variable
    • Removedn8n_create_workflow
    • Removedn8n_deactivate_workflow
    • Removedn8n_delete_credential
    • Removedn8n_delete_execution
    • Removedn8n_delete_executions
    • Removedn8n_delete_project
    • Removedn8n_delete_tag
    • Removedn8n_delete_tags
    • Removedn8n_delete_user
    • Removedn8n_delete_variable
    • Removedn8n_delete_workflow
    • Removedn8n_duplicate_workflow
    • Removedn8n_execute_workflow
    • Removedn8n_execute_workflow_with_data
    • Removedn8n_export_workflow
    • Removedn8n_get_credential
    • Removedn8n_get_credential_schema
    • Removedn8n_get_execution
    • Removedn8n_get_execution_data
    • Removedn8n_get_instance_info
    • Removedn8n_get_project
    • Removedn8n_get_tag
    • Removedn8n_get_user
    • Removedn8n_get_variable
    • Removedn8n_get_workflow
    • Removedn8n_get_workflow_tags
    • Removedn8n_health_check
    • Removedn8n_import_workflow
    • Removedn8n_list_executions
    • Removedn8n_list_projects
    • Removedn8n_list_tags
    • Removedn8n_list_users
    • Removedn8n_list_variables
    • Removedn8n_list_workflows
    • Removedn8n_remove_project_user
    • Removedn8n_retry_execution
    • Removedn8n_run_security_audit
    • Removedn8n_set_variables
    • Removedn8n_set_workflow_tags
    • Removedn8n_source_control_pull
    • Removedn8n_stop_execution
    • Removedn8n_transfer_credential
    • Removedn8n_update_project
    • Removedn8n_update_tag
    • Removedn8n_update_variable
    • Removedn8n_update_workflow
    • Removedn8n_wait_for_execution
    • Removedoauth_get_client_info
    • Removedoauth_list_clients
    • Removedoauth_register_client
    • Removedoauth_revoke_client
    • Removedopenpanel_add_chart
    • Removedopenpanel_compare_funnels
    • Removedopenpanel_create_client
    • Removedopenpanel_create_dashboard
    • Removedopenpanel_create_funnel
    • Removedopenpanel_create_project
    • Removedopenpanel_create_scheduled_report
    • Removedopenpanel_decrement_property
    • Removedopenpanel_delete_chart
    • Removedopenpanel_delete_client
    • Removedopenpanel_delete_dashboard
    • Removedopenpanel_delete_funnel
    • Removedopenpanel_delete_profile
    • Removedopenpanel_delete_project
    • Removedopenpanel_duplicate_dashboard
    • Removedopenpanel_export_chart_data
    • Removedopenpanel_export_events
    • Removedopenpanel_export_events_csv
    • Removedopenpanel_export_profile_data
    • Removedopenpanel_export_report_pdf
    • Removedopenpanel_get_ab_test_results
    • Removedopenpanel_get_client
    • Removedopenpanel_get_cohort_report
    • Removedopenpanel_get_dashboard
    • Removedopenpanel_get_device_data
    • Removedopenpanel_get_event_count
    • Removedopenpanel_get_funnel
    • Removedopenpanel_get_funnel_breakdown
    • Removedopenpanel_get_funnel_conversion
    • Removedopenpanel_get_geo_data
    • Removedopenpanel_get_instance_info
    • Removedopenpanel_get_overview_report
    • Removedopenpanel_get_page_views
    • Removedopenpanel_get_paths_report
    • Removedopenpanel_get_profile
    • Removedopenpanel_get_profile_events
    • Removedopenpanel_get_profile_sessions
    • Removedopenpanel_get_project
    • Removedopenpanel_get_project_settings
    • Removedopenpanel_get_project_stats
    • Removedopenpanel_get_rate_limit_status
    • Removedopenpanel_get_realtime_stats
    • Removedopenpanel_get_retention_report
    • Removedopenpanel_get_storage_stats
    • Removedopenpanel_get_top_pages
    • Removedopenpanel_get_top_referrers
    • Removedopenpanel_get_unique_users
    • Removedopenpanel_get_usage_stats
    • Removedopenpanel_health_check
    • Removedopenpanel_identify_user
    • Removedopenpanel_increment_property
    • Removedopenpanel_list_clients
    • Removedopenpanel_list_dashboards
    • Removedopenpanel_list_funnels
    • Removedopenpanel_list_profiles
    • Removedopenpanel_list_projects
    • Removedopenpanel_merge_profiles
    • Removedopenpanel_regenerate_client_secret
    • Removedopenpanel_search_profiles
    • Removedopenpanel_set_user_properties
    • Removedopenpanel_share_dashboard
    • Removedopenpanel_test_connection
    • Removedopenpanel_track_batch
    • Removedopenpanel_track_event
    • Removedopenpanel_track_page_view
    • Removedopenpanel_track_revenue
    • Removedopenpanel_track_screen_view
    • Removedopenpanel_update_chart
    • Removedopenpanel_update_client_mode
    • Removedopenpanel_update_dashboard
    • Removedopenpanel_update_funnel
    • Removedopenpanel_update_project
    • Removedopenpanel_update_project_settings
    • Changedreset_rate_limit2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / client_id / description
        Added value: +"Optional client identifier to reset.\n       If not provided, resets ALL clients."
    • Removedset_rate_limit_config
    • Removedsupabase_add_column
    • Removedsupabase_ban_user
    • Removedsupabase_check_function_health
    • Removedsupabase_count_rows
    • Removedsupabase_create_bucket
    • Removedsupabase_create_policy
    • Removedsupabase_create_table
    • Removedsupabase_create_user
    • Removedsupabase_delete_bucket
    • Removedsupabase_delete_files
    • Removedsupabase_delete_policy
    • Removedsupabase_delete_rows
    • Removedsupabase_delete_user
    • Removedsupabase_delete_user_factor
    • Removedsupabase_disable_extension
    • Removedsupabase_disable_rls
    • Removedsupabase_download_file
    • Removedsupabase_drop_column
    • Removedsupabase_drop_table
    • Removedsupabase_empty_bucket
    • Removedsupabase_enable_extension
    • Removedsupabase_enable_rls
    • Removedsupabase_execute_rpc
    • Removedsupabase_execute_sql
    • Removedsupabase_generate_link
    • Removedsupabase_get_auth_config
    • Removedsupabase_get_auth_stats
    • Removedsupabase_get_bucket
    • Removedsupabase_get_database_size
    • Removedsupabase_get_database_stats
    • Removedsupabase_get_function_info
    • Removedsupabase_get_function_url
    • Removedsupabase_get_instance_info
    • Removedsupabase_get_public_url
    • Removedsupabase_get_service_status
    • Removedsupabase_get_storage_stats
    • Removedsupabase_get_table_constraints
    • Removedsupabase_get_table_indexes
    • Removedsupabase_get_table_relationships
    • Removedsupabase_get_table_schema
    • Removedsupabase_get_user
    • Removedsupabase_get_user_by_email
    • Removedsupabase_health_check
    • Removedsupabase_insert_rows
    • Removedsupabase_invite_user
    • Removedsupabase_invoke_function
    • Removedsupabase_invoke_function_batch
    • Removedsupabase_invoke_function_get
    • Removedsupabase_list_buckets
    • Removedsupabase_list_edge_functions
    • Removedsupabase_list_extensions
    • Removedsupabase_list_files
    • Removedsupabase_list_functions
    • Removedsupabase_list_policies
    • Removedsupabase_list_roles
    • Removedsupabase_list_schemas
    • Removedsupabase_list_tables
    • Removedsupabase_list_triggers
    • Removedsupabase_list_user_factors
    • Removedsupabase_list_users
    • Removedsupabase_move_file
    • Removedsupabase_query_table
    • Removedsupabase_search_users
    • Removedsupabase_test_function
    • Removedsupabase_unban_user
    • Removedsupabase_update_bucket
    • Removedsupabase_update_policy
    • Removedsupabase_update_rows
    • Removedsupabase_update_user
    • Removedsupabase_upload_file
    • Removedwoocommerce_create_coupon
    • Removedwoocommerce_create_customer
    • Removedwoocommerce_create_order
    • Removedwoocommerce_create_product
    • Removedwoocommerce_create_product_attribute
    • Removedwoocommerce_create_product_category
    • Removedwoocommerce_create_product_variation
    • Removedwoocommerce_delete_coupon
    • Removedwoocommerce_delete_order
    • Removedwoocommerce_delete_product
    • Removedwoocommerce_get_customer
    • Removedwoocommerce_get_customer_report
    • Removedwoocommerce_get_order
    • Removedwoocommerce_get_product
    • Removedwoocommerce_get_sales_report
    • Removedwoocommerce_get_top_sellers
    • Removedwoocommerce_list_coupons
    • Removedwoocommerce_list_customers
    • Removedwoocommerce_list_orders
    • Removedwoocommerce_list_product_attributes
    • Removedwoocommerce_list_product_categories
    • Removedwoocommerce_list_product_tags
    • Removedwoocommerce_list_product_variations
    • Removedwoocommerce_list_products
    • Removedwoocommerce_update_coupon
    • Removedwoocommerce_update_customer
    • Removedwoocommerce_update_order_status
    • Removedwoocommerce_update_product
    • Removedwordpress_advanced_bulk_assign_categories
    • Removedwordpress_advanced_bulk_assign_tags
    • Removedwordpress_advanced_bulk_delete_media
    • Removedwordpress_advanced_bulk_delete_posts
    • Removedwordpress_advanced_bulk_delete_products
    • Removedwordpress_advanced_bulk_update_media
    • Removedwordpress_advanced_bulk_update_posts
    • Removedwordpress_advanced_bulk_update_products
    • Removedwordpress_advanced_cron_list
    • Removedwordpress_advanced_cron_run
    • Removedwordpress_advanced_error_log
    • Removedwordpress_advanced_system_clear_all_caches
    • Removedwordpress_advanced_system_disk_usage
    • Removedwordpress_advanced_system_info
    • Removedwordpress_advanced_system_phpinfo
    • Removedwordpress_advanced_wp_db_export
    • Removedwordpress_advanced_wp_db_import
    • Removedwordpress_advanced_wp_db_query
    • Removedwordpress_advanced_wp_db_repair
    • Removedwordpress_advanced_wp_db_search
    • Removedwordpress_advanced_wp_db_size
    • Removedwordpress_advanced_wp_db_tables
    • Addedwordpress_audit_hook_configure
    • Addedwordpress_audit_hook_disable
    • Addedwordpress_audit_hook_status
    • Addedwordpress_bulk_delete_media
    • Addedwordpress_bulk_reassign_media
    • Addedwordpress_bulk_update_meta
    • Addedwordpress_cache_purge
    • Changedwordpress_create_category1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_create_comment1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_create_custom_post1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_create_menu1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_create_menu_item2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / title
        Added value: +{
        +  "type": "string"
        +}
    • Changedwordpress_create_page1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_create_post1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_create_tag1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_create_taxonomy_term1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_delete_category1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_delete_comment1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_delete_media1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_delete_page1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_delete_post1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_delete_tag1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Addedwordpress_export_content
    • Addedwordpress_generate_and_upload_image
    • Changedwordpress_get_active_theme1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_get_comment1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_get_current_user1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_get_internal_links1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_get_media1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_get_menu1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Addedwordpress_get_navigation
    • Changedwordpress_get_post1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_get_post_seo1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_get_post_type_info1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_get_product_seo1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_get_settings1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_get_site_health1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_categories1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_comments1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_custom_posts1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_media1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_menu_items1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_menus1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Addedwordpress_list_navigations
    • Changedwordpress_list_pages1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_plugins1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_post_types1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_posts1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_tags1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_taxonomies1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_taxonomy_terms1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_themes1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_list_users1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Addedwordpress_probe_capabilities
    • Addedwordpress_probe_upload_limits
    • Addedwordpress_regenerate_thumbnails
    • Addedwordpress_site_health
    • Addedwordpress_transient_flush
    • Changedwordpress_update_category1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_update_comment1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_update_media1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_update_menu_item1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Addedwordpress_update_navigation
    • Changedwordpress_update_page3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / featured_media
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedInput schema / properties / meta
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
    • Changedwordpress_update_post1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_update_post_seo1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_update_product_seo1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_update_tag1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Addedwordpress_upload_media_chunked_abort
    • Addedwordpress_upload_media_chunked_chunk
    • Addedwordpress_upload_media_chunked_finish
    • Addedwordpress_upload_media_chunked_start
    • Addedwordpress_upload_media_chunked_status
    • Addedwordpress_upload_media_from_base64
    • Changedwordpress_upload_media_from_url6 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / attach_to_post
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedInput schema / properties / convert_to
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedInput schema / properties / filename
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null
        +}
      • addedInput schema / properties / set_featured
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": false
        +}
      • addedInput schema / properties / skip_optimize
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": false
        +}
    • Changedwordpress_wp_cache_flush1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_cache_type1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_core_update1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_core_verify_checksums1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_db_check1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_db_export1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_db_optimize1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_plugin_list_detailed1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_plugin_update1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_plugin_verify_checksums1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_search_replace_dry_run1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_theme_list_detailed1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_theme_update1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_transient_delete_all1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedwordpress_wp_transient_list1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
  2. 596 tool updatesv3.4.0
    • First observedappwrite_activate_deployment
    • First observedappwrite_bulk_create_documents
    • First observedappwrite_bulk_delete_documents
    • First observedappwrite_bulk_delete_files
    • First observedappwrite_bulk_update_documents
    • First observedappwrite_count_documents
    • First observedappwrite_create_boolean_attribute
    • First observedappwrite_create_bucket
    • First observedappwrite_create_collection
    • First observedappwrite_create_database
    • First observedappwrite_create_document
    • First observedappwrite_create_function
    • First observedappwrite_create_index
    • First observedappwrite_create_integer_attribute
    • First observedappwrite_create_string_attribute
    • First observedappwrite_create_subscriber
    • First observedappwrite_create_team
    • First observedappwrite_create_team_membership
    • First observedappwrite_create_topic
    • First observedappwrite_create_user
    • First observedappwrite_delete_attribute
    • First observedappwrite_delete_bucket
    • First observedappwrite_delete_collection
    • First observedappwrite_delete_database
    • First observedappwrite_delete_deployment
    • First observedappwrite_delete_document
    • First observedappwrite_delete_execution
    • First observedappwrite_delete_file
    • First observedappwrite_delete_function
    • First observedappwrite_delete_index
    • First observedappwrite_delete_membership
    • First observedappwrite_delete_message
    • First observedappwrite_delete_subscriber
    • First observedappwrite_delete_team
    • First observedappwrite_delete_topic
    • First observedappwrite_delete_user
    • First observedappwrite_delete_user_session
    • First observedappwrite_delete_user_sessions
    • First observedappwrite_download_file
    • First observedappwrite_execute_function
    • First observedappwrite_get_active_deployment
    • First observedappwrite_get_avatar_initials
    • First observedappwrite_get_bucket
    • First observedappwrite_get_bucket_stats
    • First observedappwrite_get_collection
    • First observedappwrite_get_database
    • First observedappwrite_get_deployment
    • First observedappwrite_get_document
    • First observedappwrite_get_documents_by_ids
    • First observedappwrite_get_execution
    • First observedappwrite_get_file
    • First observedappwrite_get_file_preview
    • First observedappwrite_get_file_url
    • First observedappwrite_get_file_view
    • First observedappwrite_get_function
    • First observedappwrite_get_message
    • First observedappwrite_get_qr_code
    • First observedappwrite_get_team
    • First observedappwrite_get_team_prefs
    • First observedappwrite_get_topic
    • First observedappwrite_get_user
    • First observedappwrite_health_cache
    • First observedappwrite_health_check
    • First observedappwrite_health_db
    • First observedappwrite_health_queue
    • First observedappwrite_health_storage
    • First observedappwrite_health_time
    • First observedappwrite_list_attributes
    • First observedappwrite_list_buckets
    • First observedappwrite_list_collections
    • First observedappwrite_list_databases
    • First observedappwrite_list_deployments
    • First observedappwrite_list_documents
    • First observedappwrite_list_documents_paginated
    • First observedappwrite_list_executions
    • First observedappwrite_list_files
    • First observedappwrite_list_functions
    • First observedappwrite_list_indexes
    • First observedappwrite_list_messages
    • First observedappwrite_list_team_memberships
    • First observedappwrite_list_teams
    • First observedappwrite_list_topics
    • First observedappwrite_list_user_sessions
    • First observedappwrite_list_users
    • First observedappwrite_search_documents
    • First observedappwrite_send_email
    • First observedappwrite_send_push
    • First observedappwrite_send_sms
    • First observedappwrite_update_bucket
    • First observedappwrite_update_collection
    • First observedappwrite_update_database
    • First observedappwrite_update_document
    • First observedappwrite_update_function
    • First observedappwrite_update_membership
    • First observedappwrite_update_team
    • First observedappwrite_update_user_email
    • First observedappwrite_update_user_labels
    • First observedappwrite_update_user_name
    • First observedappwrite_update_user_phone
    • First observedappwrite_update_user_status
    • First observedcheck_all_projects_health
    • First observeddirectus_aggregate_items
    • First observeddirectus_create_collection
    • First observeddirectus_create_comment
    • First observeddirectus_create_dashboard
    • First observeddirectus_create_field
    • First observeddirectus_create_flow
    • First observeddirectus_create_folder
    • First observeddirectus_create_item
    • First observeddirectus_create_items
    • First observeddirectus_create_operation
    • First observeddirectus_create_panel
    • First observeddirectus_create_permission
    • First observeddirectus_create_relation
    • First observeddirectus_create_role
    • First observeddirectus_create_user
    • First observeddirectus_create_version
    • First observeddirectus_create_webhook
    • First observeddirectus_delete_collection
    • First observeddirectus_delete_dashboard
    • First observeddirectus_delete_field
    • First observeddirectus_delete_file
    • First observeddirectus_delete_files
    • First observeddirectus_delete_flow
    • First observeddirectus_delete_folder
    • First observeddirectus_delete_item
    • First observeddirectus_delete_items
    • First observeddirectus_delete_panel
    • First observeddirectus_delete_permission
    • First observeddirectus_delete_relation
    • First observeddirectus_delete_role
    • First observeddirectus_delete_user
    • First observeddirectus_delete_users
    • First observeddirectus_delete_version
    • First observeddirectus_delete_webhook
    • First observeddirectus_export_items
    • First observeddirectus_get_collection
    • First observeddirectus_get_current_user
    • First observeddirectus_get_dashboard
    • First observeddirectus_get_field
    • First observeddirectus_get_file
    • First observeddirectus_get_file_url
    • First observeddirectus_get_flow
    • First observeddirectus_get_folder
    • First observeddirectus_get_graphql_sdl
    • First observeddirectus_get_item
    • First observeddirectus_get_my_permissions
    • First observeddirectus_get_openapi_spec
    • First observeddirectus_get_permission
    • First observeddirectus_get_relation
    • First observeddirectus_get_revision
    • First observeddirectus_get_role
    • First observeddirectus_get_schema_snapshot
    • First observeddirectus_get_server_info
    • First observeddirectus_get_settings
    • First observeddirectus_get_user
    • First observeddirectus_get_user_role
    • First observeddirectus_get_version
    • First observeddirectus_health_check
    • First observeddirectus_import_file_url
    • First observeddirectus_import_items
    • First observeddirectus_invite_user
    • First observeddirectus_list_activity
    • First observeddirectus_list_collections
    • First observeddirectus_list_comments
    • First observeddirectus_list_dashboards
    • First observeddirectus_list_fields
    • First observeddirectus_list_files
    • First observeddirectus_list_flows
    • First observeddirectus_list_folders
    • First observeddirectus_list_items
    • First observeddirectus_list_operations
    • First observeddirectus_list_panels
    • First observeddirectus_list_permissions
    • First observeddirectus_list_policies
    • First observeddirectus_list_relations
    • First observeddirectus_list_revisions
    • First observeddirectus_list_roles
    • First observeddirectus_list_users
    • First observeddirectus_list_versions
    • First observeddirectus_list_webhooks
    • First observeddirectus_promote_version
    • First observeddirectus_schema_apply
    • First observeddirectus_schema_diff
    • First observeddirectus_search_items
    • First observeddirectus_trigger_flow
    • First observeddirectus_update_collection
    • First observeddirectus_update_current_user
    • First observeddirectus_update_dashboard
    • First observeddirectus_update_field
    • First observeddirectus_update_file
    • First observeddirectus_update_flow
    • First observeddirectus_update_folder
    • First observeddirectus_update_item
    • First observeddirectus_update_items
    • First observeddirectus_update_permission
    • First observeddirectus_update_role
    • First observeddirectus_update_settings
    • First observeddirectus_update_user
    • First observeddirectus_update_version
    • First observeddirectus_update_webhook
    • First observedexport_health_metrics
    • First observedget_audit_log
    • First observedget_endpoints
    • First observedget_project_health
    • First observedget_project_info
    • First observedget_project_metrics
    • First observedget_rate_limit_stats
    • First observedget_system_info
    • First observedget_system_metrics
    • First observedget_system_uptime
    • First observedgitea_close_issue
    • First observedgitea_close_pull_request
    • First observedgitea_create_branch
    • First observedgitea_create_file
    • First observedgitea_create_issue
    • First observedgitea_create_issue_comment
    • First observedgitea_create_label
    • First observedgitea_create_milestone
    • First observedgitea_create_pr_comment
    • First observedgitea_create_pr_review
    • First observedgitea_create_pull_request
    • First observedgitea_create_repository
    • First observedgitea_create_tag
    • First observedgitea_create_webhook
    • First observedgitea_delete_branch
    • First observedgitea_delete_file
    • First observedgitea_delete_repository
    • First observedgitea_delete_tag
    • First observedgitea_delete_webhook
    • First observedgitea_get_branch
    • First observedgitea_get_file
    • First observedgitea_get_issue
    • First observedgitea_get_organization
    • First observedgitea_get_pr_diff
    • First observedgitea_get_pull_request
    • First observedgitea_get_repository
    • First observedgitea_get_user
    • First observedgitea_get_webhook
    • First observedgitea_list_branches
    • First observedgitea_list_issue_comments
    • First observedgitea_list_issues
    • First observedgitea_list_labels
    • First observedgitea_list_milestones
    • First observedgitea_list_org_repos
    • First observedgitea_list_org_teams
    • First observedgitea_list_organizations
    • First observedgitea_list_pr_comments
    • First observedgitea_list_pr_commits
    • First observedgitea_list_pr_files
    • First observedgitea_list_pr_reviews
    • First observedgitea_list_pull_requests
    • First observedgitea_list_repositories
    • First observedgitea_list_tags
    • First observedgitea_list_team_members
    • First observedgitea_list_user_repos
    • First observedgitea_list_webhooks
    • First observedgitea_merge_pull_request
    • First observedgitea_reopen_issue
    • First observedgitea_reopen_pull_request
    • First observedgitea_request_pr_reviewers
    • First observedgitea_search_users
    • First observedgitea_test_webhook
    • First observedgitea_update_file
    • First observedgitea_update_issue
    • First observedgitea_update_pull_request
    • First observedgitea_update_repository
    • First observedlist_projects
    • First observedmanage_api_keys_create
    • First observedmanage_api_keys_delete
    • First observedmanage_api_keys_get_info
    • First observedmanage_api_keys_list
    • First observedmanage_api_keys_revoke
    • First observedmanage_api_keys_rotate
    • First observedn8n_activate_workflow
    • First observedn8n_add_project_users
    • First observedn8n_change_project_user_role
    • First observedn8n_change_user_role
    • First observedn8n_create_credential
    • First observedn8n_create_project
    • First observedn8n_create_tag
    • First observedn8n_create_user
    • First observedn8n_create_variable
    • First observedn8n_create_workflow
    • First observedn8n_deactivate_workflow
    • First observedn8n_delete_credential
    • First observedn8n_delete_execution
    • First observedn8n_delete_executions
    • First observedn8n_delete_project
    • First observedn8n_delete_tag
    • First observedn8n_delete_tags
    • First observedn8n_delete_user
    • First observedn8n_delete_variable
    • First observedn8n_delete_workflow
    • First observedn8n_duplicate_workflow
    • First observedn8n_execute_workflow
    • First observedn8n_execute_workflow_with_data
    • First observedn8n_export_workflow
    • First observedn8n_get_credential
    • First observedn8n_get_credential_schema
    • First observedn8n_get_execution
    • First observedn8n_get_execution_data
    • First observedn8n_get_instance_info
    • First observedn8n_get_project
    • First observedn8n_get_tag
    • First observedn8n_get_user
    • First observedn8n_get_variable
    • First observedn8n_get_workflow
    • First observedn8n_get_workflow_tags
    • First observedn8n_health_check
    • First observedn8n_import_workflow
    • First observedn8n_list_executions
    • First observedn8n_list_projects
    • First observedn8n_list_tags
    • First observedn8n_list_users
    • First observedn8n_list_variables
    • First observedn8n_list_workflows
    • First observedn8n_remove_project_user
    • First observedn8n_retry_execution
    • First observedn8n_run_security_audit
    • First observedn8n_set_variables
    • First observedn8n_set_workflow_tags
    • First observedn8n_source_control_pull
    • First observedn8n_stop_execution
    • First observedn8n_transfer_credential
    • First observedn8n_update_project
    • First observedn8n_update_tag
    • First observedn8n_update_variable
    • First observedn8n_update_workflow
    • First observedn8n_wait_for_execution
    • First observedoauth_get_client_info
    • First observedoauth_list_clients
    • First observedoauth_register_client
    • First observedoauth_revoke_client
    • First observedopenpanel_add_chart
    • First observedopenpanel_compare_funnels
    • First observedopenpanel_create_client
    • First observedopenpanel_create_dashboard
    • First observedopenpanel_create_funnel
    • First observedopenpanel_create_project
    • First observedopenpanel_create_scheduled_report
    • First observedopenpanel_decrement_property
    • First observedopenpanel_delete_chart
    • First observedopenpanel_delete_client
    • First observedopenpanel_delete_dashboard
    • First observedopenpanel_delete_funnel
    • First observedopenpanel_delete_profile
    • First observedopenpanel_delete_project
    • First observedopenpanel_duplicate_dashboard
    • First observedopenpanel_export_chart_data
    • First observedopenpanel_export_events
    • First observedopenpanel_export_events_csv
    • First observedopenpanel_export_profile_data
    • First observedopenpanel_export_report_pdf
    • First observedopenpanel_get_ab_test_results
    • First observedopenpanel_get_client
    • First observedopenpanel_get_cohort_report
    • First observedopenpanel_get_dashboard
    • First observedopenpanel_get_device_data
    • First observedopenpanel_get_event_count
    • First observedopenpanel_get_funnel
    • First observedopenpanel_get_funnel_breakdown
    • First observedopenpanel_get_funnel_conversion
    • First observedopenpanel_get_geo_data
    • First observedopenpanel_get_instance_info
    • First observedopenpanel_get_overview_report
    • First observedopenpanel_get_page_views
    • First observedopenpanel_get_paths_report
    • First observedopenpanel_get_profile
    • First observedopenpanel_get_profile_events
    • First observedopenpanel_get_profile_sessions
    • First observedopenpanel_get_project
    • First observedopenpanel_get_project_settings
    • First observedopenpanel_get_project_stats
    • First observedopenpanel_get_rate_limit_status
    • First observedopenpanel_get_realtime_stats
    • First observedopenpanel_get_retention_report
    • First observedopenpanel_get_storage_stats
    • First observedopenpanel_get_top_pages
    • First observedopenpanel_get_top_referrers
    • First observedopenpanel_get_unique_users
    • First observedopenpanel_get_usage_stats
    • First observedopenpanel_health_check
    • First observedopenpanel_identify_user
    • First observedopenpanel_increment_property
    • First observedopenpanel_list_clients
    • First observedopenpanel_list_dashboards
    • First observedopenpanel_list_funnels
    • First observedopenpanel_list_profiles
    • First observedopenpanel_list_projects
    • First observedopenpanel_merge_profiles
    • First observedopenpanel_regenerate_client_secret
    • First observedopenpanel_search_profiles
    • First observedopenpanel_set_user_properties
    • First observedopenpanel_share_dashboard
    • First observedopenpanel_test_connection
    • First observedopenpanel_track_batch
    • First observedopenpanel_track_event
    • First observedopenpanel_track_page_view
    • First observedopenpanel_track_revenue
    • First observedopenpanel_track_screen_view
    • First observedopenpanel_update_chart
    • First observedopenpanel_update_client_mode
    • First observedopenpanel_update_dashboard
    • First observedopenpanel_update_funnel
    • First observedopenpanel_update_project
    • First observedopenpanel_update_project_settings
    • First observedreset_rate_limit
    • First observedset_rate_limit_config
    • First observedsupabase_add_column
    • First observedsupabase_ban_user
    • First observedsupabase_check_function_health
    • First observedsupabase_count_rows
    • First observedsupabase_create_bucket
    • First observedsupabase_create_policy
    • First observedsupabase_create_table
    • First observedsupabase_create_user
    • First observedsupabase_delete_bucket
    • First observedsupabase_delete_files
    • First observedsupabase_delete_policy
    • First observedsupabase_delete_rows
    • First observedsupabase_delete_user
    • First observedsupabase_delete_user_factor
    • First observedsupabase_disable_extension
    • First observedsupabase_disable_rls
    • First observedsupabase_download_file
    • First observedsupabase_drop_column
    • First observedsupabase_drop_table
    • First observedsupabase_empty_bucket
    • First observedsupabase_enable_extension
    • First observedsupabase_enable_rls
    • First observedsupabase_execute_rpc
    • First observedsupabase_execute_sql
    • First observedsupabase_generate_link
    • First observedsupabase_get_auth_config
    • First observedsupabase_get_auth_stats
    • First observedsupabase_get_bucket
    • First observedsupabase_get_database_size
    • First observedsupabase_get_database_stats
    • First observedsupabase_get_function_info
    • First observedsupabase_get_function_url
    • First observedsupabase_get_instance_info
    • First observedsupabase_get_public_url
    • First observedsupabase_get_service_status
    • First observedsupabase_get_storage_stats
    • First observedsupabase_get_table_constraints
    • First observedsupabase_get_table_indexes
    • First observedsupabase_get_table_relationships
    • First observedsupabase_get_table_schema
    • First observedsupabase_get_user
    • First observedsupabase_get_user_by_email
    • First observedsupabase_health_check
    • First observedsupabase_insert_rows
    • First observedsupabase_invite_user
    • First observedsupabase_invoke_function
    • First observedsupabase_invoke_function_batch
    • First observedsupabase_invoke_function_get
    • First observedsupabase_list_buckets
    • First observedsupabase_list_edge_functions
    • First observedsupabase_list_extensions
    • First observedsupabase_list_files
    • First observedsupabase_list_functions
    • First observedsupabase_list_policies
    • First observedsupabase_list_roles
    • First observedsupabase_list_schemas
    • First observedsupabase_list_tables
    • First observedsupabase_list_triggers
    • First observedsupabase_list_user_factors
    • First observedsupabase_list_users
    • First observedsupabase_move_file
    • First observedsupabase_query_table
    • First observedsupabase_search_users
    • First observedsupabase_test_function
    • First observedsupabase_unban_user
    • First observedsupabase_update_bucket
    • First observedsupabase_update_policy
    • First observedsupabase_update_rows
    • First observedsupabase_update_user
    • First observedsupabase_upload_file
    • First observedwoocommerce_create_coupon
    • First observedwoocommerce_create_customer
    • First observedwoocommerce_create_order
    • First observedwoocommerce_create_product
    • First observedwoocommerce_create_product_attribute
    • First observedwoocommerce_create_product_category
    • First observedwoocommerce_create_product_variation
    • First observedwoocommerce_delete_coupon
    • First observedwoocommerce_delete_order
    • First observedwoocommerce_delete_product
    • First observedwoocommerce_get_customer
    • First observedwoocommerce_get_customer_report
    • First observedwoocommerce_get_order
    • First observedwoocommerce_get_product
    • First observedwoocommerce_get_sales_report
    • First observedwoocommerce_get_top_sellers
    • First observedwoocommerce_list_coupons
    • First observedwoocommerce_list_customers
    • First observedwoocommerce_list_orders
    • First observedwoocommerce_list_product_attributes
    • First observedwoocommerce_list_product_categories
    • First observedwoocommerce_list_product_tags
    • First observedwoocommerce_list_product_variations
    • First observedwoocommerce_list_products
    • First observedwoocommerce_update_coupon
    • First observedwoocommerce_update_customer
    • First observedwoocommerce_update_order_status
    • First observedwoocommerce_update_product
    • First observedwordpress_advanced_bulk_assign_categories
    • First observedwordpress_advanced_bulk_assign_tags
    • First observedwordpress_advanced_bulk_delete_media
    • First observedwordpress_advanced_bulk_delete_posts
    • First observedwordpress_advanced_bulk_delete_products
    • First observedwordpress_advanced_bulk_update_media
    • First observedwordpress_advanced_bulk_update_posts
    • First observedwordpress_advanced_bulk_update_products
    • First observedwordpress_advanced_cron_list
    • First observedwordpress_advanced_cron_run
    • First observedwordpress_advanced_error_log
    • First observedwordpress_advanced_system_clear_all_caches
    • First observedwordpress_advanced_system_disk_usage
    • First observedwordpress_advanced_system_info
    • First observedwordpress_advanced_system_phpinfo
    • First observedwordpress_advanced_wp_db_export
    • First observedwordpress_advanced_wp_db_import
    • First observedwordpress_advanced_wp_db_query
    • First observedwordpress_advanced_wp_db_repair
    • First observedwordpress_advanced_wp_db_search
    • First observedwordpress_advanced_wp_db_size
    • First observedwordpress_advanced_wp_db_tables
    • First observedwordpress_create_category
    • First observedwordpress_create_comment
    • First observedwordpress_create_custom_post
    • First observedwordpress_create_menu
    • First observedwordpress_create_menu_item
    • First observedwordpress_create_page
    • First observedwordpress_create_post
    • First observedwordpress_create_tag
    • First observedwordpress_create_taxonomy_term
    • First observedwordpress_delete_category
    • First observedwordpress_delete_comment
    • First observedwordpress_delete_media
    • First observedwordpress_delete_page
    • First observedwordpress_delete_post
    • First observedwordpress_delete_tag
    • First observedwordpress_get_active_theme
    • First observedwordpress_get_comment
    • First observedwordpress_get_current_user
    • First observedwordpress_get_internal_links
    • First observedwordpress_get_media
    • First observedwordpress_get_menu
    • First observedwordpress_get_post
    • First observedwordpress_get_post_seo
    • First observedwordpress_get_post_type_info
    • First observedwordpress_get_product_seo
    • First observedwordpress_get_settings
    • First observedwordpress_get_site_health
    • First observedwordpress_list_categories
    • First observedwordpress_list_comments
    • First observedwordpress_list_custom_posts
    • First observedwordpress_list_media
    • First observedwordpress_list_menu_items
    • First observedwordpress_list_menus
    • First observedwordpress_list_pages
    • First observedwordpress_list_plugins
    • First observedwordpress_list_post_types
    • First observedwordpress_list_posts
    • First observedwordpress_list_tags
    • First observedwordpress_list_taxonomies
    • First observedwordpress_list_taxonomy_terms
    • First observedwordpress_list_themes
    • First observedwordpress_list_users
    • First observedwordpress_update_category
    • First observedwordpress_update_comment
    • First observedwordpress_update_media
    • First observedwordpress_update_menu_item
    • First observedwordpress_update_page
    • First observedwordpress_update_post
    • First observedwordpress_update_post_seo
    • First observedwordpress_update_product_seo
    • First observedwordpress_update_tag
    • First observedwordpress_upload_media_from_url
    • First observedwordpress_wp_cache_flush
    • First observedwordpress_wp_cache_type
    • First observedwordpress_wp_core_update
    • First observedwordpress_wp_core_verify_checksums
    • First observedwordpress_wp_db_check
    • First observedwordpress_wp_db_export
    • First observedwordpress_wp_db_optimize
    • First observedwordpress_wp_plugin_list_detailed
    • First observedwordpress_wp_plugin_update
    • First observedwordpress_wp_plugin_verify_checksums
    • First observedwordpress_wp_search_replace_dry_run
    • First observedwordpress_wp_theme_list_detailed
    • First observedwordpress_wp_theme_update
    • First observedwordpress_wp_transient_delete_all
    • First observedwordpress_wp_transient_list

TDQS

C2.9/5.0

Scored across 100 tools

Disambiguation3/5

WordPress tools are largely distinct (posts, pages, media, settings), but several system tools overlap: check_all_projects_health, get_project_health, and get_system_metrics all touch health/metrics. wordpress_audit_hook_status vs wordpress_probe_capabilities and wordpress_probe_upload_limits also blur the line between 'probe' and 'audit' actions.

Naming Consistency3/5

The wordpress_ prefix provides consistency within that domainaine, but the overall set mixes verbs inconsistently (check_all_projects_health, get_project_health, get_system_uptime, probe_upload_limits, audit_hook_status). Generic tools like get_system_metrics and get_project_health use divergent naming from the rest.

Tool Count2/5

100 tools is excessive for a single MCP server and creates a heavy surface area for agents to parse. Even if it aggregates many sub-domains, the cognitive load and prompt size make selection error-prone; this should likely be split into focused servers.

Completeness3/5

WordPress coverage is fairly broad (posts, pages, media, plugins, themes, settings, health), but there are gaps: no get_single_page tool, no user/comment management, and no media upload from local files. The project/system side lacks obvious workflow actions beyond health checks and metrics.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Appeared in Searches