A Spring Boot-based MCP server for marketing segmentation and product recommendation
Single tool 'segmentAndRecommend' has critical definition gaps. Tool name violates verb_noun pattern (uses 'and' conjunction, signals multiple responsibilities). Description is in Chinese only (non-standard for production MCP). Input schema present but parameters lack proper descriptions, 'key' has minimal context, 'content' description is in Chinese. No output schema documented. No error handling guidance. Tool exposes Base64-encoded authentication as a parameter (security anti-pattern). No pagination, no structured output format specified.
用户标签分群并推荐商品
Tool name 'segmentAndRecommend' violates verb_noun pattern and uses 'and' conjunction, signaling multiple responsibilities. Should split into 'segment_users' and 'recommend_products' or rename to single action like 'recommend_products_by_segment'.
Authentication key exposed as tool parameter. Base64-encoded credentials should never be passed as parameters, use server-side secret injection via environment variables or Spring Boot properties. Current implementation risks leaking secrets into agent logs and traces.
No output schema documented. Tool returns JSON string but LLM cannot infer structure. Must document return type: fields, types, and example structure so agent can plan downstream operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 28 | 2026-07-28+ | v2 |
Parameter descriptions are minimal or in Chinese. 'key' has no description; 'content' description is non-English. All descriptions must be in English and explain purpose, format, and constraints. E.g., 'content: User profile summary (max 2000 chars) derived from conversation history'.
No error handling guidance. Generic catch-all returns '服务器繁忙,请稍后重试!' (Chinese error message). Must return actionable errors: distinguish retryable (timeout, 5xx) from user-fixable (invalid input) from fatal (auth failure). Include recovery hints.