MCP server for auditing ecommerce product reviews to detect synthetic/bot reviews and calculate adjusted true rating scores
Single tool with critical definition gaps. Tool name 'audit_product_reviews_veracity' lacks action verb prefix (should be 'audit_reviews' or similar). Description is adequate (89 chars, within 10-1024 range) but parameters lack descriptions entirely. Input schema present with types and defaults, but no parameter descriptions explaining what each field controls. Output schema is undocumented, LLM cannot plan downstream calls or extract required fields. No error handling guidance. Tool definition is visible in client.py but lacks MCP-standard registration with proper schema metadata.
Audits product reviews for veracity, detecting synthetic/bot reviews and calculating adjusted true rating scores
Tool name does not start with clear action verb. 'audit_product_reviews_veracity' is verbose; 'audit_reviews' or 'detect_review_fraud' would be clearer and more LLM-parseable.
Input parameters lack descriptions. 'product_page_url' and 'total_reviews_crawled_count' have no descriptions explaining what they control, expected format, or constraints. LLMs cannot infer parameter meaning from names alone.
Output schema is completely undocumented. Response fields (review_audit_id, adjusted_true_rating_score, synthetic_bot_review_ratio_pct, etc.) are not formally documented. LLM cannot plan downstream tool calls or validate response structure.
No error handling or recovery guidance. Tool returns mock data only; no documentation of failure modes, retryability, or what to do if audit fails. LLM has no guidance on error recovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
Tool definition is inferred from client.py class method, not explicitly registered via MCP protocol. No tool registration with schema, capabilities, or metadata visible in mcp_server.py.