Model Context Protocol server for WordPress REST API integration, providing tools to manage posts, pages, media, users, comments, categories, tags, and site settings
37 tools with consistent verb_noun naming (wp_list_*, wp_get_*, wp_create_*, wp_update_*, wp_delete_*). All tools have descriptions (10-80 chars, mostly 40-60 range). Input schemas present with type definitions and parameter descriptions. However, descriptions are terse and lack context about when to use each tool, prerequisites, or recovery guidance. Output schemas are not documented, LLMs cannot predict response structure. No error handling guidance. Missing tool annotations (readOnlyHint, destructiveHint). Composition is sound (single responsibility per tool), but parameter descriptions lack format constraints and validation rules.
Create a new category.
Create a new comment.
Create a new WordPress page.
Create a new WordPress post.
Create a new tag.
Create a new WordPress user.
Delete a category by ID.
Output schemas not documented. LLMs cannot predict response structure, field names, or types. Forces agents to guess what data is available after each call.
Descriptions are terse (40-60 chars) and lack context. No guidance on when to use each tool vs similar ones, prerequisites, or recovery steps. E.g., 'Retrieve a single WordPress post by ID' does not explain what fields are returned or when to call wp_list_posts instead.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe read-only tools from destructive ones without explicit hints. Critical for agent safety.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
Delete a comment by ID.
Delete a media item by ID.
Delete a WordPress page by ID.
Delete a WordPress post by ID.
Delete a tag by ID.
Delete a WordPress user by ID.
Retrieve a single category by ID.
Retrieve a single comment by ID.
Retrieve a single media item by ID.
Retrieve a single WordPress page by ID.
Retrieve a single WordPress post by ID.
Retrieve WordPress site settings.
Retrieve a single tag by ID.
Retrieve a single user by ID.
List WordPress categories.
List WordPress comments.
List WordPress media items.
List WordPress pages.
List WordPress posts. Optional filtering by page, per_page, search, status, author, categories, tags.
List WordPress tags.
List WordPress users.
Update a category by ID.
Update a comment by ID.
Update a media item (alt text, caption, etc).
Update an existing WordPress page by ID.
Update an existing WordPress post by ID.
Update WordPress site settings.
Update a tag by ID.
Update an existing WordPress user by ID.
Upload a file as a new media item.
Parameter descriptions lack format constraints and validation rules. E.g., 'status' enum is documented but no guidance on what happens if an invalid status is passed. 'page' and 'per_page' lack min/max bounds.
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery suggestions (e.g., 'User not found. Try wp_list_users() with a partial name').