Stateless MCP server providing policy-backed decision tools for refund eligibility, cancellation penalties, and other vendor-specific compliance checks
The Decide MCP server exposes two specialized policy-checking tools with well-structured input schemas and clear, domain-specific descriptions. Both tools declare explicit enums and required parameters, following constrained-input patterns. However, output schemas are not documented in the visible code, and descriptions, while clear, are moderately detailed but lack actionable guidance on error recovery and when to call each tool versus the other. Tool naming follows verb_noun convention. The server is clearly built for a specific domain (US subscription refunds and cancellations) with narrow scope, which is appropriate for a specialized policy engine.
Check US subscription cancellation terms without executing cancellation. Typeform requires Basic, direct/self-serve platform subscription scope and returns CANCEL_AT_PERIOD_END, not an immediate cancellation or refund. Missing scope or current evidence returns UNKNOWN.
Evaluate a US consumer subscription refund against versioned source-backed rules. Returns UNKNOWN when required conditions are absent or the vendor requires approval or manual policy review.
Output schemas not documented in source code. Tools return UNKNOWN or policy results, but response structure is not declared in tool metadata.
Tool descriptions lack error recovery guidance. Both tools mention returning UNKNOWN but do not explain to the LLM what action to take when UNKNOWN is returned.
Descriptions do not clarify when to call refund_eligibility vs cancellation_penalty. An LLM needs explicit guidance on the distinction between refund checks and cancellation penalty checks.
Parameter 'qualifying_conditions_met' in refund_eligibility is required conditionally but marked as required in the schema. The description states 'Required when the vendor policy has source-specific conditions' but the schema always requires it, which may force the caller to guess at a default value.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 72 | 2026-07-28+ | v2 |
Parameter enum values in cancellation_penalty are highly product-specific (e.g., plan='basic' for Typeform only, product='platform_subscription' for Typeform only). The description mentions these constraints but the schema structure does not make the Typeform-specific requirements explicit in enum descriptions.