refund-decide
Server Details
Refund eligibility notary for US subscriptions. Returns ALLOWED/DENIED/UNKNOWN.
- Status
- Healthy
- Uptime
- 100.0% over 51 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- decidefyi/decide
- GitHub Stars
- 1
- Server Listing
- decide
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or misselection. The single tool has a clearly distinct purpose.
The tool name 'refund_eligibility' follows a clear noun_noun pattern and is consistent with the server name 'refund-decide'. No other tools to compare, but naming is clean and predictable.
A single tool is borderline thin for a server. While it may be appropriate for a highly focused decision service, typical MCP servers offer multiple tools for related operations.
The tool covers eligibility evaluation but lacks related operations such as retrieving rules, listing vendors, or submitting appeals. This may be intentional for a decision-only server, but the surface is notably narrow.
Available Tools
1 toolrefund_eligibilityCheck refund eligibilityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | Plan type. Currently only 'individual' plans are supported. | |
| region | Yes | Region code. Currently only 'US' is supported. | |
| vendor | Yes | Vendor identifier (lowercase, underscore-separated). | |
| days_since_purchase | Yes | Number of days since the subscription was purchased. | |
| qualifying_conditions_met | No | Required when the vendor policy has source-specific conditions such as first purchase, unused benefits, or an eligible annual plan. |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | Yes | |
| vendor | No | |
| message | Yes | |
| verdict | Yes | |
| refundable | No | |
| source_hash | No | |
| window_days | No | |
| evaluated_at | No | |
| rules_version | No | |
| policy_version | No | |
| automation_safe | No | |
| policy_evidence | No | |
| rulebook_result | No | |
| required_context | No | |
| policy_source_url | No | |
| days_since_purchase | No | |
| policy_last_checked | No | |
| policy_source_notes | No | |
| policy_last_verified_utc | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-open-world), so the bar is lower. The description adds real behavioral value by disclosing the UNKNOWN outcome path — absent conditions or vendor-approval/manual-review cases — which tells the agent results may be tri-state rather than a clean boolean.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, purpose front-loaded, with the UNKNOWN behavior as the supporting clause. No filler or repetition of structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers scope (US consumer subscriptions), rule provenance, and the UNKNOWN case. The one real gap is absent routing guidance against the sibling eligibility/penalty/trial tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so vendor/plan/region/days_since_purchase are fully documented in the schema. The description adds no parameter-level detail beyond a loose allusion to "required conditions," which only faintly maps to qualifying_conditions_met; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Evaluate") and resource ("a US consumer subscription refund against versioned source-backed rules"), which is far more precise than the title. The subject matter implicitly separates it from cancellation_penalty and trial_terms, but it never names or distinguishes the close sibling return_eligibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what happens when conditions are unmet, but gives no when-to-use guidance and no routing versus return_eligibility, cancellation_penalty or trial_terms. The agent must infer selection from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
refund_eligibility1 field changed- changed
Output schema / properties / policy_last_verified_utc / typePrevious value: -"string"New value: +[ + "string", + "null" +]
1 tool update
- Changed
refund_eligibility3 fields changed- added
Output schema / properties / automation_safeAdded value: +{ + "type": "boolean" +} - added
Output schema / properties / policy_evidenceAdded value: +{ + "additionalProperties": true, + "properties": { + "checked_at": { + "type": "string" + }, + "current": { + "type": "boolean" + }, + "evaluated_at": { + "type": "string" + }, + "policy": { + "enum": [ + "refund", + "cancel", + "return", + "trial" + ], + "type": "string" + }, + "policy_version": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "schema_version": { + "enum": [ + "policy_evidence_v1" + ], + "type": "string" + }, + "snapshot_generated_at": { + "type": "string" + }, + "snapshot_hash": { + "type": "string" + }, + "source_hash": { + "type": "string" + }, + "source_url": { + "type": "string" + }, + "status": { + "enum": [ + "current", + "expired", + "unavailable", + "review_required" + ], + "type": "string" + }, + "valid_until": { + "type": [ + "string", + "null" + ] + }, + "vendor": { + "type": "string" + }, + "verified_at": { + "type": "string" + } + }, + "required": [ + "schema_version", + "policy", + "vendor", + "status", + "reason", + "current", + "evaluated_at" + ], + "type": "object" +} - changed
Output schema / properties / refundable / typePrevious value: -"boolean"New value: +[ + "boolean", + "null" +]
1 tool update
- Changed
refund_eligibility2 fields changed- added
Input schema / properties / qualifying_conditions_metAdded value: +{ + "description": "Required when the vendor policy has source-specific conditions such as first purchase, unused benefits, or an eligible annual plan.", + "type": "boolean" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": true, + "properties": { + "code": { + "type": "string" + }, + "days_since_purchase": { + "type": "number" + }, + "evaluated_at": { + "type": "string" + }, + "message": { + "type": "string" + }, + "policy_last_checked": { + "type": "string" + }, + "policy_last_verified_utc": { + "type": "string" + }, + "policy_source_notes": { + "type": "string" + }, + "policy_source_url": { + "type": "string" + }, + "policy_version": { + "type": "string" + }, + "refundable": { + "type": "boolean" + }, + "required_context": { + "items": { + "type": "string" + }, + "type": "array" + }, + "rulebook_result": { + "additionalProperties": true, + "type": "object" + }, + "rules_version": { + "type": "string" + }, + "source_hash": { + "type": "string" + }, + "vendor": { + "type": "string" + }, + "verdict": { + "enum": [ + "ALLOWED", + "DENIED", + "UNKNOWN" + ], + "type": "string" + }, + "window_days": { + "type": "number" + } + }, + "required": [ + "verdict", + "code", + "message" + ], + "type": "object" +}
1 tool update
- Changed
refund_eligibility1 field changed- changed
Input schema / properties / vendor / enumPrevious value: -[ - "1password", - "adobe", - "amazon_music_unlimited", - "amazon_prime", - "apple_app_store", - "apple_arcade", - "apple_music", - "apple_tv_plus", - "audible", - "bitwarden", - "bumble", - "calm", - "canva", - "chatgpt_plus", - "claude_pro", - "coursera_plus", - "crunchyroll", - "deezer", - "discord_nitro", - "disney_plus", - "doordash_dashpass", - "dropbox_us", - "duolingo", - "espn_plus", - "evernote", - "expressvpn", - "figma", - "fubo_tv", - "github_pro", - "google_one", - "google_play", - "grammarly", - "headspace", - "hellofresh", - "hinge", - "hulu", - "icloud_plus", - "instacart_plus", - "kindle_unlimited", - "linkedin_premium", - "masterclass", - "max", - "microsoft_365", - "midjourney", - "netflix", - "nintendo_switch_online", - "noom", - "nordvpn", - "notion", - "paramount_plus", - "peacock", - "peloton", - "playstation_plus", - "proton", - "ring_protect", - "scribd", - "shutterstock", - "slack", - "sling_tv", - "spotify", - "squarespace", - "strava", - "surfshark", - "tidal", - "tinder", - "todoist", - "twitch", - "uber_one", - "walmart_plus", - "wix", - "xbox_game_pass", - "youtube_premium", - "youtube_tv", - "zoom" -]New value: +[ + "1password", + "adobe", + "amazon_music_unlimited", + "amazon_prime", + "amc_plus", + "apple_app_store", + "apple_arcade", + "apple_music", + "apple_tv_plus", + "audible", + "bitwarden", + "britbox", + "bumble", + "calm", + "canva", + "chatgpt_plus", + "claude_pro", + "coursera_plus", + "crunchyroll", + "dashlane", + "deezer", + "discord_nitro", + "discovery_plus", + "disney_plus", + "doordash_dashpass", + "dropbox_us", + "duolingo", + "ea_play", + "espn_plus", + "evernote", + "expressvpn", + "figma", + "fitbit_premium", + "fubo_tv", + "github_pro", + "google_one", + "google_play", + "grammarly", + "headspace", + "hellofresh", + "hinge", + "hulu", + "icloud_plus", + "instacart_plus", + "keeper", + "kindle_unlimited", + "lastpass", + "linkedin_premium", + "masterclass", + "max", + "microsoft_365", + "midjourney", + "mlb_tv", + "myfitnesspal_premium", + "netflix", + "new_york_times", + "nfl_plus", + "nintendo_switch_online", + "noom", + "nordvpn", + "notion", + "paramount_plus", + "patreon", + "peacock", + "peloton", + "playstation_plus", + "proton", + "reddit_premium", + "ring_protect", + "roblox_premium", + "scribd", + "shutterstock", + "siriusxm", + "slack", + "sling_tv", + "snapchat_plus", + "soundcloud_go", + "spotify", + "squarespace", + "starz", + "strava", + "substack", + "surfshark", + "telegram_premium", + "tidal", + "tinder", + "todoist", + "twitch", + "uber_one", + "ubisoft_plus", + "wall_street_journal", + "walmart_plus", + "washington_post", + "weightwatchers", + "wix", + "x_premium", + "xbox_game_pass", + "youtube_premium", + "youtube_tv", + "zoom" +]
1 tool update
- Changed
refund_eligibility1 field changed- changed
Input schema / properties / vendor / enumPrevious value: -[ - "1password", - "adobe", - "amazon_prime", - "apple_app_store", - "apple_music", - "apple_tv_plus", - "audible", - "bitwarden", - "bumble", - "calm", - "canva", - "chatgpt_plus", - "claude_pro", - "coursera_plus", - "crunchyroll", - "deezer", - "disney_plus", - "doordash_dashpass", - "dropbox_us", - "duolingo", - "evernote", - "expressvpn", - "figma", - "fubo_tv", - "github_pro", - "google_play", - "grammarly", - "headspace", - "hellofresh", - "hinge", - "hulu", - "icloud_plus", - "instacart_plus", - "linkedin_premium", - "masterclass", - "max", - "microsoft_365", - "midjourney", - "netflix", - "nintendo_switch_online", - "noom", - "nordvpn", - "notion", - "paramount_plus", - "peacock", - "peloton", - "playstation_plus", - "scribd", - "shutterstock", - "slack", - "sling_tv", - "spotify", - "squarespace", - "strava", - "surfshark", - "tidal", - "tinder", - "todoist", - "twitch", - "walmart_plus", - "wix", - "xbox_game_pass", - "youtube_premium", - "zoom" -]New value: +[ + "1password", + "adobe", + "amazon_music_unlimited", + "amazon_prime", + "apple_app_store", + "apple_arcade", + "apple_music", + "apple_tv_plus", + "audible", + "bitwarden", + "bumble", + "calm", + "canva", + "chatgpt_plus", + "claude_pro", + "coursera_plus", + "crunchyroll", + "deezer", + "discord_nitro", + "disney_plus", + "doordash_dashpass", + "dropbox_us", + "duolingo", + "espn_plus", + "evernote", + "expressvpn", + "figma", + "fubo_tv", + "github_pro", + "google_one", + "google_play", + "grammarly", + "headspace", + "hellofresh", + "hinge", + "hulu", + "icloud_plus", + "instacart_plus", + "kindle_unlimited", + "linkedin_premium", + "masterclass", + "max", + "microsoft_365", + "midjourney", + "netflix", + "nintendo_switch_online", + "noom", + "nordvpn", + "notion", + "paramount_plus", + "peacock", + "peloton", + "playstation_plus", + "proton", + "ring_protect", + "scribd", + "shutterstock", + "slack", + "sling_tv", + "spotify", + "squarespace", + "strava", + "surfshark", + "tidal", + "tinder", + "todoist", + "twitch", + "uber_one", + "walmart_plus", + "wix", + "xbox_game_pass", + "youtube_premium", + "youtube_tv", + "zoom" +]
1 tool update
- Changed
refund_eligibility3 fields changed- changed
Input schema / properties / days_since_purchase / descriptionPrevious value: -"Number of days since the subscription was purchased. Must be a non-negative number."New value: +"Number of days since the subscription was purchased." - changed
Input schema / properties / vendor / descriptionPrevious value: -"Vendor identifier (lowercase, underscore-separated). Supported: 1password, adobe, amazon_prime, apple_app_store, apple_music, apple_tv_plus, audible, bitwarden, bumble, calm, canva, chatgpt_plus, claude_pro, coursera_plus, crunchyroll, deezer, disney_plus, doordash_dashpass, dropbox_us, duolingo, evernote, expressvpn, figma, fubo_tv, github_pro, google_play, grammarly, headspace, hellofresh, hinge, hulu, icloud_plus, instacart_plus, linkedin_premium, masterclass, max, microsoft_365, midjourney, netflix, nintendo_switch_online, noom, nordvpn, notion, paramount_plus, peacock, peloton, playstation_plus, scribd, shutterstock, slack, sling_tv, spotify, squarespace, strava, surfshark, tidal, tinder, todoist, twitch, walmart_plus, wix, xbox_game_pass, youtube_premium, zoom"New value: +"Vendor identifier (lowercase, underscore-separated)." - added
Input schema / properties / vendor / enumAdded value: +[ + "1password", + "adobe", + "amazon_prime", + "apple_app_store", + "apple_music", + "apple_tv_plus", + "audible", + "bitwarden", + "bumble", + "calm", + "canva", + "chatgpt_plus", + "claude_pro", + "coursera_plus", + "crunchyroll", + "deezer", + "disney_plus", + "doordash_dashpass", + "dropbox_us", + "duolingo", + "evernote", + "expressvpn", + "figma", + "fubo_tv", + "github_pro", + "google_play", + "grammarly", + "headspace", + "hellofresh", + "hinge", + "hulu", + "icloud_plus", + "instacart_plus", + "linkedin_premium", + "masterclass", + "max", + "microsoft_365", + "midjourney", + "netflix", + "nintendo_switch_online", + "noom", + "nordvpn", + "notion", + "paramount_plus", + "peacock", + "peloton", + "playstation_plus", + "scribd", + "shutterstock", + "slack", + "sling_tv", + "spotify", + "squarespace", + "strava", + "surfshark", + "tidal", + "tinder", + "todoist", + "twitch", + "walmart_plus", + "wix", + "xbox_game_pass", + "youtube_premium", + "zoom" +]
1 tool update
- Changed
refund_eligibility1 field changed- changed
Input schema / properties / vendor / descriptionPrevious value: -"Vendor identifier (lowercase, underscore-separated). Supported: 1password, adobe, amazon_prime, apple_app_store, apple_music, apple_tv_plus, audible, bumble, calm, canva, chatgpt_plus, claude_pro, coursera_plus, disney_plus, doordash_dashpass, dropbox_us, duolingo, evernote, expressvpn, github_pro, google_play, grammarly, headspace, hinge, hulu, instacart_plus, linkedin_premium, masterclass, max, microsoft_365, midjourney, netflix, nintendo_switch_online, nordvpn, notion, paramount_plus, peacock, peloton, playstation_plus, slack, spotify, strava, tidal, tinder, walmart_plus, xbox_game_pass, youtube_premium, zoom"New value: +"Vendor identifier (lowercase, underscore-separated). Supported: 1password, adobe, amazon_prime, apple_app_store, apple_music, apple_tv_plus, audible, bitwarden, bumble, calm, canva, chatgpt_plus, claude_pro, coursera_plus, crunchyroll, deezer, disney_plus, doordash_dashpass, dropbox_us, duolingo, evernote, expressvpn, figma, fubo_tv, github_pro, google_play, grammarly, headspace, hellofresh, hinge, hulu, icloud_plus, instacart_plus, linkedin_premium, masterclass, max, microsoft_365, midjourney, netflix, nintendo_switch_online, noom, nordvpn, notion, paramount_plus, peacock, peloton, playstation_plus, scribd, shutterstock, slack, sling_tv, spotify, squarespace, strava, surfshark, tidal, tinder, todoist, twitch, walmart_plus, wix, xbox_game_pass, youtube_premium, zoom"
1 tool update
- Changed
refund_eligibility1 field changed- changed
Input schema / properties / vendor / descriptionPrevious value: -"Vendor identifier (lowercase, underscore-separated). Supported: adobe, apple_app_store, canva, dropbox_us, google_play, microsoft_365, netflix, notion, spotify"New value: +"Vendor identifier (lowercase, underscore-separated). Supported: 1password, adobe, amazon_prime, apple_app_store, apple_music, apple_tv_plus, audible, bumble, calm, canva, chatgpt_plus, claude_pro, coursera_plus, disney_plus, doordash_dashpass, dropbox_us, duolingo, evernote, expressvpn, github_pro, google_play, grammarly, headspace, hinge, hulu, instacart_plus, linkedin_premium, masterclass, max, microsoft_365, midjourney, netflix, nintendo_switch_online, nordvpn, notion, paramount_plus, peacock, peloton, playstation_plus, slack, spotify, strava, tidal, tinder, walmart_plus, xbox_game_pass, youtube_premium, zoom"
1 tool update
- First observed
refund_eligibility
Related MCP Connectors
Score a subscription flow against US click-to-cancel / auto-renewal laws.
Fail-closed refund, cancellation, return, and trial checks for 100 US subscription vendors.
Score a subscription cancellation flow against federal, CA, CO, VT, and OR click-to-cancel laws.
Read-only BUY / WAIT / AVOID spend gate for paid APIs, MCP endpoints, and x402 routes.
Related MCP Servers
- AlicenseAqualityCmaintenanceDeterministically evaluates whether a proposed agent spend action matches a supplied policy, returning ELIGIBLE, DENY, or STEP_UP with stable reason codes. Provides local policy evidence only, not payment authorization.146 npmMIT

dealgo-middlewareofficial
AlicenseNot gradedqualityCmaintenanceEnables agents to read recorded payments and request exact refunds for administrator review, then check approval and provider outcome status without holding Stripe credentials or dispatching refunds.MIT- FlicenseNot gradedqualityBmaintenanceEnables AI shopping agents to verify whether a specific product can be returned by supplying a product URL and buyer country, returning a verified verdict with exact policy clauses, return window, and confidence score.-
- FlicenseNot gradedqualityBmaintenanceEnables AI assistants to resolve carrier-exception refunds, auto-executing a bounded refund when a strict policy passes or creating a manager-approval escalation otherwise, with idempotent and concurrency-safe operations.-
Glama MCP Gateway
Add one secure layer between your agents and this server.