A Model Context Protocol server for interacting with WordPress.
WordPress MCP server has 20 tools with mostly complete schemas and descriptions, but significant gaps in parameter documentation and error handling guidance. Tool names follow verb_noun convention well (get_*, list_*, create_*, delete_*, update_*). Descriptions average ~120 chars, meeting baseline minimums but lacking LLM-optimized context about WHEN to use each tool vs alternatives. Most parameters have type definitions and descriptions, but many lack constraints (enums, ranges, format hints). Output schemas are not documented. Error handling is minimal, no recovery guidance or actionable error messages visible in tool definitions. ACF schema discovery tool is well-described; plugin/media/comment tools are adequate but generic.
Activates a plugin
Creates a new comment
Creates a new media item
Creates a plugin from the WordPress.org repository
Deactivates a plugin
Deletes a comment
Deletes a media item
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., what does list_comments return? Does it include post_id for chaining to create_comment?). Baseline: 100% of A+ tools document return types.
Minimal error handling guidance. Tool descriptions do not explain what to do on failure (e.g., 'If plugin not found, try search_plugin_repository'). No recovery paths documented. Baseline: A+ tools include recovery guidance.
Generic descriptions lack LLM-optimized context. Many descriptions (e.g., 'Lists comments with filtering, sorting, and pagination options') do not explain WHEN to use this tool vs alternatives or what problem it solves. Baseline: 50-200 chars with clear intent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Updates an existing media item
Discovers Advanced Custom Fields (ACF/ACF Pro) REST schema for content, terms, or users. Use target plus resource, for example {"target":"content","resource":"post"}, {"target":"content","resource":"page"}, {"target":"content","resource":"steals"}, {"target":"term","resource":"category"}, or {"target":"user","resource":"me"}. It returns only fields exposed by WordPress/ACF through REST; it does not infer database meta keys. When updating ACF fields, pass values under the nested "acf" object on the relevant create/update tool.
Gets a comment by ID
Retrieves plugin details
Get detailed information about a plugin from the WordPress.org repository
Get details about the current WordPress site configuration for this tool call.
Lists comments with filtering, sorting, and pagination options
Lists media items with filtering and pagination options
Lists all plugins with filtering options
List the current WordPress site configuration available for this tool call.
Search for plugins in the WordPress.org plugin repository
Test the connection to the current WordPress site for this tool call.
Updates an existing comment
Missing parameter constraints. Numeric parameters (page, per_page) lack min/max bounds. Enum fields like 'status' in list_comments are constrained but many string fields are not. LLMs pass invalid values without constraints.
Destructive operations (delete_comment, delete_media) lack confirmation or dry-run support. No pattern to prevent accidental deletion. Baseline: A+ tools support confirmation or dry-run for irreversible ops.