Universal MCP Server for WordPress + Fluent Suite (Community, CRM, Cart) + FluentMCP Pro. Comprehensive tools for AI-powered WordPress management via Claude, Cursor, and other MCP clients.
This WordPress MCP server has 27 tools with broadly adequate schemas and descriptions, but exhibits systematic quality gaps that prevent a higher rating. Naming follows verb-first conventions consistently (list_, get_, create_, update_, delete_). However, descriptions are uneven in quality and length, ranging from adequate (40-100 chars) to minimal (20-30 chars). All tools have input schemas with typed parameters, which is a significant strength. The server lacks output schema documentation, responses are undocumented, forcing LLMs to infer structure. Error handling exists at the framework level (catch blocks in server.ts) but tools do not return actionable recovery guidance. No security annotations (destructiveHint, readOnlyHint) are present despite many tools modifying state. The tool set is reasonably composed (list + get + create/update/delete patterns are present), but several clusters (e.g., 6 FluentCart analytics tools) suggest possible over-fragmentation or scope bloat. Baseline comparison: 19/27 tools (70%) have descriptions >30 chars, which is acceptable but below the 94% A+ threshold. All 27 tools have typed input schemas, which is strong. Output schemas are entirely undocumented.
Creates a new comment
Debug endpoint to test FluentCRM API connectivity and configuration
Debug endpoint to find FluentCommunity option names and values
Deletes a comment
Get detailed FluentCart analytics (already exists but kept for compatibility)
Get a specific FluentCart product category by ID
No output schema documentation. Tool responses are entirely undocumented, forcing LLMs to infer structure and relationship between fields. This violates pattern:tool-description and pattern:response-shaper. Example: fcart_get_analytics returns unknown fields, preventing agents from chaining results to other tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 61 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 42 | - | v1 |
Get FluentCart dashboard statistics and metrics overview
Get FluentCart global feeds configuration
Get FluentCart global integration settings
Get FluentCart licensing line chart data showing license activations over time
Get FluentCart licensing pie chart data showing license distribution by status
Get FluentCart licensing summary with total licenses, active, expired, and revenue
Get a specific FluentCart notification by ID
Get current user FluentCart permissions and capabilities
Get FluentCart quick statistics (today's sales, pending orders, low stock items, etc.)
Get FluentCart reports overview with sales, revenue, and order statistics for a date range
Get FluentCart global settings and configuration
List FluentCart product categories
List FluentCart digital product files
List available FluentCart integration addons
List FluentCart notifications
List all FluentCart shipping zones and methods
List all FluentCart tax classes
Site-wide FluentMCP context: installed products, versions, counts, ENABLED_TOOLS categories, discovery URLs. Call first on a new site.
Gets a comment by ID
Lists comments with filtering, sorting, and pagination options
Updates an existing comment
Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools are not annotated with risk severity. Destructive tools like delete_comment and WRITE tools like create_comment/update_comment should declare their side effects. This violates spec alignment for tool annotations (2026-07-28).
Minimal descriptions for 8 debug/config tools. Tools like debug_options ('Debug endpoint to find FluentCommunity option names and values', 59 chars) and debug_fluentcrm (59 chars) lack context for WHEN to call them. Descriptions should explain when an LLM would select this tool vs alternatives. Below 50-char threshold for effective LLM guidance.
Inconsistent naming prefix convention. Most tools follow verb_noun (list_comments, get_comment), but debug tools (debug_options, debug_fluentcrm) and FluentCart tools (fcart_*) break the convention. This creates cognitive load for LLMs deciding which tools to call. Recommend consistent prefix: get_debug_options, get_fluentcrm_debug_status.
No error handling guidance in tool descriptions. Tools lack actionable recovery instructions (pattern:recovery-guide). When delete_comment or create_comment fails, LLMs have no direction on what to try next. Example: 'Returns error if comment not found. Try list_comments with post ID to verify comment exists.' is missing.
Potential scope bloat: 6 overlapping FluentCart analytics tools (fcart_get_analytics, fcart_get_reports_overview, fcart_get_quick_stats, fcart_get_dashboard_stats, fcart_get_licensing_*). Descriptions do not clearly differentiate when to call each. LLMs will struggle to choose the right one. Consolidate or add explicit comparison guidance in descriptions.
Parameter descriptions lack detail on constraints and formats. Example: 'after' parameter in list_comments says 'ISO8601 date string' but does not clarify timezone handling, whether time is required (2024-01-15 vs 2024-01-15T00:00:00Z), or what happens if malformed. This invites LLM errors. Descriptions should specify exact format with an example pattern.
Missing pagination limit documentation. list_comments accepts per_page with max 100 but does not state default or implications of requesting large pages. fcart_list_files, fcart_list_tax_classes, etc. lack explicit max/default. Should document: 'Default 20, max 100. Larger pages waste tokens and slow responses.'