A Python-based MCP server that analyzes social media comments to identify purchase intent triggers and generate checkout URLs for e-commerce products
The server exposes a single tool 'check_comment' with a clear verb-noun name and reasonable description. However, it has multiple critical deficiencies: (1) The tool description lacks context about WHEN to use it or WHAT it returns; (2) Parameter descriptions are generic and do not specify expected format or constraints; (3) No output schema is documented anywhere in the codebase; (4) The tool performs keyword matching ('buy', 'price') as hardcoded triggers with no explanation of why these specific keywords or how they generalize; (5) No error handling guidance is present, what happens if product_sku is invalid? Does the checkout URL fail silently?; (6) The implementation is visible in client.py but tool registration via MCP protocol is not shown, we cannot verify if this is actually exposed as an MCP tool or just a Python class.
Analyzes a user comment to detect purchase intent triggers (keywords: 'buy', 'price') and generates a checkout URL if triggered
No output schema documented. The tool returns a dict with 'trigger_dm' (boolean) and 'checkout_url' (string), but no schema is visible in the codebase. LLMs cannot plan downstream actions without knowing the response structure.
Parameter descriptions are trivial (18 chars for 'user_comment', 21 chars for 'product_sku'). They do not explain expected format, length, or encoding.
Tool description (111 chars) lacks clarity on WHEN to use it vs alternatives, and does NOT state that it modifies state (generates a checkout URL with a specific ref parameter).
Hardcoded keyword triggers ('buy', 'price') with no documentation. Why only these two keywords? How does the agent know what triggers checkout? Are there language variations, typos, or synonyms? The tool is underspecified for production use.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
No error handling guidance. What happens if product_sku is malformed or the checkout URL domain is unreachable? Does the tool fail silently, return an empty string, or throw an exception?
Tool registration not visible. The codebase shows a Python class FyproSocialBuyerClient with a check_comment method, but no MCP server scaffolding (e.g., StdioServer, tool registration via server.tool() decorator or similar) is visible. We cannot confirm this is actually registered as an MCP tool.