Anthropic Model Context Protocol server that exposes the distribute_deal tool. This tool orchestrates LLM-powered generation of 54 localized marketing variants across 6 channels × 4 languages × 3 A/B strategies, then dispatches them via webhooks to the Next.js dashboard.
Single tool 'distribute_deal' has a well-formed Zod schema with all required parameters typed and described. The tool description is clear and action-oriented (154 chars, within baseline range of 34 - 392). However, the server provides NO documented output schema, critical for LLM planning and chaining. The tool description includes an instruction directive ('ALWAYS use this tool', 'invent sensible defaults automatically') which is operationally risky: agents should validate and ask for missing data rather than fabricate it. All input parameters are well-constrained (enums for discount_type, ISO 8601 format for expiry_timestamp, numeric constraints for amounts), meeting pattern:constrained-input. No error handling guidance in the tool description, agents have no idea what to do if dispatch fails. Security concern: webhook URLs and secrets are not visible in source, but the tool modifies external state (WRITE risk) with no dry-run or confirmation pattern.
GrabOn Omnichannel Integration: Generates localized marketing variants (3 A/B strategies × 4 languages × 6 channels) for a merchant deal (like Zomato) and dispatches them to the GrabOn webhook dashboard. ALWAYS use this tool when asked to distribute a deal across GrabOn channels. If required parameters are missing from the prompt, invent sensible defaults automatically—do not ask the user for them.
No documented output schema. LLMs cannot plan downstream operations or extract critical IDs (generationId, delivery status, per-channel results). Breaks pattern:tool and mxe:include-chaining-ids.
Tool description instructs agent to 'invent sensible defaults automatically, do not ask the user for them.' This violates pattern:tool-description (agents should validate missing data) and invites data loss (wrong merchant_id, invalid discount_value). Agents should be guided to clarify ambiguities, not assume.
No error handling guidance in tool description. If webhook dispatch fails, webhook validation fails, or LLM generation fails, the tool provides no recovery hints. Violates pattern:recovery-guide.
Tool performs irreversible state modification (distributes deal to external channels via webhooks) with no dry-run, confirmation, or idempotency guarantee documented. Violates pattern:confirmation-request and pattern:idempotent-operation.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 51 | - | v1 |
Parameter 'min_order_value' is numeric but lacks range constraints (min/max). Tool accepts any number; agents could pass negative values or absurdly large ones, breaking API contracts. Violates pattern:constrained-input.
Parameter 'discount_value' is numeric but lacks range constraints. Agents could pass negative discounts or absurd amounts (1000000). Should constrain to realistic range (0 - 100 for percentage, or 0 - max_order_value for fixed).