Southleft WordPress MCP - Remote MCP server on Cloudflare Workers for AI-assisted content authoring
Server provides 7 tools with reasonable naming conventions (mostly verb_noun style: get_*, search_*). However, schema completeness and parameter descriptions vary significantly. Tools like content_get_post and content_search_posts have well-defined input schemas with parameter descriptions, but schema_* tools accept only empty objects or single parameters with minimal context. Descriptions are present but terse (average ~60-80 chars), below the 194-char production baseline. Output schemas are not documented anywhere in the visible code. Error handling and recovery guidance are absent. The server is functional but lacks the LLM-optimization depth expected of production-grade agents.
Get a WordPress post by ID or slug.
Search WordPress posts with filters.
Get server health status
Get ACF field groups and fields for a specific post type.
Get all registered Gutenberg blocks with their attributes and supports.
Get all registered WordPress post types with their taxonomies and capabilities.
Empty input schemas for schema_get_post_types, schema_get_blocks, and schema_get_templates. These tools cannot guide an LLM on parameters because they declare none explicitly.
Output schemas are not documented in any tool. The code shows tools return data (e.g., 'Get all registered WordPress post types with their taxonomies and capabilities') but nowhere in the visible source is the return type structure defined. LLMs cannot plan downstream tool calls or extract the right fields without knowing output schema.
Tool descriptions are terse (avg 60-80 chars vs. 194-char production baseline). Example: 'Get server health status' lacks context on when to call it, what constitutes healthy vs unhealthy, or whether it's a prerequisite for other operations. Descriptions should be 50-200 chars for LLM optimization.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 50 | - | v1 |
Get available content authoring templates with their block sequences and required sections.
No error handling or recovery guidance in tool definitions. No indication of what errors are retryable, what are user-fixable, or what are fatal. LLMs receive no actionable next steps on failure.
content_search_posts returns results with a limit of 100 max per_page but no documentation of total count, pagination cursor, or how to iterate large result sets. Without pagination metadata, agents cannot fetch beyond the first batch.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are marked READ_ONLY in the tool list, but this metadata is not present in the schema definitions where LLMs can parse it. Annotations guide agent behavior (e.g., safe retry strategies).