WordPress MCP Server — expose any WordPress site's REST API as MCP tools with auto-discovery of custom plugin endpoints
WordPress MCP server has solid parameter schemas and consistent naming conventions (verb_noun pattern: wp_*). All 13 tools have descriptions and input schemas with types. However, descriptions are often generic and lack LLM-optimized guidance on WHEN to use each tool vs. alternatives. Output schemas are not documented. Error handling is present but minimal, no recovery guidance or actionable error messages. Missing tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in metadata. No pagination guidance in descriptions despite tools accepting per_page/page parameters.
Create a new WordPress category
List WordPress categories
Create a new comment on a post
List WordPress comments with filtering
Re-scan the WordPress site for REST API endpoints. Useful after installing new plugins.
Permanently delete a media item
Get a single media item by ID
Descriptions lack LLM-optimized guidance. Most are 30-60 chars and do not explain WHEN to use the tool, what it returns, or how it differs from similar tools. E.g., 'List WordPress categories' does not tell the LLM whether to call this before wp_categories_create or when to use search vs. list.
No output schemas documented. Tools return results via jsonResult() but LLMs cannot see what fields to expect. This forces LLMs to guess field names for downstream tool calls and risks broken chains (e.g., if wp_categories_list returns 'id' but wp_categories_create expects 'category_id').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
List media items in the WordPress media library
Upload a media file to WordPress from a URL. Downloads the file and uploads it to the media library.
List items in a WordPress navigation menu
List WordPress navigation menus
Search across all WordPress content (posts, pages, categories, etc.)
Get WordPress site health status and test results
Destructive tools (wp_media_delete) lack confirmation or dry-run support. No tool annotations (destructiveHint) in schema. Error handling returns raw API errors without recovery guidance, LLMs cannot self-correct or understand whether to retry.
Pagination parameters (per_page, page) present in 8 tools but descriptions do not explain pagination behavior, limits, or when to use offset vs. cursor. LLMs may not know results are paginated or how to iterate.
Tool annotations missing. Metadata declares risk levels (READ_ONLY, WRITE, DESTRUCTIVE) but schemas do not include readOnlyHint, destructiveHint, or idempotentHint. LLMs cannot infer safety properties from schema alone.