Exposes content management capabilities via the WordPress 6.9 Abilities API for AI assistants and MCP clients. Create, update, delete, and list posts, pages, and media.
The server provides three well-defined WordPress Abilities API tools with complete input and output schemas. Tool naming follows verb-noun convention (list, get, create). Descriptions are present and reasonably detailed (58-92 chars each, within acceptable range). Input parameters are comprehensively typed with enums, defaults, and min/max constraints. Output schemas are documented. However, the server lacks critical error handling guidance, has no recovery suggestions for failure modes, and provides minimal context about permission requirements beyond basic capability checks. Tool composition is sound (single responsibility), but the create-post tool lacks critical safeguards for destructive operations. Parameter descriptions are adequate but could be more explicit about constraints (e.g., slug format requirements, HTML limitations in content field).
Creates a new post with full control over all fields including format, sticky, comments, and more.
Retrieves a single post by ID, including full content, metadata, categories, and tags.
Retrieves a list of posts with optional filtering by status, category, tag, author, or search term.
No error handling or recovery guidance. Tools define permission callbacks but provide no actionable error messages if access is denied, post not found, or creation fails due to validation.
create-post tool lacks confirmation or dry-run mechanism for irreversible publishing. LLMs can inadvertently publish content to production with status='publish' without safeguards.
Parameter descriptions lack explicit format/constraint details. 'slug' parameter has no pattern spec or length limits. 'content' accepts HTML but constraints are not documented. 'categories' and 'tags' accept string arrays but validation logic is opaque.
No batch operation support. Agents calling list-posts in pagination loops will make sequential calls instead of using a single parameterized request. Consider returning pagination cursors or max results hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2026-07-28+ | v2 |
Tool annotations present but incomplete. Annotations for list-posts and get-post are correct (readonly=true, destructive=false, idempotent=true), but create-post is missing annotations entirely.