WordPress plugin that exposes WordPress functionality as MCP tools via REST API with OAuth2 and API key authentication
WP AI Bridge exposes 32 WordPress management tools with basic naming and descriptions, but lacks critical schema rigor and error guidance. Tool names follow verb_noun convention (get_posts, create_post, delete_post), which is good. However, input schemas are minimal, most parameters lack type constraints, enums, or validation rules. Descriptions are present but generic (avg ~60 chars), missing context on when to use each tool, prerequisites, and recovery guidance. No output schemas documented. Error handling is absent, no guidance on retryability, user-fixable vs fatal errors, or recovery paths. Security concerns: destructive tools (delete_post, delete_page, delete_plugin) lack confirmation patterns or permission gates. Bulk operations (bulk_update_posts, bulk_moderate_comments) accept generic 'updates' and 'ids' objects with no schema validation. No evidence of input sanitization against injection attacks.
Activate a plugin
Add a new comment to a post
Apply an update to WordPress, a plugin, or a theme
Bulk moderate multiple comments
Bulk apply updates
Bulk update multiple posts
Create a new post category
Destructive tools (delete_post, delete_page, delete_media, delete_plugin) lack confirmation patterns and permission gates. No dry-run support or recovery guidance.
Bulk operations (bulk_update_posts, bulk_moderate_comments, bulk_update) accept generic 'updates' and 'ids' objects with no schema definition, type constraints, or validation rules. LLMs cannot infer valid structure.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., post_id after create_post). Breaks tool chaining.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Create a new page
Create a new post
Create a new post tag
Deactivate a plugin
Delete a media file
Delete a page
Delete a plugin
Delete a post
Retrieve post categories
Retrieve changelog for a plugin or theme
Retrieve comments with filtering and pagination
Retrieve media files with pagination
Retrieve a single page by ID
Retrieve pages with filtering and pagination
Retrieve list of installed plugins
Retrieve a single post by ID
Retrieve posts with filtering, pagination, and search capabilities
Retrieve site information and configuration
Retrieve post tags
Retrieve available updates for WordPress, plugins, and themes
Moderate a comment (approve, hold, spam, trash)
Search posts, pages, and other content
Update an existing page
Update an existing post
Upload a new media file
No error handling guidance. Tools lack recovery hints, retryability classification, or actionable error messages. Agents cannot self-correct on failures.
Parameter 'status' in get_posts and get_comments lacks enum constraint. Description says 'publish, draft, pending, etc.' but LLMs may hallucinate invalid values like 'archived' or 'inactive'.