A recommendation engine for conversational commerce that provides personalized product recommendations based on user profiles and search intent
This MCP server has a single tool with critically incomplete definition quality. The tool has a name and basic description, but lacks proper parameter descriptions, output schema documentation, and error handling guidance. The implementation is a mock/stub that returns hardcoded responses rather than real service integration. Parameter definitions exist in JSON Schema but lack descriptive text explaining what each field represents. No output schema is documented for the agent. No error handling, recovery guidance, or validation logic is present. The server appears to be a template or proof-of-concept rather than production-ready.
Provides personalized product recommendations based on user profile and search intent
Parameter descriptions missing or incomplete: 'user_profile' and 'search_intent' lack guidance on expected format, valid values, and constraints. 'user_profile' is an object but the schema does not document required fields (only 'skin_type' is mentioned in example). 'search_intent' has a generic description that does not explain what constitutes a valid query or what the LLM should pass.
Output schema is not documented. The tool returns a dict with 'ranked_products' (array of objects with 'name', 'price_usd', 'match_confidence') and 'personalized_advice' (string), but no schema is provided to the agent. LLMs cannot reliably extract or chain the output without explicit field documentation.
No error handling or recovery guidance. The tool has no input validation, no error messages, and no instructions for what the agent should do if the recommendation fails or user_profile is malformed. A real service integration must catch errors and provide actionable feedback.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
Tool name 'recommend' is a generic verb that does not clearly indicate the domain or action. 'get_product_recommendations' or 'search_products_by_profile' would better signal intent and distinguish it from other recommendation tools.
Mock implementation returns hardcoded products regardless of input. For a real MCP server, this tool must fetch actual product data, rank by match_confidence, and filter by the user profile. The current stub prevents end-to-end testing and production use.
No pagination or result limits. The 'ranked_products' array is unbounded; no limit, offset, or pagination tokens are documented. If the service returns 500 products, the context window will be exhausted. Implement limit and offset parameters and cap results at 20-50 items.
user_profile parameter accepts any dict but does not enumerate required or optional fields. The example shows 'skin_type', but the schema definition does not enforce this or document other fields the service supports (age, skin_condition, budget, etc.). Add a strict schema or provide comprehensive parameter documentation.