Skip to main content
Glama

šŸš€ MCP WordPress Server

The Most Comprehensive WordPress MCP Server

Manage WordPress sites with natural language through AI tools like Claude Desktop

Quick Start • Why This MCP Server? Installation Options • Documentation • Examples

CI/CD Pipeline GitHub Stars NPM Version NPM Downloads NPM Total Downloads Docker Pulls Line Coverage Branch Coverage Function Coverage Test Results MCP Evaluation

TypeScript Security Tests Vulnerabilities Penetration Testing Docker License

šŸŽ‰ NEW: v2.7.0 - Composition Architecture & Complete SEO Toolkit!

šŸŽÆ Why This MCP Server?

Transform WordPress management from complex admin panels to simple conversations:

āŒ Before: Login → Admin Panel → Navigate → Click → Fill Forms → Save
āœ… After:  "Create a new blog post about AI trends with SEO optimization"

Key Advantages:

  • šŸ† Most Complete: 59 tools vs 20-30 in alternatives

  • ⚔ Fastest Setup: 2-click Claude Desktop installation via DXT

  • šŸ”’ Production Ready: 512 tests (100% pass rate), security audited, battle-tested

  • šŸŽÆ TypeScript Native: 100% type safety, best-in-class developer experience

  • 🌐 Multi-Site: Manage unlimited WordPress sites from one place

Related MCP server: WordPress MCP Server

šŸš€ Quick Start

Get up and running in under 5 minutes:

Prerequisites

  • WordPress: Version 5.6+ with REST API enabled

  • Claude Desktop: Latest version installed

  • Application Password: Generated from WordPress admin panel

3-Step Setup

1ļøāƒ£ Generate WordPress Application Password

WordPress Admin → Users → Profile → Application Passwords → Add New

2ļøāƒ£ Install MCP Server (Choose One)

Option A: DXT Extension (Easiest)

# Download and install in Claude Desktop
curl -L https://github.com/docdyhr/mcp-wordpress/releases/latest/download/mcp-wordpress.dxt -o mcp-wordpress.dxt
# Then: Claude Desktop → Extensions → Install → Select DXT file

Option B: NPM Global Install

npm install -g mcp-wordpress

3ļøāƒ£ Test Your Connection

In Claude: "Test my WordPress connection"
Response: "āœ… Authentication successful! Connected to: Your Site Name"

šŸ“ŗ Watch 2-minute Setup Video | šŸ“– Detailed Setup Guide

⚔ Installation Options

Easiest installation - just 2 clicks!

  1. Download: mcp-wordpress.dxt (3.4MB)

  2. Install: Claude Desktop → Extensions → Install → Select DXT file

  3. Configure: Enter your WordPress site URL and credentials

āœ… Zero command line required
āœ… Automatic updates
āœ… Built-in security

šŸ“– Complete DXT Setup Guide →

šŸš€ Alternative: NPX (Power Users)

# Run directly - always latest version
npx -y mcp-wordpress

# Interactive setup wizard
npm run setup

šŸ“¦ Secondary: Smithery Package Manager

# Install via Smithery (MCP package manager)
smithery install mcp-wordpress

# Configure and start
smithery configure mcp-wordpress

āœ… Package management
āœ… Version control
āœ… Easy updates

Installing via Smithery

To install mcp-wordpress for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @docdyhr/mcp-wordpress --client claude

šŸ”§ Other Options

šŸ“‹ Configuration Examples

Single Site Setup

Environment Variables (.env)

WORDPRESS_SITE_URL=https://myblog.com
WORDPRESS_USERNAME=admin
WORDPRESS_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
WORDPRESS_AUTH_METHOD=app-password

Claude Desktop Config

{
  "mcpServers": {
    "mcp-wordpress": {
      "command": "npx",
      "args": ["-y", "mcp-wordpress"],
      "env": {
        "WORDPRESS_SITE_URL": "https://myblog.com",
        "WORDPRESS_USERNAME": "admin",
        "WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
      }
    }
  }
}

Multi-Site Agency Setup

Configuration File (mcp-wordpress.config.json)

{
  "sites": [
    {
      "id": "main-corporate",
      "name": "Corporate Website",
      "config": {
        "WORDPRESS_SITE_URL": "https://company.com",
        "WORDPRESS_USERNAME": "admin",
        "WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
        "WORDPRESS_AUTH_METHOD": "app-password"
      }
    },
    {
      "id": "client-restaurant",
      "name": "Restaurant Client",
      "config": {
        "WORDPRESS_SITE_URL": "https://bestrestaurant.com",
        "WORDPRESS_USERNAME": "editor",
        "WORDPRESS_APP_PASSWORD": "yyyy yyyy yyyy yyyy yyyy yyyy",
        "WORDPRESS_AUTH_METHOD": "app-password"
      }
    },
    {
      "id": "client-ecommerce",
      "name": "E-commerce Client",
      "config": {
        "WORDPRESS_SITE_URL": "https://onlinestore.com",
        "WORDPRESS_USERNAME": "shopmanager",
        "WORDPRESS_APP_PASSWORD": "zzzz zzzz zzzz zzzz zzzz zzzz",
        "WORDPRESS_AUTH_METHOD": "app-password"
      }
    }
  ]
}

Development Environment

Local WordPress with Docker

# docker-compose.yml
version: "3.8"
services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress_data:/var/www/html

  db:
    image: mysql:8.0
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
      MYSQL_ROOT_PASSWORD: rootpassword
    volumes:
      - db_data:/var/lib/mysql

volumes:
  wordpress_data:
  db_data:

MCP WordPress Development Config

{
  "sites": [
    {
      "id": "local-dev",
      "name": "Local Development",
      "config": {
        "WORDPRESS_SITE_URL": "http://localhost:8080",
        "WORDPRESS_USERNAME": "admin",
        "WORDPRESS_APP_PASSWORD": "dev-password-here",
        "WORDPRESS_AUTH_METHOD": "app-password"
      }
    }
  ]
}

Production Deployment

Server Environment Variables

# /etc/environment or systemd service
WORDPRESS_SITE_URL=https://production-site.com
WORDPRESS_USERNAME=api-user
WORDPRESS_APP_PASSWORD=secure-production-password
WORDPRESS_AUTH_METHOD=app-password
NODE_ENV=production
CACHE_ENABLED=true
CACHE_TTL=3600
RATE_LIMIT_ENABLED=true
DEBUG=false

Docker Production Setup

# Dockerfile.production
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY dist/ ./dist/
EXPOSE 3000
USER node
CMD ["node", "dist/index.js"]

JWT Authentication Setup

WordPress Plugin Configuration

// wp-config.php
define('JWT_AUTH_SECRET_KEY', 'your-secret-key-here');
define('JWT_AUTH_CORS_ENABLE', true);

MCP Configuration

{
  "sites": [
    {
      "id": "jwt-site",
      "name": "JWT Authentication Site",
      "config": {
        "WORDPRESS_SITE_URL": "https://site-with-jwt.com",
        "WORDPRESS_USERNAME": "api-user",
        "WORDPRESS_PASSWORD": "user-password",
        "WORDPRESS_AUTH_METHOD": "jwt"
      }
    }
  ]
}

🌟 What Makes This Special

šŸ† Feature Comparison

Feature

This Server

Competition

Tools Available

59 tools

20-30 tools

Claude Desktop DXT

āœ… 2-click install

āŒ Manual setup

Multi-Site Support

āœ… Unlimited sites

āŒ Single site

TypeScript

āœ… 100% coverage

āš ļø Partial/None

Performance Monitoring

āœ… Real-time analytics

āŒ Basic only

Test Coverage

āœ… 404 tests (100% pass / 30% lines)

āš ļø Limited

Production Ready

āœ… Security audited

āš ļø Unknown

šŸš€ Core Capabilities

WordPress Management

  • 59 WordPress Tools across 10 categories

  • Multi-Site Support - Manage unlimited WordPress installations

  • Flexible Authentication - App Passwords, JWT, Basic Auth, API Key

  • Real-Time Sync - Instant updates across all connected tools

Performance & Reliability

  • ⚔ Intelligent Caching - 50-70% performance improvement

  • šŸ“Š Real-Time Monitoring - Performance metrics and optimization insights

  • šŸ”’ Production Ready - Security-reviewed, 96.17% line coverage with Vitest testing framework

  • šŸ”„ Zero Downtime - Graceful error handling and automatic recovery

Developer Experience

  • 100% TypeScript - Complete type safety and IntelliSense

  • 🐳 Docker Support - Production-ready containerization

  • šŸ“š Auto-Generated Docs - API documentation with live examples

  • šŸ”§ Extensible - Custom tool development framework

🌐 Multi-Site Configuration

Perfect for agencies and developers managing multiple WordPress sites:

{
  "sites": [
    {
      "id": "main-site",
      "name": "Main WordPress Site",
      "config": {
        "WORDPRESS_SITE_URL": "https://site1.com",
        "WORDPRESS_USERNAME": "admin",
        "WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
      }
    },
    {
      "id": "client-blog",
      "name": "Client Blog",
      "config": {
        "WORDPRESS_SITE_URL": "https://client-blog.com",
        "WORDPRESS_USERNAME": "editor",
        "WORDPRESS_APP_PASSWORD": "yyyy yyyy yyyy yyyy yyyy yyyy"
      }
    }
  ]
}

Use with site parameter: wp_list_posts --site="main-site"

šŸ“– Complete Multi-Site Setup Guide

šŸ” Authentication Setup

  1. WordPress Admin → Users → Profile

  2. Scroll to Application Passwords

  3. Enter name: "MCP WordPress Server"

  4. Click Add New Application Password

  5. Copy the generated password

Alternative Methods

  • JWT Authentication - With JWT plugin

  • Basic Authentication - Username/password (dev only)

  • API Key Authentication - With API Key plugin

šŸ“– Complete Authentication Guide

šŸ“‹ Available Tools (59 Tools)

Content Management

  • šŸ“ Posts (6 tools) - Create, edit, delete, list posts and revisions

  • šŸ“„ Pages (6 tools) - Manage static pages and revisions

  • šŸ–¼ļø Media (6 tools) - Upload, manage media library and files

User & Community

  • šŸ‘„ Users (6 tools) - User management and profiles

  • šŸ’¬ Comments (7 tools) - Comment moderation and management

  • šŸ·ļø Taxonomies (10 tools) - Categories and tags management

Site Management (Monitoring & Admin)

  • āš™ļø Site Settings (7 tools) - Site configuration and statistics

  • šŸ” Authentication (6 tools) - Auth testing and management

  • ⚔ Cache Management (4 tools) - Performance caching control

  • šŸ“Š Performance Monitoring (6 tools) - Real-time metrics and optimization

šŸ“– Complete Tool Documentation | Live API Reference

šŸ¤– Claude Desktop Integration

šŸŽÆ Real-World Use Cases

Content Creation & Management:

šŸ’¬ "Analyze my top 10 blog posts and create a new post about emerging trends"
šŸ’¬ "Upload these 5 images and create a photo gallery page with SEO optimization"
šŸ’¬ "Review all pending comments and approve the legitimate ones"

Site Management & Analytics:

šŸ’¬ "Check my WordPress site performance and provide optimization recommendations"
šŸ’¬ "Create a new user account for my freelance writer with editor permissions"
šŸ’¬ "Backup my site settings and show me cache performance statistics"

Bulk Operations:

šŸ’¬ "Update all posts from 2023 to include my new author bio"
šŸ’¬ "Find all images over 1MB and suggest compression strategies"
šŸ’¬ "List all users who haven't logged in for 6 months"

āš™ļø Configuration Methods

No configuration needed - built-in secure credential management!

Option 2: NPX in Claude Desktop

{
  "mcpServers": {
    "mcp-wordpress": {
      "command": "npx",
      "args": ["-y", "mcp-wordpress"],
      "env": {
        "WORDPRESS_SITE_URL": "https://your-site.com",
        "WORDPRESS_USERNAME": "your-username",
        "WORDPRESS_APP_PASSWORD": "your-app-password"
      }
    }
  }
}

šŸ“– Complete Integration Guide

šŸ“š Examples

Basic Content Management

Create and Publish a Blog Post

You: "Create a new blog post titled 'AI Revolution in 2024' with content about recent AI breakthroughs"
Claude: "I'll create that blog post for you..."
Result: āœ… Post "AI Revolution in 2024" created successfully (ID: 123)

Media Management

You: "Upload the image at /path/to/image.jpg and set it as featured image for post 123"
Claude: "I'll upload that image and set it as the featured image..."
Result: āœ… Image uploaded (ID: 456) and set as featured image

Advanced Workflows

SEO-Optimized Content Creation

You: "Create an SEO-optimized blog post about 'WordPress Security Best Practices' with:
     - Focus keyword: 'WordPress security'
     - Meta description
     - Proper heading structure
     - At least 1500 words"

Claude: "I'll create a comprehensive SEO-optimized post on WordPress security..."

Bulk Operations

You: "Find all draft posts older than 30 days and provide a summary"
You: "Update all posts in category 'News' to include a disclaimer at the end"
You: "Delete all spam comments from the last week"

Site Management

Performance Monitoring

You: "Analyze my site's performance and suggest optimizations"
Claude: "Let me check your site's performance metrics...
         - Cache hit rate: 67%
         - Average response time: 245ms
         - Recommendations: Enable object caching, optimize images..."

User Management

You: "Create a new editor account for john@example.com with a secure password"
You: "List all users who haven't logged in for 90 days"
You: "Update Sarah's role from Author to Editor"

Multi-Site Management

Working with Multiple Sites

You: "List all posts from my client-blog site"
Claude: "I'll list the posts from the client-blog site..."

You: "Compare traffic between main-site and client-blog"
Claude: "Here's a comparison of both sites..."

šŸŽØ Real-World Workflows

Content Marketing Agency Workflow

Scenario: Managing 20+ client blogs with consistent SEO optimization

šŸ’¬ "Analyze the top 5 performing posts across all sites and create similar content for underperforming clients"
šŸ’¬ "Batch update all client sites with the new privacy policy footer"
šŸ’¬ "Generate a weekly performance report comparing all client sites"
šŸ’¬ "Create social media snippets from the latest blog posts on each site"

E-commerce Store Management

Scenario: Managing product launches and inventory updates

šŸ’¬ "Create a product launch post with gallery, specifications, and pricing for the new iPhone case"
šŸ’¬ "Update all 'out of stock' products with restock notifications"
šŸ’¬ "Generate product comparison pages for similar items"
šŸ’¬ "Create seasonal landing pages with current promotions"

News Website Operations

Scenario: Breaking news and content moderation

šŸ’¬ "Publish breaking news about the tech merger with social media integration"
šŸ’¬ "Moderate comments on controversial articles and flag inappropriate content"
šŸ’¬ "Create topic clusters around trending news stories"
šŸ’¬ "Schedule social media posts for peak engagement times"

Educational Institution Portal

Scenario: Course management and student communications

šŸ’¬ "Create course announcement pages with enrollment forms"
šŸ’¬ "Update faculty profiles with new publications and achievements"
šŸ’¬ "Generate student newsletter with upcoming events and deadlines"
šŸ’¬ "Moderate discussion forums and highlight valuable contributions"

Non-Profit Organization

Scenario: Fundraising campaigns and volunteer coordination

šŸ’¬ "Create donation campaign pages with progress tracking"
šŸ’¬ "Update volunteer opportunity listings with current needs"
šŸ’¬ "Generate impact reports showing donation effectiveness"
šŸ’¬ "Create event registration pages with automated confirmations"

šŸš€ Advanced Automation Examples

Smart Content Workflows

Automated SEO Optimization

You: "Optimize all posts from the last month for better SEO performance"
Claude: "I'll analyze and optimize your recent posts...
- Analyzed 15 posts from the last 30 days
- Updated meta descriptions for 12 posts
- Added focus keywords to 8 posts
- Optimized heading structure in 10 posts
- Improved internal linking in 15 posts
- Average SEO score improved from 67% to 89%"

Content Gap Analysis

You: "Identify content gaps in our blog compared to competitor topics"
Claude: "After analyzing your content and common industry topics...
- Missing topics: 'AI in Healthcare', 'Remote Work Security', 'Green Technology'
- Underperforming categories: 'Tutorials' (only 3 posts vs 15+ needed)
- Recommended: 8 new posts to fill major gaps
- Priority topics based on search volume and competition"

Maintenance Automation

Site Health Monitoring

You: "Perform a comprehensive site health check and fix any issues"
Claude: "Running complete site diagnostics...
- āœ… SSL certificate valid (expires: March 15, 2025)
- āš ļø 3 broken internal links found and flagged
- āœ… All images optimized (average load time: 1.2s)
- āš ļø 2 plugins need updates
- āœ… Database optimized (reduced size by 15%)
- āœ… Cache performance: 78% hit rate"

User Management Automation

You: "Clean up user accounts and update permissions for the new team structure"
Claude: "Updating user management...
- Deactivated 5 inactive accounts (no login >6 months)
- Updated 12 user roles to match new org chart
- Created 3 new editor accounts for content team
- Set up role-based content access restrictions
- Configured automated welcome emails for new users"

Performance Optimization

Intelligent Cache Management

You: "Analyze site performance and implement optimal caching strategies"
Claude: "Implementing performance optimizations...
- Enabled object caching (40% speed improvement)
- Configured CDN for static assets
- Optimized database queries (reduced load time by 25%)
- Set up page caching with smart invalidation
- Compressed and optimized 47 images
- Site speed improved from 3.2s to 1.8s average load time"

šŸŽÆ Industry-Specific Solutions

Healthcare Practices

šŸ’¬ "Create HIPAA-compliant patient information pages with secure forms"
šŸ’¬ "Update doctor profiles with latest certifications and specializations"
šŸ’¬ "Generate appointment booking pages with calendar integration"
šŸ’¬ "Create health education content with medical disclaimers"
šŸ’¬ "Create practice area pages with case study examples"
šŸ’¬ "Update attorney profiles with recent wins and bar admissions"
šŸ’¬ "Generate client intake forms with confidentiality notices"
šŸ’¬ "Create legal blog posts with proper citations and disclaimers"

Real Estate Agencies

šŸ’¬ "Create property listing pages with virtual tour embeds"
šŸ’¬ "Update agent profiles with recent sales and market statistics"
šŸ’¬ "Generate neighborhood guide pages with local amenities"
šŸ’¬ "Create mortgage calculator pages with current rates"

Restaurants & Food Service

šŸ’¬ "Create menu pages with dietary restriction filters"
šŸ’¬ "Update chef profiles with signature dishes and cooking philosophy"
šŸ’¬ "Generate event booking pages for private dining"
šŸ’¬ "Create food blog posts with recipe cards and nutritional information"

šŸ“– More Examples | Use Case Library

šŸ› ļø Troubleshooting Guide

Quick Diagnostics

Connection Issues

# Test WordPress connection
npm run status

# Debug mode with detailed logs
DEBUG=true npm run dev

# Test specific site in multi-site setup
npm run status -- --site="your-site-id"

Authentication Problems

# Verify WordPress application password
curl -u username:app_password https://your-site.com/wp-json/wp/v2/users/me

# Test authentication with different methods
npm run test:auth

# Regenerate application password
npm run setup

Performance Issues

# Check cache performance
npm run test:cache

# Monitor real-time performance
npm run test:performance

# Clear all caches
rm -rf cache/ && npm run dev

Common Error Solutions

Error

Cause

Solution

401 Unauthorized

Invalid credentials

Regenerate application password

403 Forbidden

Insufficient permissions

Check user role (Editor+ required)

404 Not Found

Wrong site URL

Verify WORDPRESS_SITE_URL

SSL Certificate Error

HTTPS issues

Add SSL exception or use HTTP

Connection Timeout

Network/firewall

Check WordPress REST API access

Tools not showing in Claude

Config file format

Validate JSON syntax

Plugin conflicts

WordPress plugins

Disable conflicting plugins

Rate limiting

Too many requests

Implement request throttling

WordPress-Specific Issues

REST API Not Available

# Test REST API directly
curl https://your-site.com/wp-json/wp/v2/

# Check if REST API is disabled
grep -r "rest_api" wp-config.php

# Verify permalink structure
wp-admin → Settings → Permalinks → Post name

Application Password Issues

1. WordPress Admin → Users → Profile
2. Scroll to "Application Passwords"
3. Ensure feature is enabled (WordPress 5.6+)
4. Generate new password if needed
5. Copy password exactly (includes spaces)

Multi-Site Configuration Problems

// Check mcp-wordpress.config.json format
{
  "sites": [
    {
      "id": "unique-site-id",
      "name": "Human Readable Name",
      "config": {
        "WORDPRESS_SITE_URL": "https://site.com",
        "WORDPRESS_USERNAME": "username",
        "WORDPRESS_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
      }
    }
  ]
}

Environment-Specific Solutions

Claude Desktop Integration

// Verify claude_desktop_config.json format
{
  "mcpServers": {
    "mcp-wordpress": {
      "command": "npx",
      "args": ["-y", "mcp-wordpress"],
      "env": {
        "WORDPRESS_SITE_URL": "https://your-site.com",
        "WORDPRESS_USERNAME": "your-username",
        "WORDPRESS_APP_PASSWORD": "your-app-password"
      }
    }
  }
}

Docker Deployment Issues

# Check container logs
docker logs mcp-wordpress

# Verify environment variables
docker exec mcp-wordpress env | grep WORDPRESS

# Test network connectivity
docker exec mcp-wordpress curl https://your-site.com/wp-json/wp/v2/

NPX Runtime Problems

# Clear NPX cache
npx clear-npx-cache

# Use specific version
npx mcp-wordpress@latest

# Install globally instead
npm install -g mcp-wordpress

Getting Help

Self-Diagnostics

# Comprehensive health check
npm run health

# Security validation
npm run security:check

# Performance analysis
npm run test:performance

Debug Information Collection

# Generate debug report
DEBUG=true npm run status > debug-report.txt 2>&1

# Include system information
node --version >> debug-report.txt
npm --version >> debug-report.txt
os-info >> debug-report.txt

Community Support

🧪 Testing & Status

Current Test Status āœ…

  • Main Test Suite: 512/512 passed (100%) with Vitest

  • Security Tests: 40/40 passed (100%)

  • Performance Tests: 8/8 passed (100%)

  • CI/CD Pipeline: Fully functional with Vitest integration

Test Your Installation

# Check connection status
npm run status

# Run full test suite (Vitest)
npm test

# Run tests with coverage
npm run test:coverage

# Quick validation
npm run test:fast

šŸ”’ Security Status

Comprehensive Security Testing

Our security posture is continuously monitored through automated testing and vulnerability scanning:

Security Area

Status

Tests

Coverage

XSS Protection

āœ… Secure

6/6 passing

Script injection, URL validation, HTML sanitization

SQL Injection

āœ… Secure

3/3 passing

Query parameterization, input validation

Path Traversal

āœ… Secure

3/3 passing

File path validation, directory restrictions

Input Validation

āœ… Secure

9/9 passing

Length limits, format validation, sanitization

Authentication

āœ… Secure

7/7 passing

Bypass prevention, token validation

Rate Limiting

āœ… Secure

3/3 passing

DoS protection, request throttling

Information Disclosure

āœ… Secure

2/2 passing

Error sanitization, sensitive data protection

Penetration Testing

āœ… Secure

12/12 passing

Comprehensive attack simulation

Security Features

  • šŸ›”ļø Input Sanitization: All user inputs are validated and sanitized

  • šŸ” Authentication Security: Multi-method auth with bypass prevention

  • ⚔ Rate Limiting: Built-in protection against abuse and DoS attacks

  • šŸ” Vulnerability Scanning: Daily automated security scans

  • šŸ“Š Real-time Monitoring: Continuous security status updates

  • 🚨 Automated Alerts: Immediate notification of security issues

Security Testing Commands

# Run comprehensive security tests
npm run test:security

# Run penetration testing suite
npm run test:security:validation

# Security vulnerability audit
npm audit

# Full security validation
npm run security:full

Security Compliance

  • OWASP Top 10: Complete protection against common vulnerabilities

  • CVE Monitoring: Automated scanning for known vulnerabilities

  • Security Headers: Proper HTTP security headers implementation

  • Data Protection: Sensitive credential redaction and secure storage

  • Access Control: Role-based permissions and authentication validation

šŸ“– Complete Security Documentation | Security Test Results

šŸ› Troubleshooting

Common Issues

  1. "Cannot connect to WordPress"

    • Verify WORDPRESS_SITE_URL

    • Test REST API: curl https://your-site.com/wp-json/wp/v2/

  2. "Authentication failed"

    • Check username and application password

    • Ensure Application Passwords are enabled

    • Run npm run setup to reconfigure

  3. "Tools not appearing in Claude"

    • Restart Claude Desktop after configuration

    • Check Claude Desktop config file format

Get Help

# Debug mode
DEBUG=true npm run dev

# Connection test
npm run status

# Re-run setup wizard
npm run setup

šŸ“š Documentation

Getting Started

User Guides

Integration Guides

Developer Documentation

Deployment & Operations

šŸ”§ Requirements

  • WordPress 5.0+ with REST API enabled

  • HTTPS recommended for production

  • User with appropriate permissions

  • Application Passwords enabled (WordPress 5.6+)

WordPress User Roles

Role

Access

Administrator

Full access to all functions

Editor

Posts, pages, comments, media

Author

Own posts and media

Contributor

Own posts (drafts only)

Subscriber

Read only

šŸ“¦ Installation Options

NPM Package

# Global installation
npm install -g mcp-wordpress

# Direct usage (recommended)
npx -y mcp-wordpress

Docker Images

# Latest version
docker pull docdyhr/mcp-wordpress:latest

# Specific version
docker pull docdyhr/mcp-wordpress:1.3.1

Distribution Channels

šŸš€ Next Steps

Ready to transform your WordPress management?

  1. šŸ† Download DXT Extension - Easiest setup (2 minutes)

  2. ⚔ Try NPX Method - Power user setup (5 minutes)

  3. šŸ“š Explore All Tools - See what's possible

  4. šŸ’¬ Join Discussions - Get help and share ideas


šŸ”— Similar Projects

Looking for alternatives or complementary tools? Check out these WordPress MCP implementations:


šŸ“‹ Changelog

v2.5.4+ (August 2024) šŸŽ‰

  • šŸ†• Multi-Site DXT Extension - New UI toggle for managing multiple WordPress sites in Claude Desktop

  • šŸ”§ Enhanced Configuration - Auto-detection of multi-site configuration files

  • ⚔ Performance Improvements - Optimized caching and request handling

  • šŸ›”ļø Security Updates - Enhanced input validation and dependency updates

  • šŸ› Bug Fixes - Resolved hook path issues and improved error handling

  • šŸ“š Documentation - Updated setup guides and troubleshooting information

v2.5.0 (July 2024)

  • šŸš€ Production Ready - Comprehensive testing suite with 96%+ coverage

  • šŸ”’ Security Framework - Full security validation and penetration testing

  • šŸ“Š Performance Analytics - Real-time monitoring and optimization tools

  • šŸŽÆ Tool Enhancements - 59 WordPress management tools across 10 categories

v2.0.0 (June 2024)

  • šŸ—ļø Architecture Overhaul - Migrated to modern TypeScript architecture

  • 🌐 Multi-Site Support - Complete multi-site WordPress management

  • šŸ’¾ Intelligent Caching - 50-70% performance improvement

  • šŸ” Authentication Methods - Support for 4 authentication types


šŸ™ Acknowledgments

Special thanks to Stephan Ferraro for the upstream project that inspired this implementation.


⭐ Found this helpful? Give us a star on GitHub! ⭐

Available Tools

70 tools
wp_approve_commentC

Approves a pending comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the comment to approve.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('approves') which implies a write/mutation operation, but doesn't mention required permissions, whether the action is reversible, potential side effects, or what the response looks like. For a mutation tool with zero annotation coverage, this is insufficient.

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

Conciseness5/5

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

The description is a single, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized and front-loaded with the essential information, making it easy for an agent to parse quickly.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'approve' entails operationally, what permissions are needed, what happens to the comment status, or what the tool returns. Given the complexity of modifying content in a CMS, 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 description coverage is 100%, so the schema already fully documents both parameters (site and id). The description doesn't add any parameter semantics beyond what's in the schema, such as clarifying what 'approve' means for the comment status or format requirements. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('approves') and the target resource ('a pending comment'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like wp_spam_comment or wp_update_comment, which would require a 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like wp_update_comment or wp_spam_comment. It doesn't mention prerequisites (e.g., that the comment must be in 'pending' status) or contextual constraints, leaving the agent to infer usage from the tool name alone.

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

wp_cache_clearC

Clear cache for a WordPress site.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite ID to clear cache for.
patternNoOptional pattern to clear specific cache entries (e.g., "posts", "categories").

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While 'Clear cache' implies a destructive/mutative operation, the description doesn't mention important behavioral aspects like whether this requires admin permissions, whether it affects site performance during clearing, what happens to cached data, or potential side effects. It provides minimal context beyond the basic action.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple tool and front-loads the essential information immediately.

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

Completeness2/5

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

For a destructive cache-clearing operation with no annotations and no output schema, the description is insufficient. It doesn't explain what 'clearing cache' entails operationally, what gets cleared, potential performance impacts, or what the tool returns. Given the complexity of cache operations and lack of structured documentation, 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 description coverage is 100%, so the schema already documents both parameters (site and pattern) with clear descriptions. The description doesn't add any meaningful parameter semantics beyond what's in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting for parameter documentation.

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

Purpose4/5

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

The description clearly states the action ('Clear cache') and target ('for a WordPress site'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from sibling tools like wp_cache_info or wp_cache_stats, which also relate to cache operations but serve different purposes.

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

Usage 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. There are several sibling cache-related tools (wp_cache_info, wp_cache_stats, wp_cache_warm), but the description doesn't indicate when clearing cache is appropriate versus checking cache status or warming cache.

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

wp_cache_infoB

Get detailed cache configuration and status information.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite ID to get cache info for.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a read operation ('Get'), which is helpful, but doesn't mention authentication requirements, rate limits, error conditions, or what format the 'detailed information' returns. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple read operation and front-loads the essential information without unnecessary elaboration.

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 single-parameter read tool with good schema coverage but no annotations or output schema, the description is minimally adequate. It states what the tool does but lacks important context about authentication, return format, and differentiation from sibling cache tools. The absence of an output schema means the description should ideally provide more guidance about what information is returned.

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

Parameters3/5

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

The schema description coverage is 100% with the single 'site' parameter fully documented in the schema. The description adds no additional parameter information beyond what's already in the structured schema, so it meets the baseline expectation without adding extra value.

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

Purpose4/5

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

The description clearly states the action ('Get') and the resource ('detailed cache configuration and status information'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling cache tools like wp_cache_stats or wp_cache_clear, but the specificity of 'configuration and status' provides some implicit distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like wp_cache_stats or wp_cache_clear. There's no mention of prerequisites, context, or comparative use cases with sibling tools, leaving the agent to infer usage patterns from tool names alone.

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

wp_cache_statsB

Get cache statistics for a WordPress site.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite ID to get cache stats for. If not provided, uses default site or fails if multiple sites configured.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'gets' data, implying a read-only operation, but doesn't specify permissions, rate limits, or what happens if the site parameter is omitted (e.g., fails or uses a default). This leaves gaps in understanding 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.

Conciseness5/5

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

The description is a single, clear sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and efficiently communicates the core function, making it easy for an agent to parse quickly.

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

Completeness3/5

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

Given the tool's low complexity (one optional parameter) and high schema coverage, the description is minimally adequate. However, with no annotations and no output schema, it lacks details on behavioral traits and return values, which could hinder the agent's ability to use it effectively in all contexts.

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

Parameters3/5

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

The input schema has 100% description coverage, with the 'site' parameter fully documented in the schema itself. The description doesn't add any extra meaning beyond what's in the schema, so it meets the baseline score of 3 for high schema coverage without compensating value.

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

Purpose4/5

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

The description clearly states the action ('Get') and resource ('cache statistics for a WordPress site'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'wp_cache_info' or 'wp_performance_stats', which might provide similar or overlapping functionality, so it doesn't reach the highest score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'wp_cache_info' and 'wp_performance_stats' available, there's no indication of how this tool differs or when it should be preferred, leaving the agent to guess based on names alone.

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

wp_cache_warmC

Pre-warm cache with essential WordPress data.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSite ID to warm cache for.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'pre-warm' implies a read operation that populates cache, it doesn't specify whether this is a background process, how long it takes, what permissions are required, whether it affects site performance during execution, or what happens on failure. For a tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a single-parameter tool and front-loads the essential 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 of cache operations and the complete lack of annotations and output schema, the description is insufficiently complete. It doesn't explain what 'essential WordPress data' includes, what the tool returns (success/failure indicators, metrics), performance implications, or error conditions. For a tool that likely involves system-level operations, 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 description coverage is 100%, so the schema already documents the single 'site' parameter. The description doesn't add any parameter-specific information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

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

Purpose4/5

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

The description clearly states the action ('pre-warm cache') and the target ('with essential WordPress data'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling cache tools like wp_cache_clear or wp_cache_info, which would be needed for a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There's no mention of when pre-warming is appropriate, what 'essential WordPress data' means, or how this differs from other cache-related tools like wp_cache_clear or wp_cache_info. The agent receives no usage context.

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

wp_create_application_passwordC

Creates a new application password for a user.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
user_idYesThe ID of the user to create the password for.
app_nameYesThe name of the application this password is for.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'creates' implies a write operation, it doesn't specify whether this requires admin permissions, what happens on success/failure, whether the password is displayed only once, or any rate limits. For a security-sensitive operation like password creation, 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.

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a straightforward creation operation and front-loads the essential information.

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

Completeness2/5

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

For a tool that creates application passwords (a security-sensitive write operation) with no annotations and no output schema, the description is inadequate. It doesn't explain what the tool returns, what permissions are required, or any security implications. The context demands more comprehensive disclosure.

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

Parameters3/5

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

The description mentions creating a password 'for a user' which aligns with the user_id parameter, but doesn't add meaningful context beyond what's already in the schema descriptions. With 100% schema description coverage, the baseline is 3, and the description doesn't significantly enhance parameter understanding.

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

Purpose4/5

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

The description clearly states the action ('creates') and resource ('new application password for a user'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'wp_get_application_passwords' or 'wp_delete_application_password' beyond the obvious verb difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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. There's no mention of prerequisites (like authentication requirements), when this operation is appropriate, or how it relates to sibling tools like 'wp_get_application_passwords' or 'wp_delete_application_password'.

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

wp_create_categoryC

Creates a new category.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the category.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
descriptionNoThe description for the category.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. 'Creates' implies a write/mutation operation, but the description doesn't mention authentication requirements, permission levels needed, whether the operation is idempotent, what happens on duplicate names, or what the return value looks like. For a mutation tool with zero annotation coverage, this is insufficient.

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

Conciseness5/5

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

The description is extremely concise - just three words. It's front-loaded with the essential action and resource. There's zero wasted language or unnecessary elaboration. Every word earns its place in conveying the core function.

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

Completeness2/5

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

For a mutation tool (category creation) with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after creation, what permissions are required, how to handle errors, or what the tool returns. The context signals show this is a 3-parameter tool with one required parameter, but the description provides no guidance on parameter importance or usage patterns.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

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

Purpose4/5

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

The description clearly states the action ('creates') and resource ('new category'), making the purpose immediately understandable. However, it doesn't differentiate this tool from other creation tools like wp_create_post or wp_create_tag, which would require a 5. The verb+resource combination is specific but lacks sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like wp_update_category and wp_list_categories available, there's no indication of when creation is appropriate versus updating or listing. The description offers no context about prerequisites, use cases, or exclusions.

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

wp_create_commentC

Creates a new comment on a post.

ParametersJSON Schema
NameRequiredDescriptionDefault
postYesThe ID of the post to comment on.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
contentYesThe content of the comment.
author_nameNoThe name of the comment author.
author_emailNoThe email of the comment author.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a creation operation but doesn't mention authentication requirements, rate limits, whether the comment appears immediately or needs approval, or what happens on success/failure. For a write operation with zero annotation coverage, this is insufficient.

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

Conciseness5/5

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

The description is a single, focused sentence with zero wasted words. It's perfectly front-loaded with the core action and target, making it immediately understandable without any unnecessary elaboration.

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

Completeness2/5

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

For a write operation (comment creation) with no annotations and no output schema, the description is incomplete. It doesn't address authentication needs, success/failure behavior, moderation status, or return values. Given the complexity of creating user-generated content in WordPress, 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 description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema descriptions, so it meets the baseline expectation but doesn't provide extra value.

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

Purpose4/5

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

The description clearly states the action ('creates a new comment') and the target resource ('on a post'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like wp_update_comment or wp_approve_comment, which would be needed for a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like wp_update_comment for modifying existing comments or wp_approve_comment for moderation actions. There's no mention of prerequisites, constraints, 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.

wp_create_pageC

Creates a new page.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
titleYesThe title for the page.
statusNoThe publishing status for the page.
contentNoThe content for the page, in HTML format.

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. 'Creates a new page' implies a write/mutation operation, but the description doesn't disclose what permissions are required, whether the creation is immediate or scheduled, what happens on failure, or what the response contains. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is maximally concise - a single three-word sentence that communicates the core function without any wasted words. It's front-loaded with the essential information and earns its place efficiently.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens after creation (e.g., returns a page ID, redirects, or provides confirmation), what error conditions might occur, or any side effects. The combination of mutation operation + missing annotations + no output schema requires more descriptive context than provided.

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

Parameters3/5

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

The schema description coverage is 100%, so all parameters are documented in the input schema. The description adds no additional parameter information beyond what's already in the schema descriptions. According to the scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

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

Purpose4/5

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

The description clearly states the action ('creates') and resource ('new page'), making the purpose immediately understandable. It distinguishes itself from siblings like wp_create_post (which creates posts) and wp_update_page (which updates existing pages). However, it doesn't specify that this is for WordPress specifically, though the tool name provides that context.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose wp_create_page over wp_create_post (for different content types), or when to use wp_update_page instead (for modifying existing pages). There's also no mention of prerequisites like authentication or site configuration.

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

wp_create_postA

Creates a new WordPress post with comprehensive validation and detailed success feedback including management links.

Usage Examples: • Simple post: wp_create_post --title="My New Post" --content="<p>Hello World!</p>" • Draft post: wp_create_post --title="Draft Post" --status="draft" • Categorized post: wp_create_post --title="Tech News" --categories=[1,5] --tags=[10,20] • Post with featured image: wp_create_post --title="My Post" --content="<p>Content</p>" --featured_media=42 • Remove featured image: wp_create_post --title="My Post" --featured_media=0 • Scheduled post: wp_create_post --title="Future Post" --status="future" --date="2024-12-25T10:00:00" • Complete post: wp_create_post --title="Complete Post" --content="<p>Content</p>" --excerpt="Summary" --status="publish"

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It does disclose two useful traits beyond the schema: input validation occurs and the success response includes management links. But it says nothing about required capabilities/authentication, error behavior, or what happens to defaults such as status when omitted, so a mutation tool remains only partially covered.

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 summary sentence is front-loaded and the examples are scannable, each illustrating a distinct capability rather than repeating itself. Seven examples is on the verbose side, but none is pure filler.

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

Completeness3/5

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

There is no output schema, and while the description notes that success feedback with management links is returned, it never details the response shape or failure modes. Combined with no annotations on a write tool, the definition covers invocation but leaves the agent guessing about permissions, validation failures, and sibling selection.

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

Parameters4/5

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

Schema coverage is reported as 100%, but the schema contains only the 'site' parameter, while the description documents title, content, excerpt, status, categories, tags, featured_media, and date through examples. It adds real meaning the schema lacks, including the ISO-8601 date format for scheduled posts and the featured_media=0 convention for removal, though array encoding (categories=[1,5]) is shown without explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 first sentence names a specific verb and resource ('Creates a new WordPress post') and adds behavioral promises ('comprehensive validation and detailed success feedback including management links'). It is clear, but it never explicitly distinguishes this tool from close siblings such as wp_create_page or wp_update_post, so the agent must infer the boundary from the name alone.

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

Usage Guidelines3/5

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

The seven worked examples demonstrate concrete usage scenarios (simple, draft, scheduled, categorized, featured media, complete), which implicitly tells the agent when particular options apply. However, there is no guidance on when to choose this tool over wp_create_page or wp_update_post, no prerequisites, and no exclusions.

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

wp_create_tagC

Creates a new tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the tag.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Creates a new tag' implies a write/mutation operation, but provides no information about permissions required, whether the operation is idempotent, what happens on duplicate names, or what the response contains. For a creation tool with zero annotation coverage, this is insufficient behavioral context.

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

Conciseness5/5

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

The description is maximally concise - a single three-word sentence that communicates the core purpose without any wasted words. It's appropriately sized for a simple creation tool and front-loads the essential 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 creation/mutation tool with no annotations and no output schema, the description is incomplete. It doesn't address behavioral aspects like permissions, idempotency, error conditions, or response format. While the schema covers parameters well, the tool's operational context and expected outcomes remain undocumented.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters (site and name). The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 'Creates a new tag' clearly states the verb ('creates') and resource ('tag'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like wp_create_category or wp_create_post, which follow the same pattern for different WordPress entities.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when tag creation is appropriate compared to category creation, or what prerequisites might be needed (like authentication status). The only usage context comes from the schema's site parameter description, not the tool description itself.

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

wp_create_userC

Creates a new user.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
emailYesThe email address for the new user.
rolesNoAn array of roles to assign to the user.
passwordYesThe password for the new user.
usernameYesThe username for the new user.

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. 'Creates a new user' indicates a write/mutation operation but reveals nothing about permissions required, whether the operation is idempotent, what happens on duplicate usernames/emails, or what the response contains. For a user creation tool with significant security implications, this minimal description leaves critical behavioral aspects unspecified.

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 maximally concise at three words, with zero wasted language. It's front-loaded with the essential action and resource. Every word earns its place, making it immediately scannable and understandable without unnecessary elaboration.

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

Completeness2/5

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

Given this is a user creation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address authentication requirements, error conditions, return values, or security implications. The description should provide more context about what 'creating a user' entails in this WordPress context, especially since there's no structured output documentation.

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

Parameters3/5

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

The input schema has 100% description coverage, with each parameter well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description, which applies here.

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

Purpose4/5

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

The description clearly states the verb ('Creates') and resource ('new user'), making the purpose immediately understandable. It distinguishes itself from sibling tools like wp_update_user or wp_delete_user by specifying creation rather than modification or deletion. However, it doesn't explicitly differentiate from wp_create_application_password which also creates a user-related resource, so it doesn't reach the highest level of sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (like authentication requirements), when not to use it, or how it relates to similar tools like wp_update_user or wp_get_user. The agent must infer usage context entirely from the tool name and input schema.

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

wp_delete_application_passwordC

Revokes an existing application password.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
uuidYesThe UUID of the application password to revoke.
user_idYesThe ID of the user who owns the password.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'revokes' implies a destructive operation, it doesn't specify whether this action is reversible, what permissions are required, or what happens to applications using the password. No rate limits, error conditions, or confirmation behavior are mentioned.

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, focused sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately understandable without unnecessary elaboration.

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

Completeness2/5

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

For a destructive operation with no annotations and no output schema, the description is insufficient. It doesn't explain what 'revokes' entails operationally, what the expected outcome is, or any error scenarios. Given the complexity of application password management and the lack of structured behavioral information, 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 description coverage is 100%, so all parameters are documented in the schema. The description doesn't add any additional semantic context about the parameters beyond what's already in the schema descriptions. The baseline score of 3 reflects adequate but not enhanced parameter documentation.

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

Purpose4/5

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

The description clearly states the action ('revokes') and resource ('existing application password'), making the purpose immediately understandable. It doesn't explicitly distinguish from sibling tools like 'wp_delete_user' or 'wp_delete_post', but the specific resource type (application password) provides adequate differentiation.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites (like needing the user_id and uuid from 'wp_get_application_passwords'), nor does it clarify when revocation is appropriate versus creating new passwords or other user management operations.

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

wp_delete_categoryC

Deletes a category.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the category to delete.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

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. 'Deletes a category' implies a destructive mutation, but it doesn't disclose critical behavioral traits: whether deletion is permanent, what happens to associated posts, required permissions, error conditions, or rate limits. For a destructive tool with zero annotation coverage, this is a significant gap.

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

Conciseness4/5

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

The description is extremely concise ('Deletes a category.')—a single sentence with no wasted words. It's front-loaded with the core action, though it could benefit from additional context. The brevity is efficient but borders on under-specification.

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

Completeness2/5

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

Given the tool's complexity (destructive operation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects, usage context, or output expectations. For a deletion tool in a rich sibling set, this minimal description leaves too many gaps for effective agent use.

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

Parameters3/5

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

Schema description coverage is 100%, with clear documentation for both parameters (site and id). The description adds no parameter semantics beyond what the schema provides—it doesn't explain parameter relationships, constraints, or examples. With high schema coverage, the baseline 3 is appropriate as the description doesn't compensate but doesn't detract either.

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 'Deletes a category' clearly states the action (delete) and resource (category), but it's overly simplistic and doesn't differentiate from sibling deletion tools like wp_delete_post, wp_delete_comment, or wp_delete_tag. It specifies what it does but lacks the specificity needed for a 4 or 5 score.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing category ID), exclusions (e.g., cannot delete default categories), or related tools like wp_update_category or wp_list_categories. This leaves the agent without context for proper tool selection.

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

wp_delete_commentC

Deletes a comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the comment to delete.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
forceNoIf true, the comment will be permanently deleted. Defaults to false (moved to trash).

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'deletes' implies a destructive mutation, it doesn't specify important behavioral details: whether deletion requires specific permissions, what happens to associated data, if the action is reversible, or what the response looks like. The description adds minimal context beyond the basic action.

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

Conciseness5/5

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

The description is perfectly concise at just three words. It's front-loaded with the essential action and resource, with zero wasted words. Every element earns its place in this minimal but complete statement of function.

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

Completeness2/5

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

For a destructive mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address important contextual aspects: what permissions are needed, whether the action is reversible, what happens to the comment data, or what the tool returns. The combination of a destructive operation with minimal description creates significant gaps for an AI agent.

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

Parameters3/5

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

The input schema has 100% description coverage, providing complete documentation for all three parameters. The description adds no additional parameter information beyond what's already in the schema. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.

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

Purpose4/5

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

The description clearly states the action ('deletes') and resource ('a comment'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling deletion tools like wp_delete_category or wp_delete_post, which follow the same pattern but target different resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like wp_spam_comment or wp_update_comment that might be relevant alternatives, nor does it specify prerequisites such as needing comment deletion permissions or when deletion versus updating might be appropriate.

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

wp_delete_mediaC

Deletes a media item.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the media item to delete.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
forceNoIf true, permanently delete. If false, move to trash. Defaults to false.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose that this is a destructive operation, what permissions are required, whether deletion is reversible (via trash), rate limits, or what happens to associated files. The 'force' parameter in the schema hints at trash behavior, but the description doesn't explain this.

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, direct sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable and efficient.

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

Completeness2/5

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

For a destructive tool with no annotations and no output schema, the description is inadequate. It doesn't cover behavioral aspects like irreversibility, permissions, or response format. Given the complexity of a delete operation in WordPress (with trash functionality hinted in schema), 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 description coverage is 100%, so parameters are fully documented in the schema. The description adds no additional parameter context beyond what's in the schema (like explaining what a 'media item' ID refers to or site targeting logic). Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Deletes') and resource ('a media item'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like wp_delete_post or wp_delete_comment, which follow the same pattern for different resource 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 about when to use this tool versus alternatives. The description doesn't mention prerequisites, when deletion is appropriate, or how it relates to other deletion tools (like wp_delete_post for posts). The agent must infer usage from the tool name alone.

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

wp_delete_pageC

Deletes a page.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the page to delete.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
forceNoIf true, permanently delete. If false, move to trash. Defaults to false.

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. 'Deletes a page' implies a destructive mutation but doesn't specify whether this requires admin permissions, whether deletion is permanent or reversible, what happens to associated content, or what the response looks like. The description mentions nothing about error conditions, rate limits, or side effects beyond the basic action.

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 at just two words ('Deletes a page'), which efficiently communicates the core purpose without any wasted language. It's front-loaded with the essential information, though this brevity comes at the cost of missing important contextual 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?

For a destructive mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after deletion, what permissions are required, whether the action can be undone, or what the return value looks like. Given the complexity of a deletion operation in WordPress (with trash functionality, permissions, and potential side effects), the description should provide more complete context.

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

Parameters3/5

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

The input schema has 100% description coverage, with all three parameters (site, id, force) well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline of 3 where the schema does the heavy lifting for parameter documentation.

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

Purpose4/5

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

The description 'Deletes a page' clearly states the action (delete) and resource (page), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like wp_delete_post or wp_delete_media, which perform similar deletion operations on different resource 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. It doesn't mention when to choose wp_delete_page over wp_delete_post (for deleting posts instead of pages) or wp_delete_media (for deleting media files), nor does it discuss prerequisites like authentication or permissions needed for deletion operations.

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

wp_delete_postB

Deletes a WordPress post with options for trash or permanent deletion. Includes safety confirmations and detailed feedback on the deletion action.

Usage Examples: • Trash a post: wp_delete_post --id=123 (moves to trash) • Permanent deletion: wp_delete_post --id=123 --force=true • Bulk operations: Use multiple calls with different IDs

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the entire behavioral burden. It claims 'safety confirmations and detailed feedback' without saying what is confirmed or what feedback is returned, and says nothing about permissions, cascading effects on revisions/comments/media, or reversibility beyond trash. The vague reassurance is close to filler rather than 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 opening sentence is well front-loaded, but the bulk of the text is CLI examples that mirror a command-line interface the MCP tool does not expose. The formatting is clean, yet a large share of the content does not earn its place against the actual schema.

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

Completeness3/5

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

For a destructive operation with no annotations and no output schema, the description covers the trash/permanent axis but omits what data is destroyed alongside the post, any permission requirements, and the meaning of the only real parameter. It is minimum viable, not 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?

The schema has exactly one parameter ('site', 100% documented), yet the description presents CLI-style flags (`--id=123`, `--force=true`) that do not exist in the schema. An agent could try to pass id/force based on this text, making the description actively misleading about the call surface rather than additive.

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

Purpose5/5

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

States a specific verb+resource ('Deletes a WordPress post') and immediately distinguishes itself from the sibling wp_delete_page by naming the entity type. The trash vs. permanent distinction further sharpens what this tool does.

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 usage examples give concrete conditions: default behavior trashes, `--force=true` permanently deletes, and bulk means multiple calls. However, it never states when to prefer trashing over permanent deletion or any preconditions, so an agent gets context but not decision criteria.

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

wp_delete_tagC

Deletes a tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the tag to delete.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Deletes' implies a destructive mutation, it doesn't specify whether this is permanent, requires admin permissions, affects associated posts, or what happens on success/failure. This leaves critical behavioral traits undocumented.

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

Conciseness5/5

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

The description is maximally concise with just three words, front-loading the essential action and resource. There's zero wasted language, making it immediately scannable and efficient.

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

Completeness2/5

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

For a destructive mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after deletion, error conditions, or provide context about the WordPress tag system. The agent must infer too much from minimal information.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters well-documented in the schema. The description adds no additional parameter information beyond what's already in the structured fields, meeting the baseline expectation when schema coverage is complete.

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

Purpose4/5

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

The description clearly states the action ('Deletes') and resource ('a tag'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like wp_delete_category or wp_delete_post, which follow the same pattern but target different resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (like needing tag ID from wp_get_tag or wp_list_tags), nor does it warn about irreversible deletion or suggest when wp_update_tag might be more appropriate.

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

wp_delete_userC

Deletes a user.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the user to delete.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
reassignNoThe ID of a user to reassign the deleted user's content to.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. 'Deletes a user' implies a destructive, irreversible mutation, but it doesn't disclose critical behavioral traits: whether deletion is permanent, what happens to user content (hinted by 'reassign' parameter but not explained), authentication requirements, error conditions, or rate limits. This is inadequate for a destructive tool with zero annotation coverage.

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

Conciseness5/5

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

The description is extremely concise—just three words—and front-loaded with the core action. There's zero wasted text, making it easy to parse quickly, though this conciseness comes at the cost of completeness in other dimensions.

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

Completeness2/5

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

Given this is a destructive mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain the impact of deletion, what 'reassign' does in practice, potential side effects, or what the tool returns (e.g., success/failure). For such a high-stakes operation, more context is needed to use it safely and effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all three parameters (site, id, reassign) with clear descriptions. The description adds no parameter information beyond what's in the schema, which is acceptable given the high coverage—baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Deletes') and resource ('a user'), making the purpose immediately understandable. However, it doesn't differentiate from sibling deletion tools like wp_delete_category, wp_delete_comment, etc., which all follow the same 'Deletes a [resource]' pattern, so it lacks sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., user must exist), exclusions (e.g., cannot delete current user), or related tools like wp_get_user for verification or wp_update_user for modification instead of deletion.

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

wp_get_application_passwordsC

Lists application passwords for a specific user.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
user_idYesThe ID of the user to get application passwords for.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't specify permissions required (e.g., admin access), rate limits, pagination, error conditions, or output format. For a tool accessing sensitive data like passwords, this lack of detail is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, clear sentence with zero wasted words. It's front-loaded with the core action ('Lists application passwords') and specifies the target ('for a specific user'). No extraneous information or redundancy is present, making it highly 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 tool's complexity (accessing sensitive user data), lack of annotations, and no output schema, the description is insufficiently complete. It doesn't cover behavioral aspects like authentication needs, data sensitivity, error handling, or return format. For a tool with no structured safety or output guidance, the description should provide more context to ensure safe and effective use.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters (site and user_id) well-documented in the schema. The description adds no additional parameter semantics beyond what's in the schema (e.g., no examples, format details, or constraints). According to guidelines, with high schema coverage, the baseline is 3 even without param info in the description.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('Lists') and resource ('application passwords for a specific user'). It distinguishes from sibling tools like wp_create_application_password and wp_delete_application_password by focusing on retrieval rather than creation or deletion. However, it doesn't explicitly differentiate from other list tools like wp_list_users or wp_list_posts, which slightly limits sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., user must exist), exclusions (e.g., cannot list passwords for non-existent users), or comparisons to other tools (e.g., wp_get_user for general user info vs. this for passwords). This leaves the agent without contextual usage cues.

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

wp_get_auth_statusB

Gets the current authentication status for a configured WordPress site.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

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 carries the full burden of behavioral disclosure. While it indicates this is a read operation ('Gets'), it doesn't specify what information the authentication status includes, whether it requires specific permissions, what happens when authentication fails, or what the response format looks like. For a tool that checks system state with zero annotation coverage, this leaves significant behavioral questions unanswered.

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

Conciseness5/5

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

The description is a single, efficient sentence that immediately communicates the tool's purpose without unnecessary words. It's appropriately sized for a simple status-checking tool and front-loads the 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?

For a simple status-checking tool with one well-documented parameter and no output schema, the description is minimally adequate. However, without annotations or output schema, it should ideally provide more context about what 'authentication status' includes and what the response looks like. The description meets basic requirements but leaves room for improvement given the lack of structured behavioral information.

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

Parameters3/5

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

The schema description coverage is 100%, with the single parameter 'site' already well-documented in the schema. The description doesn't add any additional parameter information beyond what's in the schema. With high schema coverage and only one parameter, the baseline score of 3 is appropriate - the schema does the heavy lifting for parameter documentation.

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

Purpose4/5

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

The description clearly states the action ('Gets') and the resource ('current authentication status for a configured WordPress site'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this from sibling tools like 'wp_test_auth' or 'wp_switch_auth_method', which also relate to authentication functionality.

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 context ('for a configured WordPress site'), but doesn't provide explicit guidance on when to use this tool versus alternatives like 'wp_test_auth' or 'wp_switch_auth_method'. There's no mention of prerequisites, typical use cases, or when this tool would be preferred over other authentication-related tools.

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

wp_get_categoryB

Retrieves a single category by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier for the category.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic operation. It doesn't disclose behavioral aspects like authentication requirements, error handling, rate limits, or what happens if the ID doesn't exist. For a read operation with zero annotation coverage, this is insufficient.

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

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose and appropriately sized for a simple retrieval tool.

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

Completeness3/5

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

For a simple read operation with good schema coverage but no annotations or output schema, the description is minimally adequate. It states what the tool does but lacks important context about authentication, error cases, and relationship to sibling tools that would make it more complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description doesn't add any parameter semantics beyond what's in the schema, which is acceptable given the comprehensive schema documentation.

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

Purpose4/5

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

The description clearly states the action ('retrieves') and resource ('a single category'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this from sibling tools like 'wp_list_categories' or 'wp_get_post', which would require a 5.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'wp_list_categories' for multiple categories or other 'wp_get_*' tools for different resources. The description only states what it does, not 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.

wp_get_commentB

Retrieves a single comment by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier for the comment.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states it 'retrieves' (implying read-only), but doesn't clarify authentication requirements, rate limits, error handling (e.g., what happens if ID doesn't exist), or response format. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves beyond its 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, clear sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately understandable. Every word earns its place by conveying essential information without redundancy.

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

Completeness3/5

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

Given the tool's low complexity (simple retrieval), high schema coverage (100%), and lack of output schema, the description is minimally adequate. It covers the basic 'what' but misses behavioral context (especially with no annotations) and usage guidance. For a read operation in a crowded sibling set, more context would help the agent use it appropriately.

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

Parameters3/5

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

Schema description coverage is 100%, with both parameters (site and id) well-documented in the schema. The description adds no additional parameter semantics beyond what the schema already provides—it doesn't explain ID format, site configuration details, or parameter interactions. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('Retrieves') and resource ('a single comment by its ID'), making the purpose specific and unambiguous. It distinguishes from sibling tools like wp_list_comments (which lists multiple comments) and wp_create_comment (which creates comments). However, it doesn't explicitly mention the WordPress context or differentiate from other 'get' tools like wp_get_post.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose wp_get_comment over wp_list_comments for single vs. multiple comments, or when to use it in relation to wp_update_comment or wp_delete_comment. There's no context about prerequisites, error conditions, or typical workflows.

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

wp_get_current_userA

Retrieves the currently authenticated user with comprehensive profile information including roles, capabilities, and account details.

Usage Examples: • Get current user: wp_get_current_user • Check permissions: Use this to verify your current user's capabilities and roles • Account verification: Confirm you're authenticated with the correct account • Profile details: View registration date, email, and user metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It clearly indicates this is a read operation ('Retrieves') and specifies what information is returned (profile, roles, capabilities, account details). However, it doesn't mention authentication requirements, error conditions, or rate limits that would be important for a tool accessing user data.

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

Conciseness4/5

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

The description is well-structured with a clear purpose statement followed by bulleted usage examples. Every sentence earns its place by providing specific guidance. It could be slightly more concise by integrating the examples more tightly with the main description.

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

Completeness4/5

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

For a read-only tool with no output schema and no annotations, the description provides good coverage of purpose, usage, and return information. It explains what data is returned (profile, roles, capabilities, account details) which compensates for the missing output schema. The main gap is lack of behavioral details like authentication requirements.

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

Parameters4/5

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

The schema has 100% description coverage for its single optional parameter, so the baseline is 3. The description doesn't mention parameters directly, but the usage examples imply no parameters are needed for basic use ('Get current user: wp_get_current_user'), which adds context about when the optional 'site' parameter is required (only for multi-site configurations).

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

Purpose5/5

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

The description clearly states the specific action ('Retrieves') and resource ('the currently authenticated user') with detailed scope ('comprehensive profile information including roles, capabilities, and account details'). It distinguishes from sibling tools like wp_get_user (which retrieves a specific user) by focusing on the current authenticated user context.

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

Usage Guidelines5/5

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

The description provides explicit usage examples that clarify when to use this tool: for getting current user info, checking permissions, account verification, and viewing profile details. It implicitly distinguishes from alternatives like wp_get_user (which requires a user ID) by focusing on the authenticated context without needing parameters.

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

wp_get_mediaB

Retrieves a single media item by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier for the media item.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

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 carries the full burden of behavioral disclosure. It states the tool retrieves data (implying read-only), but doesn't mention authentication requirements, rate limits, error handling, or what happens if the ID doesn't exist. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, clear sentence that efficiently conveys the core purpose without unnecessary words. It's front-loaded with the essential information and has zero wasted content, making it easy to parse quickly.

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

Completeness3/5

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

Given the tool's low complexity (simple retrieval), high schema coverage, and lack of output schema, the description is minimally adequate. However, it doesn't address behavioral aspects like authentication or error handling, which would be helpful for a tool with no annotations. It meets basic needs but leaves room for improvement.

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

Parameters3/5

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

The schema description coverage is 100%, with both parameters ('site' and 'id') well-documented in the schema. The description doesn't add any meaningful parameter semantics beyond what's already in the schema (e.g., it doesn't clarify ID format or site selection logic). Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('retrieves') and resource ('a single media item by its ID'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'wp_list_media' (which lists multiple items) or 'wp_get_post' (which retrieves a different resource type), missing full sibling differentiation.

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

Usage Guidelines3/5

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

The description implies usage context (when you need a specific media item by ID) but doesn't provide explicit guidance on when to use this versus alternatives like 'wp_list_media' for browsing or 'wp_update_media' for modifications. No exclusions or prerequisites are mentioned, leaving usage somewhat open to interpretation.

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

wp_get_pageC

Retrieves a single page by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier for the page.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and 'Retrieves' only weakly implies a safe read. It omits what happens for an invalid or missing ID, whether authentication is required, and how the 'site' targeting behaves when multiple sites are configured.

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

Conciseness4/5

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

A single front-loaded sentence with zero filler; the verb and lookup key come first. It is efficient, though its terseness is closer to under-specification than to disciplined brevity.

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

Completeness3/5

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

For a simple two-parameter read tool with full schema coverage this is minimally adequate, but with no annotations and no output schema the agent still lacks any sense of the returned page shape or failure behavior, which the description could have supplied in one clause.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters (id, site) are documented in the schema, so the schema does the heavy lifting. The description only restates the ID lookup ('by its ID') and adds nothing about the site parameter's fallback behavior, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb (retrieves) and resource (a single page) plus the lookup key (ID), so an agent immediately knows this is a point-read rather than a list. However, it offers no differentiation from adjacent siblings such as wp_get_page_revisions, wp_list_pages, or wp_get_post, which an agent could plausibly confuse it with.

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

Usage Guidelines2/5

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

The description gives no when-to-use context: it does not say to call wp_list_pages first to discover an ID, nor when to prefer wp_get_page_revisions over this tool. Nothing is said about prerequisites or exclusions, leaving routing entirely to inference from the name.

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

wp_get_page_revisionsC

Retrieves revisions for a specific page.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the page to get revisions for.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves data, implying a read-only operation, but doesn't specify authentication needs, rate limits, error conditions, or the format of returned revisions. This leaves significant behavioral aspects undocumented.

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, clear sentence with no wasted words. It's front-loaded with the core purpose, making it efficient and easy to parse, which is ideal for 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 the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., revision details, format), potential side effects, or error handling. For a retrieval tool with no structured output documentation, this leaves critical context gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters ('site' and 'id'). The description adds no additional parameter semantics beyond what's in the schema, such as format examples or constraints, meeting the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the action ('Retrieves') and resource ('revisions for a specific page'), making the purpose understandable. However, it doesn't differentiate from the sibling tool 'wp_get_post_revisions' which appears to serve a similar function for posts rather than pages, leaving some ambiguity about sibling distinction.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites, context, or comparisons to sibling tools like 'wp_get_post_revisions' or 'wp_get_page', leaving the agent to infer usage scenarios independently.

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

wp_get_postB

Retrieves detailed information about a single post including metadata, content statistics, and management links.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full behavioral burden. It usefully discloses the shape of the return payload (metadata, content statistics, management links), which substitutes for the missing output schema, but says nothing about read-only safety, required capabilities, or behavior when the post ID is invalid or 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?

A single front-loaded sentence with verb and resource first and no wasted clauses. The trailing 'including ...' enumeration is justified because no output schema exists, though it is slightly list-like.

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

Completeness4/5

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

For a single-parameter read tool with a fully documented schema and no annotations, the description covers the essentials and even compensates for the absent output schema by naming what is returned. Missing only minor details such as error behavior for unknown post IDs.

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

Parameters3/5

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

Only one parameter (`site`), and schema description coverage is 100%, with the schema explaining the multi-site targeting rule. The description adds no parameter context, which is acceptable here since nothing is undocumented, but it earns no credit above the baseline.

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

Purpose4/5

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

State a specific verb+resource ('Retrieves ... a single post') and enumerates the payload (metadata, content statistics, management links), which sets it apart from list-style siblings like wp_list_posts. It does not explicitly name the sibling alternatives (wp_get_post_revisions, wp_list_posts), so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance at all: no statement of when to call this versus wp_list_posts for browsing or wp_get_post_revisions for revision history, no prerequisites, and no exclusions. The agent must infer the retrieval use case from the name alone.

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

wp_get_post_revisionsA

Retrieves the revision history for a specific post, including details about changes, dates, and authors for content management and auditing purposes.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses what the response contains (changes, dates, authors) and implies a read-only operation via 'Retrieves,' but says nothing about permissions, pagination, result limits, or whether revisions are returned in full. Partial disclosure.

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

Conciseness4/5

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

A single front-loaded sentence with the core action first. The trailing 'for content management and auditing purposes' is mild filler that doesn't earn its place, but overall the structure is efficient.

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

Completeness4/5

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

A simple read-only tool with one schema-documented parameter and no output schema. The description covers the resource, the return contents, and the purpose, which is close to adequate for this complexity, though it omits pagination/scope behavior.

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

Parameters3/5

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

Only one parameter (site), and schema description coverage is 100%, so the schema already documents it fully. The description adds no meaning about the site parameter or how multi-site targeting behaves. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb and resource: 'Retrieves the revision history for a specific post.' The noun 'post' distinguishes it from wp_get_page_revisions, but the description never explicitly acknowledges that sibling to sharpen the boundary. Clear purpose, no explicit sibling differentiation.

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

Usage Guidelines3/5

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

The trailing clause 'for content management and auditing purposes' implies a usage context but gives no when-to-use guidance, prerequisites, or alternatives to consider (e.g. wp_get_page_revisions for pages). Usage is only implied.

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

wp_get_site_settingsB

Retrieves the general settings for a WordPress site.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states this is a retrieval operation but doesn't mention authentication requirements, rate limits, error conditions, or what format the settings are returned in. For a read operation with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that gets straight to the point with no wasted words. It's appropriately sized for a simple retrieval tool and front-loads the 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?

For a simple read operation with one optional parameter and no output schema, the description is minimally adequate. However, with no annotations and no output schema, it should ideally provide more context about what 'general settings' includes and the return format. The description meets basic requirements but leaves the agent guessing about the output structure.

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

Parameters3/5

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

The description adds no parameter information beyond what's already in the schema (which has 100% coverage). The schema fully documents the single optional 'site' parameter with its purpose and requirement condition. The description doesn't provide additional context about parameter usage or semantics.

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

Purpose4/5

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

The description clearly states the verb ('Retrieves') and resource ('general settings for a WordPress site'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like wp_update_site_settings, but the verb 'retrieves' vs 'updates' provides implicit distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There's no mention of when this tool is appropriate versus other settings-related tools or what prerequisites might be needed. The agent must infer usage from the tool name alone.

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

wp_get_tagB

Retrieves a single tag by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier for the tag.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the tool retrieves data (implying read-only), but doesn't disclose authentication requirements, error handling, rate limits, or what happens if the tag doesn't exist. For a read operation with no annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a simple retrieval tool and front-loads the 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?

For a simple read operation with 100% schema coverage but no annotations or output schema, the description is minimally adequate. It states what the tool does but lacks behavioral context and usage guidance. The absence of output schema means the description should ideally mention return format, but it doesn't.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain tag ID format or site configuration details). Baseline 3 is appropriate when schema does all the work.

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

Purpose4/5

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

The description clearly states the action ('retrieves') and resource ('a single tag'), making the purpose immediately understandable. It specifies retrieval by ID, which distinguishes it from list operations. However, it doesn't explicitly differentiate from sibling tools like wp_get_category or wp_get_post that follow the same pattern.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention wp_list_tags for listing multiple tags, nor does it explain prerequisites like authentication or site configuration. Usage context is implied but not articulated.

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

wp_get_userB

Retrieves a single user by their ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe unique identifier for the user.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'retrieves' implies a read-only operation, it doesn't specify authentication requirements, rate limits, error responses, or what happens when the user ID doesn't exist. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence that states the core functionality without unnecessary words. It's front-loaded with the main action and resource, making it immediately understandable. Every word earns its place in this minimal but complete statement of purpose.

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 retrieval tool with good schema coverage but no annotations or output schema, the description is adequate but has clear gaps. It covers the basic purpose but lacks behavioral context, usage guidance, and information about return values. Given the tool's relative simplicity among siblings, this represents a minimum viable description.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. It mentions 'by their ID' which aligns with the 'id' parameter but provides no extra context about parameter relationships or usage examples.

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

Purpose4/5

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

The description clearly states the action ('retrieves') and resource ('a single user'), making the purpose immediately understandable. It specifies retrieval by ID, which distinguishes it from list operations like wp_list_users. However, it doesn't explicitly differentiate from wp_get_current_user which also retrieves user data but without requiring an ID 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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention wp_list_users for listing multiple users, wp_get_current_user for getting the authenticated user, or wp_update_user for modifying user data. There's no context about prerequisites, authentication requirements, or error conditions.

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

wp_list_categoriesC

Lists categories from a WordPress site.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
searchNoLimit results to those matching a search term.
hide_emptyNoWhether to hide categories with no posts.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It states it 'lists categories' which implies a read-only operation, but doesn't mention pagination behavior, rate limits, authentication requirements, error conditions, or what the output format looks like. For a tool with no annotation coverage, this is inadequate.

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, clear sentence with zero wasted words. It's appropriately sized for a simple list operation and front-loads the core purpose immediately. 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?

Given the lack of annotations and output schema, the description is incomplete. For a list operation with three parameters, it should at minimum mention typical use cases, output format expectations, or behavioral constraints. The description provides only the bare minimum purpose statement without addressing the tool's operational context.

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

Parameters3/5

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

The schema description coverage is 100%, so all parameters are documented in the schema itself. The description doesn't add any parameter semantics beyond what's already in the schema descriptions. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

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

Purpose4/5

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

The description clearly states the verb ('Lists') and resource ('categories from a WordPress site'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling list tools like wp_list_posts or wp_list_tags, though the resource specificity provides some implicit distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There's no mention of when to choose wp_list_categories over wp_get_category (for single category retrieval) or wp_search_site (for broader searching), nor any context about prerequisites 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.

wp_list_commentsB

Lists comments from a WordPress site, with filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
postNoLimit results to comments assigned to a specific post ID.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
statusNoFilter by comment status.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions 'with filters' but doesn't disclose key behavioral traits such as pagination, rate limits, authentication requirements, or what happens if no filters are applied (e.g., returns all comments). For a list operation with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose ('Lists comments from a WordPress site') and adds a useful qualifier ('with filters'). There is zero waste or redundancy, making it appropriately sized for its function.

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

Completeness3/5

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

Given the tool's moderate complexity (list operation with filters), no annotations, and no output schema, the description is minimally adequate. It states what the tool does but lacks details on behavior, output format, or error handling. For a tool with 3 parameters and no structured safety hints, it should provide more context to be fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, meaning the input schema already documents all three parameters (site, post, status) with clear descriptions. The description adds no additional meaning beyond implying filtering exists, which is already covered by the schema. Baseline 3 is appropriate when the schema does the heavy lifting, but no extra value is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious 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 ('Lists') and resource ('comments from a WordPress site'), and specifies the action includes filters. It distinguishes itself from siblings like wp_get_comment (which retrieves a single comment) and wp_create_comment (which creates comments). However, it doesn't explicitly differentiate from wp_approve_comment or wp_spam_comment, which are also comment-related but perform different actions.

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 context through 'with filters,' suggesting it's for retrieving multiple comments with optional filtering. However, it lacks explicit guidance on when to use this tool versus alternatives like wp_get_comment (for single comments) or wp_search_site (for broader searches). No exclusions or prerequisites are mentioned, leaving usage somewhat open-ended.

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

wp_list_mediaB

Lists media items from a WordPress site, with filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
searchNoLimit results to those matching a search term.
per_pageNoNumber of items to return per page (max 100).
media_typeNoLimit results to a specific media type.

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 carries the full burden of behavioral disclosure. It mentions filtering but doesn't specify pagination behavior (e.g., default page, total count), rate limits, authentication requirements, or error handling. For a list operation with potential complexity, this leaves significant gaps in understanding how the tool behaves beyond basic functionality.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core purpose ('Lists media items from a WordPress site') and adds a key feature ('with filters') without any wasted words. It's appropriately sized for a straightforward list tool, making it easy to parse quickly.

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

Completeness3/5

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

Given the tool's moderate complexity (list operation with 4 optional parameters) and lack of annotations and output schema, the description is minimally adequate. It covers the basic purpose but misses details like return format (e.g., array of objects, pagination metadata), error cases, or performance considerations, which would be helpful for an agent to use it effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all four parameters (site, per_page, search, media_type). The description adds no additional meaning beyond 'with filters,' which is already implied by the parameter names. This meets the baseline of 3, as the schema does the heavy lifting, but the description doesn't enhance parameter understanding.

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

Purpose4/5

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

The description clearly states the verb ('Lists') and resource ('media items from a WordPress site'), making the purpose unambiguous. It distinguishes itself from sibling tools like wp_get_media (which likely retrieves a single item) and wp_delete_media by focusing on listing with filtering. However, it doesn't explicitly differentiate from wp_search_site, which might overlap in search functionality.

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 through 'with filters,' suggesting it's for retrieving multiple media items with optional filtering, but provides no explicit guidance on when to use this versus alternatives like wp_get_media (for single items) or wp_search_site (for broader site searches). No when-not-to-use scenarios or prerequisites are mentioned, leaving usage context partially inferred.

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

wp_list_pagesB

Lists pages from a WordPress site, with filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
searchNoLimit results to those matching a search term.
statusNoFilter by page status.
per_pageNoNumber of items to return per page (max 100).

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Lists' implies a read-only operation, the description doesn't mention important behavioral aspects like pagination behavior (implied by 'per_page' parameter but not explained), authentication requirements, rate limits, or what happens when filters return no results. For a tool with 4 parameters and no annotation coverage, this is insufficient.

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

Conciseness5/5

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

The description is a single, efficient sentence that communicates the core functionality without waste. It's appropriately sized for a listing tool and front-loads the essential information. Every word earns its place in this compact description.

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

Completeness3/5

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

Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description is adequate but has clear gaps. It covers the basic purpose but lacks behavioral context and usage guidance. The 100% schema coverage helps compensate, but for a listing tool that likely returns structured data, more context about the return format would be helpful since there's no output schema.

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

Parameters3/5

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

The schema description coverage is 100%, meaning all parameters are well-documented in the input schema itself. The description adds minimal value beyond the schema by mentioning 'with filters' which aligns with the search and status parameters. However, it doesn't provide additional context about parameter interactions or usage patterns that aren't already in the 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 ('Lists') and resource ('pages from a WordPress site'), making the purpose immediately understandable. It also mentions 'with filters' which adds specificity about functionality. However, it doesn't explicitly differentiate from sibling tools like wp_list_posts or wp_list_media, which would require a 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There are multiple listing tools in the sibling set (wp_list_categories, wp_list_comments, wp_list_media, wp_list_posts, wp_list_tags, wp_list_users), but the description doesn't help an agent choose between them. No context about prerequisites or exclusions is provided.

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

wp_list_postsB

Lists posts from a WordPress site with comprehensive filtering options. Supports search, status filtering, and category/tag filtering with enhanced metadata display.

Usage Examples: • Basic listing: wp_list_posts • Search posts: wp_list_posts --search="AI trends" • Filter by status: wp_list_posts --status="draft" • Category filtering: wp_list_posts --categories=[1,2,3] • Paginated results: wp_list_posts --per_page=20 --page=2 • Combined filters: wp_list_posts --search="WordPress" --status="publish" --per_page=10

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. 'Lists' implies a non-destructive read and the examples reveal pagination (--per_page/--page), but defaults (page size, sort order), rate limits, and required permissions are unstated. 'Enhanced metadata display' is an unexplained trait that adds little actionable 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 leading sentence front-loads purpose and scope, and the examples are terse and scannable. Six example lines is slightly more inventory than needed for a single-parameter tool, but nothing is padded prose.

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 list tool with no output schema, the description should at minimum convey result shape and pagination defaults; it conveys neither, and it describes filter parameters the schema does not expose. The description is serviceable but leaves an agent with an incomplete and partially inconsistent picture of the call surface.

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

Parameters3/5

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

Schema coverage is 100% for the single exposed parameter (site), so the baseline is 3. The risk here is the opposite of a gap: the examples advertise --search, --status, --categories, --per_page and --page flags that do not appear anywhere in the input schema, which could lead an agent to pass parameters the schema rejects.

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

Purpose4/5

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

States a specific verb and resource ('Lists posts from a WordPress site') and enumerates the filtering dimensions (search, status, category/tag). It never names the sibling it is contrasted with (e.g., wp_get_post for a single post, wp_list_pages for pages), so an agent must infer the boundary from the resource name alone.

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

Usage Guidelines3/5

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

The six usage examples clearly show how to invoke the tool for search, status, category and pagination cases, which is genuinely useful. However, there is no statement of when to prefer this tool over wp_search_site, wp_get_post, or wp_list_pages, and no prerequisites (auth, site configuration) are mentioned.

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

wp_list_tagsC

Lists tags from a WordPress site.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
searchNoLimit results to those matching a search term.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states it 'lists' tags but doesn't describe return format (e.g., array of objects with id/name), pagination behavior, authentication requirements, rate limits, or error conditions. This is inadequate for a tool with zero annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple list operation and front-loads the core purpose immediately.

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

Completeness2/5

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

For a read operation with no annotations and no output schema, the description is insufficient. It doesn't explain what data is returned, how results are formatted, or any behavioral constraints. While the schema covers inputs well, the overall context for agent usage is incomplete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents both parameters (site and search). The description adds no parameter-specific information beyond what's in the schema, meeting the baseline expectation when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb ('Lists') and resource ('tags from a WordPress site'), making the purpose immediately understandable. It doesn't explicitly distinguish from sibling tools like 'wp_list_categories' or 'wp_list_posts', but the resource specificity is adequate for basic understanding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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. There's no mention of sibling list tools (e.g., wp_list_categories, wp_list_posts) or search tools (e.g., wp_search_site), nor any context about prerequisites 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.

wp_list_usersA

Lists users from a WordPress site with comprehensive filtering and detailed user information including roles, registration dates, and activity status.

Usage Examples: • List all users: wp_list_users • Search users: wp_list_users --search="john" • Filter by role: wp_list_users --roles=["editor","author"] • Find admins: wp_list_users --roles=["administrator"] • Combined search: wp_list_users --search="smith" --roles=["subscriber"]

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
rolesNoLimit results to users with specific roles.
searchNoLimit results to those matching a search term.

TDQS

A3.7/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 'lists users with comprehensive filtering and detailed information.' It doesn't disclose behavioral traits like whether this is a read-only operation (implied but not stated), pagination behavior, rate limits, authentication requirements, or what happens with large result sets. For a list 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.

Conciseness5/5

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

The description is appropriately sized and front-loaded: the first sentence clearly states the purpose, followed by well-organized usage examples that demonstrate practical applications. Every sentence earns its place by illustrating different parameter combinations.

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 3 parameters with 100% schema coverage but no annotations and no output schema, the description is adequate for basic usage but incomplete. It doesn't address what the return format looks like (list structure, fields included), pagination, error conditions, or performance considerations for a list operation that could return many users.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents all 3 parameters. The description adds minimal value beyond what's in the schema - it mentions filtering capabilities generally and provides usage examples that illustrate parameter combinations, but doesn't add semantic meaning beyond the schema's parameter descriptions.

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

Purpose5/5

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

The description clearly states the tool's purpose with specific verb ('Lists') and resource ('users from a WordPress site'), plus it distinguishes from siblings by specifying 'comprehensive filtering and detailed user information' which differentiates it from wp_get_user (singular) and wp_search_site (broader search).

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

Usage Guidelines4/5

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

The description provides clear context through usage examples showing when to use the tool (searching, filtering by role, combined queries), but doesn't explicitly state when NOT to use it or mention alternatives like wp_search_site for broader searches or wp_get_user for single user retrieval.

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

wp_performance_alertsC

Get performance alerts and anomaly detection results

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSpecific site ID for multi-site setups (optional for single site)
limitNoMaximum number of alerts to return (default: 20)
categoryNoFilter alerts by category (performance, cache, system, wordpress)
severityNoFilter alerts by severity level (info, warning, error, critical)
includeAnomaliesNoInclude detected anomalies (default: true)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read-only operation, the description doesn't specify whether this requires authentication, has rate limits, returns paginated results, or what format the output takes. For a tool with 5 parameters and no output schema, this lack of behavioral context is a significant gap.

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

Conciseness5/5

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

The description is extremely concise—a single sentence with no wasted words. It's front-loaded with the core purpose ('Get performance alerts and anomaly detection results'), making it easy to parse. Every word earns its place, and there's no redundancy or unnecessary elaboration.

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

Completeness2/5

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

Given the tool's complexity (5 parameters, no output schema, no annotations), the description is incomplete. It doesn't address what the tool returns, how results are structured, or any behavioral traits like error handling. For a data retrieval tool with filtering options, more context is needed to help the agent understand the output and usage nuances.

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

Parameters3/5

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

The input schema has 100% description coverage, so all parameters are documented in the schema itself. The description doesn't add any meaning beyond what's in the schema—it doesn't explain parameter interactions, default behaviors, or provide examples. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Get performance alerts and anomaly detection results'. It specifies the verb ('Get') and resource ('performance alerts and anomaly detection results'), making the function unambiguous. However, it doesn't distinguish this tool from its sibling performance tools like 'wp_performance_stats' or 'wp_performance_history', which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools related to performance (e.g., 'wp_performance_stats', 'wp_performance_history'), there's no indication of whether this tool is for real-time alerts, historical data, or specific use cases. The absence of any context or exclusions leaves the agent without usage direction.

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

wp_performance_benchmarkB

Compare current performance against industry benchmarks

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSpecific site ID for multi-site setups (optional for single site)
categoryNoBenchmark category (response_time, cache_performance, error_rate, system_resources, all)
includeRecommendationsNoInclude improvement recommendations (default: true)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool compares performance against benchmarks but doesn't describe what data is compared, how benchmarks are sourced, whether it's a read-only operation, potential rate limits, or the format of results. For a tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, clear sentence: 'Compare current performance against industry benchmarks.' It is front-loaded with the core purpose, has zero wasted words, and is appropriately sized for the tool's complexity. Every word earns its place by conveying essential information efficiently.

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

Completeness3/5

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

Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is minimally adequate. It states the purpose but lacks details on behavior, usage context, or result format. With schema coverage at 100%, parameters are documented, but the description doesn't compensate for missing annotations or output schema, leaving gaps in overall completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters (site, category, includeRecommendations) with descriptions. The tool description adds no additional meaning beyond the schema, such as explaining the significance of categories or how recommendations are generated. Baseline 3 is appropriate when the schema handles parameter documentation effectively.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Compare current performance against industry benchmarks.' It specifies the verb 'compare' and the resource 'current performance' against 'industry benchmarks.' However, it doesn't explicitly differentiate from sibling tools like wp_performance_stats or wp_performance_history, which might also involve performance data but serve different functions.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for benchmarking, or how it differs from sibling tools such as wp_performance_stats (which might show stats without comparison) or wp_performance_optimize (which might suggest improvements). This lack of comparative context leaves usage ambiguous.

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

wp_performance_exportC

Export comprehensive performance report

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSpecific site ID for multi-site setups (optional for single site)
formatNoExport format (json, csv, summary)
timeRangeNoTime range for data export (1h, 6h, 24h, 7d, 30d)
includeAnalyticsNoInclude analytics and insights (default: true)
includeHistoricalNoInclude historical data (default: true)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Export' implies data retrieval rather than mutation, but the description doesn't specify whether this is a read-only operation, what permissions are required, whether it's resource-intensive, or what the output looks like (file download, data stream, etc.). For a performance export tool with 5 parameters and no annotation coverage, this leaves significant behavioral questions unanswered.

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 at just 3 words, with zero wasted language. It's front-loaded with the core action and resource, making it immediately understandable. Every word ('Export', 'comprehensive', 'performance report') contributes essential meaning without redundancy or unnecessary elaboration.

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

Completeness2/5

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

Given the tool's complexity (5 parameters, performance domain) and absence of both annotations and output schema, the description is insufficient. It doesn't explain what a 'comprehensive performance report' contains, how it differs from simpler performance tools, what format the export takes, or what happens after invocation. For a data export tool with multiple configuration options, users need more context about the output and behavioral characteristics.

Complex tools with many parameters or behaviors need more documentation. Simple tools 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 no parameter-specific information beyond what's already in the schema, which has 100% coverage. While the schema thoroughly documents all 5 parameters with descriptions, enums (implied for format and timeRange), and defaults, the description doesn't provide additional context about parameter interactions, typical combinations, or semantic meaning beyond the schema. This meets the baseline for high schema coverage but doesn't add value.

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

Purpose4/5

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

The description 'Export comprehensive performance report' clearly states the action (export) and resource (performance report), with 'comprehensive' providing some scope indication. It distinguishes from siblings like wp_performance_stats or wp_performance_history by focusing on export rather than retrieval or monitoring. However, it doesn't explicitly differentiate from wp_performance_benchmark or wp_performance_alerts, which could also involve performance data.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose this export tool over wp_performance_stats for quick metrics, wp_performance_history for trend data, or wp_performance_benchmark for comparative analysis. There's no context about prerequisites, timing considerations, or typical use cases for exporting performance reports.

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

wp_performance_historyC

Get historical performance data and trends

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSpecific site ID for multi-site setups (optional for single site)
metricsNoSpecific metrics to include (responseTime, cacheHitRate, errorRate, memoryUsage, requestVolume)
timeframeNoTime period for historical data (1h, 6h, 12h, 24h, 7d)
includeTrendsNoInclude trend analysis (default: true)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. 'Get historical performance data and trends' implies a read-only operation but doesn't disclose important behavioral traits: whether authentication is required, rate limits, data freshness, format of returned data (e.g., time-series), or what 'trends' specifically entails. For a tool with 4 parameters and no output schema, this leaves significant gaps.

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

Conciseness5/5

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

The description is a single, efficient sentence: 'Get historical performance data and trends.' It's front-loaded with the core purpose, has zero wasted words, and appropriately sized for a tool with clear parameters documented elsewhere.

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 annotations, and no output schema, the description is incomplete. It doesn't explain what 'historical performance data' includes (e.g., aggregated metrics, raw logs), how trends are calculated, or the format of returned data. For a tool that likely returns complex time-series data, this leaves the agent guessing about output structure and usage.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly with descriptions and constraints (e.g., timeframe options, metrics list). The description adds no additional parameter semantics beyond what's in the schema, maintaining the baseline score of 3 where the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Get historical performance data and trends' specifies the verb ('Get') and resource ('historical performance data and trends'). It distinguishes from most sibling tools (which are CRUD operations for content, users, etc.) but doesn't explicitly differentiate from other performance-related siblings like wp_performance_stats or wp_performance_alerts.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like wp_performance_stats (which might provide current stats) or wp_performance_alerts (which might focus on alert conditions), nor does it specify prerequisites or appropriate contexts for retrieving historical data versus other performance metrics.

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

wp_performance_optimizeC

Get optimization recommendations and insights

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSpecific site ID for multi-site setups (optional for single site)
focusNoOptimization focus area (speed, reliability, efficiency, scaling)
priorityNoImplementation timeline (quick_wins, medium_term, long_term, all)
includeROINoInclude ROI estimates (default: true)
includePredictionsNoInclude performance predictions (default: true)

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. 'Get' implies a read-only operation, but it doesn't disclose whether this requires specific permissions, has rate limits, or what the output format looks like (e.g., list of recommendations, structured data). The description lacks behavioral context beyond the basic 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?

The description is a single, efficient sentence with no wasted words. It's appropriately sized for a tool with good schema coverage, though it could be more front-loaded with specific context (e.g., 'WordPress performance optimization recommendations').

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

Completeness2/5

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

For a tool with 5 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what the tool returns (e.g., list of actionable items, scores, predictions) or how results are structured. Given the complexity and lack of structured data, more behavioral and output 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 description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds no additional meaning about parameters beyond what's in the schema (e.g., it doesn't explain how 'focus' values affect recommendations or what 'includeROI' entails). Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose3/5

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

The description 'Get optimization recommendations and insights' states the general purpose (retrieving recommendations) but is vague about scope and resource. It doesn't specify what type of optimization (WordPress performance) or distinguish from sibling tools like wp_performance_stats or wp_performance_benchmark, which could also provide performance-related data.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. While the description implies it's for optimization recommendations, it doesn't specify when to choose this over wp_performance_stats (which might show metrics) or wp_performance_alerts (which might identify issues). 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.

wp_performance_statsC

Get real-time performance statistics and metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoSpecific site ID for multi-site setups (optional for single site)
formatNoDetail level of the response (summary, detailed, raw)
categoryNoCategory of metrics to return (overview, requests, cache, system, tools, all)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Get' implies a read operation, it doesn't specify whether this requires authentication, has rate limits, returns real-time versus cached data, or what format the statistics come in. The description is too minimal for a tool that presumably accesses system metrics.

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 at just 6 words, with no wasted language. It's front-loaded with the core purpose and doesn't include any unnecessary elaboration or repetition.

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 performance statistics tool with no annotations and no output schema, the description is insufficient. It doesn't explain what types of statistics are returned, whether the data is real-time or historical, what authentication is required, or how this differs from other performance tools. The minimal description leaves too many contextual gaps.

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

Parameters3/5

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

The schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional parameter information beyond what's in the schema, which meets the baseline expectation when schema coverage is complete.

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

Purpose4/5

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

The description clearly states the tool's purpose with a specific verb ('Get') and resource ('real-time performance statistics and metrics'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate itself from sibling performance tools like wp_performance_alerts, wp_performance_benchmark, or wp_performance_history, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling performance tools available (performance_alerts, benchmark, export, history, optimize), there's no indication of what distinguishes this statistics tool from those others or when each should be selected.

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

wp_search_siteB

Performs a site-wide search for content across posts, pages, and media with comprehensive results and metadata.

Usage Examples: • Search everything: wp_search_site --term="WordPress" • Search posts only: wp_search_site --term="tutorial" --type="posts" • Search pages: wp_search_site --term="about" --type="pages" • Search media: wp_search_site --term="logo" --type="media" • Find specific content: wp_search_site --term="contact form"

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
termYesThe search term to look for.
typeNoThe type of content to search.

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions 'comprehensive results and metadata,' which hints at output behavior, but fails to disclose critical traits like whether this is a read-only operation, potential rate limits, authentication needs, or error handling. For a search tool with zero annotation coverage, this leaves significant gaps in behavioral understanding.

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

Conciseness4/5

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

The description is well-structured with a clear purpose statement followed by usage examples. It's appropriately sized and front-loaded, though the examples could be more concise. Every sentence serves a purpose, but there's slight redundancy in the examples that could be trimmed.

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

Completeness3/5

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

Given the tool's moderate complexity (search with 3 parameters), no annotations, and no output schema, the description is partially complete. It covers the basic purpose and usage but lacks details on output format, error cases, or performance considerations. It's adequate for a simple search tool but could be more comprehensive.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters (site, term, type) with clear descriptions. The description adds minimal value beyond the schema, as it only reiterates parameter usage in examples without providing additional syntax or format details. This meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the tool performs 'site-wide search for content across posts, pages, and media with comprehensive results and metadata,' which specifies the verb (search) and resources (posts, pages, media). It distinguishes itself from sibling tools like wp_list_posts or wp_list_pages by focusing on search functionality rather than listing, though it doesn't explicitly contrast with all siblings.

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

Usage Guidelines3/5

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

The description includes usage examples that imply when to use this tool (e.g., for searching posts, pages, or media), but it lacks explicit guidance on when to choose this over alternatives like wp_list_posts or wp_seo_keyword_research. The examples provide context but no clear 'when-not' or alternative tool recommendations.

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

wp_seo_analyze_contentC

Analyze WordPress post content for SEO optimization opportunities including readability, keyword density, structure, and technical factors

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a read-only analysis but never states that nothing is modified, whether authentication or SEO plugin integration is required, or whether the operation is rate-limited or expensive across a whole site.

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

Conciseness4/5

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

A single front-loaded sentence with no filler, and the analyzed dimensions are listed compactly. It is appropriately sized, though it stops short of being information-dense enough for a 5.

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

Completeness2/5

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

With no output schema and no annotations, the description should explain what the analysis returns and, critically, how the content to analyze is identified — the sole parameter is a site ID, not a post ID, leaving it ambiguous whether it scans a single post, a set of posts, or the whole site. That ambiguity is a real obstacle to correct invocation.

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

Parameters3/5

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

Only one parameter exists and schema description coverage is 100%, so the schema already documents the site ID fully. The description adds nothing about how the target content is selected, which is the real semantic gap. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb (Analyze) and resource (WordPress post content) and enumerates the analysis dimensions (readability, keyword density, structure, technical factors). This distinguishes it from the generation-oriented siblings like wp_seo_generate_metadata, but the description never names those siblings or explicitly contrasts itself with them.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as wp_seo_site_audit or wp_seo_generate_metadata. The agent must infer from the name alone that this is the diagnostic step rather than the fix step.

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

wp_seo_bulk_update_metadataC

Update SEO metadata for multiple posts with progress tracking and error handling

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

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 mentions progress tracking and error handling, which are useful behavioral hints, but doesn't disclose permissions required, whether updates are reversible, rate limits, or the return format. For a bulk mutation tool with zero annotation coverage, this is a significant gap.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the core action and includes key behavioral traits without any waste.

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

Completeness2/5

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

Given the tool is a bulk mutation operation for SEO metadata, the description is incomplete. It lacks essential details such as required permissions, what metadata fields can be updated, how to specify the posts, and what the progress tracking and error handling entail. No output schema exists to compensate.

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

Parameters3/5

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

Schema coverage is 100%, so the single parameter (site) is fully documented in the schema. The description adds no parameter-specific information, which is acceptable when the schema already covers it. Baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb (Update) and resource (SEO metadata) with scope (multiple posts). It's clear what the tool does, though it doesn't explicitly distinguish itself from siblings like wp_seo_generate_metadata or wp_update_post.

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

Usage Guidelines2/5

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

No when-to-use guidance or alternatives are mentioned. The agent must infer that this is for bulk updates rather than single-post updates, and there's no indication of how it differs from wp_seo_generate_metadata or wp_update_post.

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

wp_seo_generate_metadataC

Generate SEO-optimized metadata including title tags, meta descriptions, OpenGraph, and Twitter Card data

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose whether generated metadata is persisted to the site, whether it overwrites existing metadata, what permissions are required, or what the return value looks like. 'Generate' is ambiguous: it could return suggestions or mutate stored content.

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

Conciseness5/5

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

The description is a single efficient sentence with zero filler, and the core capability is front-loaded. It does not bury the action or include redundant restatements.

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

Completeness2/5

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

Given that there are no annotations, no output schema, and a complex sibling landscape, the description is too thin. It lacks usage context, behavioral disclosure, and any routing information against similarly named SEO tools, leaving the agent under-informed for correct invocation.

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

Parameters3/5

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

The single parameter 'site' has 100% schema description coverage, so the schema itself explains its purpose and conditional requirement. The description adds no parameter meaning beyond the schema, which yields a baseline score of 3 when schema coverage is high.

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

Purpose4/5

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

The description states a specific verb and resource ('Generate SEO-optimized metadata') and lists the produced artifacts (title tags, meta descriptions, OpenGraph, Twitter Card data). However, it does not distinguish itself from the sibling tool wp_seo_bulk_update_metadata, leaving ambiguity about when each applies.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as wp_seo_bulk_update_metadata, wp_seo_analyze_content, or wp_seo_site_audit. The description provides only a static capability statement with no contextual triggers or exclusions.

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

wp_seo_generate_schemaC

Generate JSON-LD structured data schema for enhanced search results

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not say whether the generated schema is persisted to the site or merely returned, whether an SEO plugin/API key is required, or whether generation depends on existing content, all of which matter for a tool whose name contains 'generate'.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is efficient, though its brevity is partly the source of the gaps elsewhere.

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

Completeness3/5

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

For a one-parameter tool with no output schema and no annotations, the description is minimally adequate but incomplete: it never clarifies the return value (JSON-LD payload vs. confirmation of a write) or the dependency on a configured SEO plugin. This is the main ambiguity an agent would face.

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

Parameters3/5

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

Schema coverage is 100% and the single 'site' parameter is fully documented in the schema, including its config-file origin and multi-site requirement. The description adds nothing about parameters, which is acceptable here since the schema does the work.

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

Purpose4/5

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

The description pairs a specific verb ('Generate') with a specific artifact ('JSON-LD structured data schema') and states the outcome ('enhanced search results'). It stops short of distinguishing this tool from siblings like wp_seo_validate_schema or wp_seo_generate_metadata, so the boundary between generating and validating schema is left to inference.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of the closely related siblings wp_seo_validate_schema and wp_seo_generate_metadata. An agent cannot tell from the description whether it should run this before or after validation, or how it relates to metadata generation.

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

wp_seo_get_live_dataC

Retrieve live SEO data from WordPress including plugin-specific metadata and configurations

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It doesn't disclose whether the call is read-only, whether it triggers network requests to plugins, latency expectations, auth requirements, or what 'live' implies operationally.

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

Conciseness4/5

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

One compact sentence with the verb and scope front-loaded; no waste. It is terse but appropriately sized for a simple getter.

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

Completeness2/5

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

For an SEO data retrieval tool surrounded by many SEO siblings, the description omits what data is returned, which plugins are involved, and how it relates to siblings. With no annotations and no output schema, more context is needed to call it confidently.

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

Parameters3/5

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

Schema coverage is 100% and the single 'site' parameter is fully documented in the schema, so the description adds no parameter meaning beyond it. Baseline 3 applies when the schema does the work.

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

Purpose3/5

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

States a verb and resource ('Retrieve live SEO data from WordPress') plus scope ('plugin-specific metadata and configurations'). But it doesn't distinguish this tool from SEO siblings like wp_seo_site_audit, wp_seo_analyze_content, or wp_seo_test_integration, leaving ambiguity about what 'live data' means versus those alternatives.

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

Usage Guidelines2/5

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

No indication of when to use this tool versus the many other SEO tools (site audit, content analysis, SERP tracking, integration test). No prerequisites or exclusions are given, so the agent must guess from the name alone.

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

wp_seo_keyword_researchC

Research keywords and get suggestions based on topic and competition analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full disclosure burden, and it says almost nothing behavioral: it does not indicate whether external APIs are called, whether results are cached or persisted, whether the operation is read-only, or what happens without a configured site.

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

Conciseness4/5

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

A single compact sentence with the action front-loaded and no filler. It is well sized, though its brevity is partly the cause of the missing detail elsewhere.

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

Completeness2/5

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

A keyword-research tool with only a 'site' parameter and no output schema leaves the central question unanswered: how the topic or competition criteria are supplied. Without annotations or an output schema to fall back on, the description is not sufficient for confident 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 100% for the single 'site' parameter, so the baseline would be 3, but the description actively implies a 'topic' input that does not exist in the schema, which can mislead the agent about how to supply research criteria. The description adds no usable semantics for the site parameter.

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

Purpose3/5

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

The description names a recognizable activity (keyword research and suggestions) and mentions the basis (topic and competition analysis), but it does not differentiate from nearby SEO siblings such as wp_seo_analyze_content or wp_seo_track_serp, and it references a 'topic' input that the schema does not expose.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus the other SEO tools in the suite, no prerequisites, and no exclusions. The agent must infer placement from the name alone.

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

wp_seo_site_auditC

Perform comprehensive SEO audit of the WordPress site including technical, content, and performance analysis

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the audit's subject areas, but says nothing about whether it is read-only or triggers changes, how long a comprehensive audit takes, whether it is rate-limited or expensive, or what authentication it requires. For a site-wide audit these are material omissions.

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

Conciseness5/5

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

A single, front-loaded sentence with the verb and scope stated immediately and no filler. Nothing in it is redundant or wasteful.

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

Completeness2/5

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

With no annotations, no output schema, and no description of the return value or audit duration, an agent cannot predict what this call produces or how costly it is. The scope areas are named but the operational picture for a heavyweight audit tool is incomplete.

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

Parameters3/5

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

The single 'site' parameter is fully documented in the schema (100% coverage), including the config-file source and the multi-site requirement. The description adds no parameter information beyond the schema, which is the expected baseline when schema coverage is high.

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

Purpose4/5

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

States a specific verb and resource ('Perform comprehensive SEO audit of the WordPress site') and scopes the work to technical, content, and performance analysis. This clearly distinguishes it from narrower siblings like wp_seo_analyze_content (single-content analysis) or wp_seo_get_live_data, though it never explicitly names those alternatives.

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

Usage Guidelines2/5

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

There is no guidance on when to run this versus wp_seo_analyze_content, wp_seo_test_integration, or wp_performance_stats. No prerequisites, no note on how often it should be invoked, and no indication of any site/auth conditions that affect usage.

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

wp_seo_test_integrationC

Test SEO plugin integration and detect available SEO plugins on the WordPress site

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full behavioral disclosure burden. It doesn't state what 'test' entails (e.g., read-only detection vs. making changes), whether authentication is required, what happens if no SEO plugin is found, or the nature of the test results.

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

Conciseness4/5

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

The description is a single, efficient sentence with no wasted words. It is front-loaded with the primary action and secondary detection 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?

With no annotations, no output schema, and only a brief description, the tool definition is incomplete for an agent to call it correctly. It lacks details on what the test does, what it returns, and under what conditions it should be invoked relative to other SEO tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the single 'site' parameter is fully documented in the schema. The description adds no additional meaning about the parameter beyond what the schema provides, which is the baseline expectation when schema coverage is high.

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

Purpose4/5

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

The description states a clear dual purpose: test SEO plugin integration and detect available SEO plugins. It's a specific verb+resource, though it doesn't explicitly differentiate itself from related SEO siblings like wp_seo_get_live_data or wp_seo_site_audit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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 doesn't say whether to call it before or after SEO operations, or what triggers its use. The implied usage is diagnostic, but no conditions or exclusions are provided.

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

wp_seo_track_serpC

Track search engine result page positions for target keywords

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and falls short. It does not say whether tracking is a read or a persistent write, whether it requires an API key or configured SEO integration, how often rankings are refreshed, or what rate limits apply.

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

Conciseness5/5

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

A single, front-loaded clause with no filler or redundancy. Nothing needs trimming.

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

Completeness2/5

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

For a tool with no annotations and no output schema, the description should explain how keyword targets are specified and what the tracking result conveys. Instead it names keywords that appear nowhere in the schema, leaving a material gap.

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 100% for the single 'site' parameter, but the description introduces 'target keywords' as the operative input while no keyword parameter exists in the schema. That mismatch leaves the agent unsure how keywords are even supplied, which is worse than a neutral baseline.

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

Purpose4/5

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

States a specific verb and resource: 'Track search engine result page positions'. This is clearly distinguishable from sibling SEO tools like wp_seo_keyword_research or wp_seo_analyze_content, which serve different purposes. It does not, however, explicitly name which sibling it is not.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus the many other SEO siblings (wp_seo_keyword_research, wp_seo_get_live_data, wp_seo_site_audit). No prerequisites, cadence, or exclusions are stated.

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

wp_seo_validate_schemaC

Validate JSON-LD schema markup for correctness and compliance

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, yet it discloses none of what validation means: whether it is read-only, what scope (whole site vs single page) it inspects, what checks run, or whether it mutates or fixes anything. It only restates the operation implied by the name.

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

Conciseness4/5

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

A single efficient sentence with the operation front-loaded and no filler. It is terse to the point of being under-informative for a validation tool, but structurally clean.

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 validation tool with no annotations and no output schema, the description should explain what is validated and what the agent gets back (e.g., per-item errors, pass/fail). None of that is present, so an agent cannot anticipate the result or the validation scope.

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

Parameters3/5

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

Schema description coverage is 100%, so the single 'site' parameter is already fully documented in the schema, including the multi-site requirement. The description adds no additional parameter meaning, which is the expected baseline when the schema does the work.

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

Purpose4/5

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

States a specific verb (validate) and resource (JSON-LD schema markup) plus the qualities checked (correctness/compliance). It reads clearly against sibling wp_seo_generate_schema, though it never explicitly contrasts validate vs generate.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, prerequisites, or alternative tool is mentioned. The only implied guidance is from the name itself, which suggests post-generation validation, but nothing in the text states it.

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

wp_spam_commentC

Marks a comment as spam.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the comment to mark as spam.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While 'marks as spam' implies a mutation (changing comment status), it doesn't disclose whether this requires admin permissions, whether the action is reversible, what happens to the comment after marking (e.g., moved to spam folder vs deleted), or any rate limits. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral context.

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

Conciseness5/5

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

The description is a single, clear sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately understandable. Every word earns its place in conveying the essential 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?

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address what happens after marking as spam, whether there are permission requirements, what the response looks like, or how this differs from other comment management tools. Given the complexity of a write operation and the rich sibling toolset, more context is needed for the agent to use this tool effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters (site and id). The description doesn't add any parameter semantics beyond what's in the schema - it doesn't explain comment ID format, site ID requirements, or provide examples. With complete schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't need to.

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

Purpose4/5

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

The description clearly states the action ('marks as spam') and resource ('a comment'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like wp_approve_comment or wp_delete_comment, which would require a 5, but the verb 'marks as spam' is specific enough to indicate this is a moderation action rather than deletion or approval.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives like wp_delete_comment or wp_approve_comment. The description doesn't mention prerequisites, consequences, or typical scenarios for marking comments as spam versus other actions. This leaves the agent without context for choosing between sibling comment management tools.

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

wp_switch_auth_methodC

Switches the authentication method for a site for the current session.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
methodYesThe new authentication method to use.
passwordNoThe Application Password for 'app-password' or password for 'basic' auth.
usernameNoThe username for 'app-password' or 'basic' authentication.
jwt_tokenNoThe token for 'jwt' authentication.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but provides minimal behavioral context. It mentions 'for the current session', implying temporary changes, but doesn't cover critical aspects like required permissions, whether changes persist, error conditions, or what happens to existing auth tokens. For a security-sensitive tool, this is inadequate.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and includes a useful scope qualifier ('for the current session'). 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 that modifies authentication (a security-critical operation) with no annotations and no output schema, the description is incomplete. It lacks details on behavioral impact, success/failure responses, and how it interacts with sibling auth tools. The conciseness comes at the cost of necessary context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds no additional parameter semantics beyond implying the 'method' parameter is required (matching schema). Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('switches') and resource ('authentication method for a site'), with the scope 'for the current session' adding specificity. It doesn't explicitly differentiate from sibling tools like 'wp_test_auth' or 'wp_get_auth_status', but the purpose is unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing to test auth first), exclusions, or compare to sibling tools like 'wp_test_auth' for validation or 'wp_get_auth_status' for checking current state.

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

wp_test_authA

Tests the authentication and connectivity for a configured WordPress site with detailed connection diagnostics.

Usage Examples: • Test connection: wp_test_auth • Multi-site test: wp_test_auth --site="my-site" • Verify setup: Use this after configuring new credentials • Troubleshoot: Run when experiencing connection issues • Health check: Regular verification of WordPress connectivity

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

A4.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'detailed connection diagnostics' which hints at what the tool returns, but doesn't specify the format, whether it's read-only, what permissions are required, or any rate limits. The description adequately conveys it's a diagnostic/testing tool but lacks comprehensive 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.

Conciseness5/5

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

The description is well-structured and appropriately sized. It starts with a clear purpose statement, then provides organized usage examples in bullet points. Every sentence earns its place by offering specific guidance without redundancy. The bullet points are front-loaded with the most common use cases.

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 diagnostic tool with one parameter (100% schema coverage) and no output schema, the description provides good contextual completeness. It explains the tool's purpose, when to use it, and includes practical examples. However, without annotations or output schema, it could benefit from more detail about what the diagnostics actually return.

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

Parameters4/5

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

The schema has 100% description coverage for its single parameter, so the baseline is 3. The description adds value by providing usage examples that show when the 'site' parameter is needed ('Multi-site test: wp_test_auth --site="my-site"') and clarifying it's required for multi-site configurations, which enhances understanding beyond the schema's technical description.

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: 'Tests the authentication and connectivity for a configured WordPress site with detailed connection diagnostics.' It uses specific verbs ('tests', 'diagnostics') and distinguishes itself from siblings like wp_get_auth_status by emphasizing testing and diagnostics rather than just retrieving status.

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

Usage Guidelines5/5

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

The description provides explicit usage guidelines with five bullet points covering when to use this tool: after configuring new credentials, when experiencing connection issues, for regular health checks, and with examples for single-site and multi-site testing. It clearly differentiates from other tools by focusing on authentication testing rather than content management or performance monitoring.

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

wp_update_categoryC

Updates an existing category.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the category to update.
nameNoThe new name for the category.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

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 states 'Updates an existing category' which implies a mutation operation, but doesn't disclose behavioral traits like required permissions, whether changes are reversible, error handling, or what happens to unspecified fields. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single sentence with zero wasted words. It's appropriately sized for a simple update operation and front-loads the essential information. Every word earns its place in this minimal but complete statement of 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?

Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the update operation returns, what permissions are needed, or potential side effects. The agent must rely entirely on the input schema and tool name to understand this tool's behavior, which is insufficient for safe invocation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters (site, id, name) with good descriptions. The tool description adds no parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

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 'Updates an existing category' clearly states the action (update) and resource (category), but it's vague about what specific aspects can be updated. It distinguishes from sibling tools like wp_create_category (create vs update) but doesn't differentiate from other update tools like wp_update_post or wp_update_tag beyond the resource type.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., needing an existing category ID), when not to use it, or how it compares to related tools like wp_create_category or wp_delete_category. The agent must infer usage from the tool name alone.

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

wp_update_commentC

Updates an existing comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the comment to update.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
statusNoThe new status for the comment.
contentNoThe updated content for the comment.

TDQS

C2.7/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 the action ('Updates') without behavioral details. It doesn't mention authentication requirements, permission levels needed, whether changes are reversible, error conditions, or what the tool returns. For a mutation tool with zero annotation coverage, this is inadequate.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple update operation and gets straight to the point without unnecessary elaboration.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens on success/failure, what permissions are required, or how it differs from related comment modification tools. Given the complexity of updating a database record and the lack of structured behavioral information, 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 description coverage is 100%, so the schema already documents all four parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. According to guidelines, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

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

Purpose3/5

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

The description states the verb ('Updates') and resource ('an existing comment'), making the basic purpose clear. However, it lacks specificity about what fields can be updated and doesn't differentiate from sibling tools like wp_spam_comment or wp_approve_comment that also modify comment status. The description is functional but minimal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps 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. For example, it doesn't mention wp_approve_comment or wp_spam_comment for specific status changes, or wp_get_comment for checking current state before updating. The description offers no context about prerequisites 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.

wp_update_mediaC

Updates the metadata of an existing media item.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the media item to update.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
titleNoThe new title for the media item.
captionNoThe new caption.
alt_textNoThe new alternative text.
descriptionNoThe new description.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Updates' implies a mutation operation, the description lacks critical details: it doesn't specify required permissions (e.g., editor/admin roles), whether changes are reversible, if partial updates are allowed, or what happens on failure. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. Every word earns its place, and there's no redundancy or 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 tool's complexity (mutation operation with 6 parameters) and lack of both annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like permissions, side effects, or error handling, nor does it explain the return value. For a tool that modifies data, this leaves critical gaps for the agent to operate safely and effectively.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all 6 parameters (site, id, title, alt_text, caption, description) with clear descriptions. The description adds no additional parameter semantics beyond what's in the schema, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('Updates') and resource ('metadata of an existing media item'), making the purpose unambiguous. It distinguishes itself from sibling tools like wp_delete_media, wp_get_media, and wp_upload_media by specifying it's for updating metadata rather than deletion, retrieval, or creation. However, it doesn't explicitly differentiate from wp_update_post or wp_update_page, which are also update operations on different resources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing media ID), contrast with wp_upload_media for new media, or explain when to choose this over wp_update_post for media attached to posts. Without such context, the agent must infer usage from the tool name and schema alone.

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

wp_update_pageC

Updates an existing page.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the page to update.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
titleNoThe new title for the page.
statusNoThe new status for the page.
contentNoThe new content for the page, in HTML format.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Updates an existing page' implies a mutation operation, but it doesn't specify required permissions, whether changes are reversible, potential side effects (e.g., affecting revisions), or rate limits. This is inadequate for a mutation tool with zero annotation coverage.

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

Conciseness5/5

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

The description 'Updates an existing page' is a single, efficient sentence that is front-loaded with the core purpose. There is zero waste or redundancy, making it highly concise and well-structured for quick comprehension.

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

Completeness2/5

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

For a mutation tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It lacks behavioral context (e.g., permissions, side effects), usage guidelines, and details on return values, leaving significant gaps for an AI agent to operate safely and effectively.

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

Parameters3/5

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

Schema description coverage is 100%, with all 5 parameters well-documented in the schema (e.g., 'id' as the page ID, 'content' as HTML). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 where the schema does the heavy lifting.

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

Purpose4/5

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

The description 'Updates an existing page' clearly states the action (update) and resource (page), which is specific and unambiguous. However, it doesn't differentiate from sibling tools like wp_update_post or wp_update_category, which follow the same pattern for different resource types, so it misses full sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing page ID), exclusions, or comparisons to tools like wp_create_page or wp_delete_page, leaving the agent to infer usage from context alone.

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

wp_update_postB

Updates an existing WordPress post with comprehensive validation and change tracking. All parameters except ID are optional - only provided fields will be updated.

Usage Examples: • Update title: wp_update_post --id=123 --title="New Title" • Update content: wp_update_post --id=123 --content="<p>Updated content</p>" • Change status: wp_update_post --id=123 --status="publish" • Update categories: wp_update_post --id=123 --categories=[1,5,10] • Set featured image: wp_update_post --id=123 --featured_media=42 • Remove featured image: wp_update_post --id=123 --featured_media=0 • Multiple updates: wp_update_post --id=123 --title="New Title" --status="publish" --categories=[1,2]

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

B3.1/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 the behavioral disclosure burden. It usefully explains that all fields except ID are optional and only provided fields are updated, and it shows how to remove a featured image. But it does not describe permissions, side effects, validation specifics, change-tracking behavior, or what happens on failure.

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

Conciseness3/5

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

The description is front-loaded with its core purpose and uses clear headings and bullets. However, it is verbose for a tool whose schema contains only one parameter, and the six CLI-style usage examples become repetitive rather than informative.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description should explain permissions, side effects, validation outcomes, and return behavior. It gives some update semantics and examples, but omits these critical details and does not match the actual input schema.

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 exposes only one parameter, 'site', and it is fully documented in the schema. The description does not mention 'site' at all, yet it discusses many parameters (id, title, content, status, categories, featured_media) that are absent from the schema. This mismatch is misleading rather than value-adding.

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 opens with a specific verb and resource: 'Updates an existing WordPress post.' This distinguishes it from sibling tools like wp_update_page or wp_create_post by resource and 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?

The description provides usage examples and explains that only provided fields are updated, which implies how to use the tool. However, it never states when to choose this tool over alternatives such as wp_update_page, wp_create_post, or wp_delete_post, nor does it list prerequisites or exclusions.

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

wp_update_site_settingsC

Updates one or more general settings for a WordPress site.

ParametersJSON Schema
NameRequiredDescriptionDefault
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
titleNoThe title of the site.
timezoneNoA city in the same timezone, e.g., 'America/New_York'.
descriptionNoThe tagline or description of the site.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'Updates' which implies a write/mutation operation, but doesn't cover critical aspects like required permissions, whether changes are reversible, error handling, or side effects. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

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, clear sentence that directly states the tool's purpose without any fluff or redundancy. It's front-loaded with the core action and target, making it highly efficient. Every word earns its place, achieving optimal conciseness for this context.

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

Completeness2/5

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

Given that this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't address behavioral traits like permissions or side effects, usage guidelines relative to siblings, or what the tool returns. For a tool that modifies site settings, more context is needed to ensure safe and effective use by an agent.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all four parameters (site, title, description, timezone). The description adds no additional parameter semantics beyond what's in the schema—it doesn't explain relationships between parameters, default behaviors, or constraints. This meets the baseline of 3 since the schema does the heavy lifting, but the description doesn't enhance parameter understanding.

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

Purpose4/5

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

The description clearly states the action ('Updates') and the target ('general settings for a WordPress site'), making the purpose immediately understandable. It distinguishes itself from siblings like wp_update_category or wp_update_user by specifying 'general settings' rather than specific content types. However, it doesn't explicitly contrast with wp_get_site_settings (the read counterpart), which slightly limits differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention wp_get_site_settings for reading settings, prerequisites like authentication, or constraints such as which settings can be updated. Without this context, an agent must infer usage from the tool name alone, which is insufficient for optimal selection.

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

wp_update_tagC

Updates an existing tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the tag to update.
nameNoThe new name for the tag.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'Updates an existing tag' which implies a mutation operation, but doesn't disclose behavioral traits like required permissions, whether changes are reversible, error handling (e.g., if the tag doesn't exist), or what the response contains. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it immediately clear. Every word earns its place, and there's no redundancy or unnecessary elaboration.

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 (a mutation tool with no annotations and no output schema), the description is incomplete. It lacks behavioral context (e.g., permissions, side effects), usage guidance, and any mention of return values. While the schema covers parameters well, the description doesn't compensate for the missing annotation and output information, leaving gaps for an AI agent.

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

Parameters3/5

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

Schema description coverage is 100%, with all three parameters ('site', 'id', 'name') well-documented in the schema. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain parameter interactions or constraints). Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('Updates') and target resource ('an existing tag'), which is specific and unambiguous. It distinguishes this from creation tools like 'wp_create_tag' by specifying 'existing', though it doesn't explicitly differentiate from other update tools like 'wp_update_category' or 'wp_update_post' beyond the resource type.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing the tag ID), contrast with sibling tools (e.g., 'wp_update_category' for categories), or specify scenarios where this is appropriate versus creating a new tag. Usage is implied by the name but not explained.

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

wp_update_userC

Updates an existing user.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the user to update.
nameNoThe new display name for the user.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
emailNoThe new email address for the user.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. 'Updates an existing user' implies a mutation operation but doesn't disclose what permissions are required, whether changes are reversible, what happens to partial updates, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral transparency.

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

Conciseness5/5

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

The description is maximally concise - a single sentence with zero wasted words. It's front-loaded with the core purpose immediately clear. Every word earns its place, making it easy for an AI agent to parse quickly.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens on success/failure, what permissions are needed, whether email changes trigger notifications, or how partial updates are handled. Given the complexity of user updates and the lack of structured metadata, the description should provide more operational context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description adds no parameter information beyond what's in the schema - it doesn't explain parameter relationships, constraints, or usage patterns. Baseline 3 is appropriate when the schema does all the parameter documentation work.

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

Purpose4/5

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

The description clearly states the verb ('Updates') and resource ('an existing user'), making the purpose immediately understandable. It distinguishes from sibling wp_create_user by specifying 'existing' rather than new creation. However, it doesn't specify what fields can be updated beyond what's in the schema.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like wp_create_user or wp_delete_user. It doesn't mention prerequisites, error conditions, or typical use cases. The only implicit guidance is that it's for existing users, but no explicit when/when-not statements are provided.

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

wp_upload_mediaC

Uploads a file to the WordPress media library.

ParametersJSON Schema
NameRequiredDescriptionDefault
postNoThe ID of a post to attach this media to.
siteNoThe ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.
titleNoThe title for the media item.
captionNoThe caption for the media item.
alt_textNoAlternative text for the media item (for accessibility).
file_pathYesThe local, absolute path to the file to upload.
descriptionNoThe description for the media item.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Uploads' implies a write operation, it lacks critical details: whether authentication is required, what permissions are needed, if there are file size or format restrictions, how errors are handled, or what the return value contains. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse quickly—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 mutation tool with 7 parameters and no annotations or output schema, the description is incomplete. It doesn't address behavioral aspects like authentication needs, error handling, or return values, nor does it provide usage guidance relative to siblings. The high schema coverage helps with parameters, but other critical 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?

Schema description coverage is 100%, so the schema already fully documents all 7 parameters with clear descriptions. The tool description adds no additional parameter information beyond what's in the schema, but since the schema does the heavy lifting, the baseline score of 3 is appropriate—adequate but not adding value.

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

Purpose4/5

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

The description clearly states the action ('Uploads') and target resource ('a file to the WordPress media library'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'wp_update_media' or 'wp_get_media', but the verb 'Uploads' suggests creation rather than modification or retrieval, providing some implicit distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'wp_update_media' for modifying existing media or 'wp_get_media' for retrieval. It also doesn't mention prerequisites such as authentication requirements or file format limitations, leaving the agent with insufficient context for optimal tool selection.

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. 70 tool updatesv2.9.2
    • First observedwp_approve_comment
    • First observedwp_cache_clear
    • First observedwp_cache_info
    • First observedwp_cache_stats
    • First observedwp_cache_warm
    • First observedwp_create_application_password
    • First observedwp_create_category
    • First observedwp_create_comment
    • First observedwp_create_page
    • First observedwp_create_post
    • First observedwp_create_tag
    • First observedwp_create_user
    • First observedwp_delete_application_password
    • First observedwp_delete_category
    • First observedwp_delete_comment
    • First observedwp_delete_media
    • First observedwp_delete_page
    • First observedwp_delete_post
    • First observedwp_delete_tag
    • First observedwp_delete_user
    • First observedwp_get_application_passwords
    • First observedwp_get_auth_status
    • First observedwp_get_category
    • First observedwp_get_comment
    • First observedwp_get_current_user
    • First observedwp_get_media
    • First observedwp_get_page
    • First observedwp_get_page_revisions
    • First observedwp_get_post
    • First observedwp_get_post_revisions
    • First observedwp_get_site_settings
    • First observedwp_get_tag
    • First observedwp_get_user
    • First observedwp_list_categories
    • First observedwp_list_comments
    • First observedwp_list_media
    • First observedwp_list_pages
    • First observedwp_list_posts
    • First observedwp_list_tags
    • First observedwp_list_users
    • First observedwp_performance_alerts
    • First observedwp_performance_benchmark
    • First observedwp_performance_export
    • First observedwp_performance_history
    • First observedwp_performance_optimize
    • First observedwp_performance_stats
    • First observedwp_search_site
    • First observedwp_seo_analyze_content
    • First observedwp_seo_bulk_update_metadata
    • First observedwp_seo_generate_metadata
    • First observedwp_seo_generate_schema
    • First observedwp_seo_get_live_data
    • First observedwp_seo_keyword_research
    • First observedwp_seo_site_audit
    • First observedwp_seo_suggest_internal_links
    • First observedwp_seo_test_integration
    • First observedwp_seo_track_serp
    • First observedwp_seo_validate_schema
    • First observedwp_spam_comment
    • First observedwp_switch_auth_method
    • First observedwp_test_auth
    • First observedwp_update_category
    • First observedwp_update_comment
    • First observedwp_update_media
    • First observedwp_update_page
    • First observedwp_update_post
    • First observedwp_update_site_settings
    • First observedwp_update_tag
    • First observedwp_update_user
    • First observedwp_upload_media

TDQS

B3/5.0

Scored across 70 tools

Disambiguation4/5

Each tool targets a distinct resource+action (posts, pages, media, comments, categories, tags, users, settings), so boundaries are mostly clear. Minor overlap exists within clusters like wp_cache_stats vs wp_cache_info and the many SEO/performance analysis tools, but descriptions help differentiate them.

Naming Consistency4/5

Most tools follow a consistent wp_verb_noun pattern (wp_create_post, wp_list_users, wp_delete_comment). A few deviate to noun-first ordering (wp_performance_stats, wp_cache_stats, wp_cache_clear) and auth tools vary (wp_test_auth, wp_get_auth_status), but the overall convention is predictable.

Tool Count2/5

At 70 tools the surface is very heavy, well beyond the 3-15 sweet spot. While WordPress is a broad domain, the large SEO, performance, and cache clusters inflate the count and increase selection burden.

Completeness4/5

CRUD coverage is strong and near-complete across the core content types (posts, pages, media, comments, categories, tags, users, settings) plus auth and revisions. Gaps like site/plugin/theme administration and menu management exist but core workflows are well served.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server for WordPress automation that enables users to manage content, themes, and site configurations using AI-driven workflows and the WordPress REST API. It provides a wide array of tools for site planning, management, and optimization compatible with tools like Cursor and Claude.
    70 npm
    1
    ISC
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for WordPress content management that provides a secure interface for AI assistants to interact with WordPress sites, enabling content creation, editing, and media management without destructive operations.
    MIT