Tool tree
gradeNot graded
page: Every page
list_subscriptionsAnswer
List the user's simulated subscriptions. Optionally filter by status or category. This is read-only.
View tool JSON
{
"name": "list_subscriptions",
"kind": "answer",
"impl": "imperative",
"description": "List the user's simulated subscriptions. Optionally filter by status or category. This is read-only.",
"inputSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"active",
"paused",
"cancelled"
],
"description": "Optional subscription status filter."
},
"category": {
"type": "string",
"maxLength": 50,
"description": "Optional exact category name, matched case-insensitively."
},
"includeProtected": {
"type": "boolean",
"default": true,
"description": "Whether protected subscriptions should be included."
}
},
"additionalProperties": false
},
"page": "/"
}get_subscriptionAnswer
Get complete details, monthly equivalent, and inactivity for one simulated subscription. This is read-only.
View tool JSON
{
"name": "get_subscription",
"kind": "answer",
"impl": "imperative",
"description": "Get complete details, monthly equivalent, and inactivity for one simulated subscription. This is read-only.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Stable subscription id, such as fitclub or cloudpro."
}
},
"required": [
"subscriptionId"
],
"additionalProperties": false
},
"page": "/"
}search_subscriptionsAnswer
Search subscriptions by fictional provider, plan, or category. This is read-only.
View tool JSON
{
"name": "search_subscriptions",
"kind": "answer",
"impl": "imperative",
"description": "Search subscriptions by fictional provider, plan, or category. This is read-only.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Provider, plan, or category text to search for."
}
},
"required": [
"query"
],
"additionalProperties": false
},
"page": "/"
}get_upcoming_chargesAnswer
Find simulated subscription charges due within a number of days. This is read-only.
View tool JSON
{
"name": "get_upcoming_charges",
"kind": "answer",
"impl": "imperative",
"description": "Find simulated subscription charges due within a number of days. This is read-only.",
"inputSchema": {
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 90,
"default": 7,
"description": "Number of days ahead to inspect for charges."
}
},
"additionalProperties": false
},
"page": "/"
}find_unused_subscriptionsAnswer
Find active subscriptions unused for at least N days and optionally costing at least a monthly amount. Protected items can be excluded. This is read-only.
View tool JSON
{
"name": "find_unused_subscriptions",
"kind": "answer",
"impl": "imperative",
"description": "Find active subscriptions unused for at least N days and optionally costing at least a monthly amount. Protected items can be excluded. This is read-only.",
"inputSchema": {
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 730,
"default": 60,
"description": "Minimum number of days since the subscription was last used."
},
"minMonthlyPrice": {
"type": "number",
"minimum": 0,
"maximum": 10000,
"default": 0,
"description": "Minimum monthly-equivalent price in USD, inclusive."
},
"excludeProtected": {
"type": "boolean",
"default": true,
"description": "Exclude subscriptions the user protected from cancellation."
}
},
"additionalProperties": false
},
"page": "/"
}calculate_subscription_spendAnswer
Calculate total monthly and annualized spend for active simulated subscriptions. This is read-only.
View tool JSON
{
"name": "calculate_subscription_spend",
"kind": "answer",
"impl": "imperative",
"description": "Calculate total monthly and annualized spend for active simulated subscriptions. This is read-only.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}calculate_cancellation_savingsAnswer
Calculate monthly and annual savings for a specific list of subscription IDs without changing state. Use when calculating savings for potential or unused cancellation candidates.
View tool JSON
{
"name": "calculate_cancellation_savings",
"kind": "answer",
"impl": "imperative",
"description": "Calculate monthly and annual savings for a specific list of subscription IDs without changing state. Use when calculating savings for potential or unused cancellation candidates.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionIds": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"description": "Stable subscription ids whose potential savings should be totaled.",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
},
"required": [
"subscriptionIds"
],
"additionalProperties": false
},
"page": "/"
}get_cancellation_policyAnswer
Inspect provider-specific cancellation policy, impact, and equivalent UI journey without changing state. This is read-only.
View tool JSON
{
"name": "get_cancellation_policy",
"kind": "answer",
"impl": "imperative",
"description": "Inspect provider-specific cancellation policy, impact, and equivalent UI journey without changing state. This is read-only.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Stable subscription id, such as fitclub or cloudpro."
}
},
"required": [
"subscriptionId"
],
"additionalProperties": false
},
"page": "/"
}get_cancellation_optionsAnswer
Get safe provider-specific options such as cancel, pause, skip, or cancel-after-order. This is read-only.
View tool JSON
{
"name": "get_cancellation_options",
"kind": "answer",
"impl": "imperative",
"description": "Get safe provider-specific options such as cancel, pause, skip, or cancel-after-order. This is read-only.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Stable subscription id, such as fitclub or cloudpro."
}
},
"required": [
"subscriptionId"
],
"additionalProperties": false
},
"page": "/"
}prepare_cancellationAction
Prepare one simulated cancellation, calculate impact, and surface blockers or offers. This never performs final cancellation. It returns a short-lived token only when ready; explicit user approval is still required before confirm_cancellation.
View tool JSON
{
"name": "prepare_cancellation",
"kind": "act",
"impl": "imperative",
"description": "Prepare one simulated cancellation, calculate impact, and surface blockers or offers. This never performs final cancellation. It returns a short-lived token only when ready; explicit user approval is still required before confirm_cancellation.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Stable subscription id, such as fitclub or cloudpro."
}
},
"required": [
"subscriptionId"
],
"additionalProperties": false
},
"page": "/"
}prepare_cancellation_planAction
Fast multi-subscription planning for requests such as cancel unused subscriptions while keeping named services. Protects the requested subscriptions, finds current matches, calculates aggregate savings, and prepares every candidate in one animated operation. It never performs final cancellation and returns a short-lived batch authorization token for later explicit approval.
View tool JSON
{
"name": "prepare_cancellation_plan",
"kind": "act",
"impl": "imperative",
"description": "Fast multi-subscription planning for requests such as cancel unused subscriptions while keeping named services. Protects the requested subscriptions, finds current matches, calculates aggregate savings, and prepares every candidate in one animated operation. It never performs final cancellation and returns a short-lived batch authorization token for later explicit approval.",
"inputSchema": {
"type": "object",
"properties": {
"days": {
"type": "integer",
"minimum": 1,
"maximum": 730,
"default": 60,
"description": "Minimum inactivity in days."
},
"minMonthlyPrice": {
"type": "number",
"minimum": 0,
"maximum": 10000,
"default": 0,
"description": "Inclusive minimum monthly-equivalent price in USD."
},
"protectedSubscriptionIds": {
"type": "array",
"maxItems": 20,
"default": [],
"description": "Stable ids the user explicitly asked to keep or protect.",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
}
},
"additionalProperties": false
},
"page": "/"
}resolve_retention_offerAction
Apply the user's explicit decision on an already surfaced retention offer. Accepting keeps the service; continuing prepares cancellation but still does not cancel.
View tool JSON
{
"name": "resolve_retention_offer",
"kind": "act",
"impl": "imperative",
"description": "Apply the user's explicit decision on an already surfaced retention offer. Accepting keeps the service; continuing prepares cancellation but still does not cancel.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Stable id of the subscription with the unresolved offer."
},
"decision": {
"type": "string",
"enum": [
"accept_offer",
"continue_cancellation"
],
"description": "The user's explicit decision after the offer has been shown."
}
},
"required": [
"subscriptionId",
"decision"
],
"additionalProperties": false
},
"page": "/"
}confirm_cancellationSensitive Action
CONSEQUENTIAL: Finalize one simulated cancellation only after explicit user approval. Requires the exact unexpired token returned by prepare_cancellation or resolve_retention_offer. Never call speculatively or as part of discovery.
View tool JSON
{
"name": "confirm_cancellation",
"kind": "transact",
"impl": "imperative",
"description": "CONSEQUENTIAL: Finalize one simulated cancellation only after explicit user approval. Requires the exact unexpired token returned by prepare_cancellation or resolve_retention_offer. Never call speculatively or as part of discovery.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Stable id of the prepared subscription."
},
"confirmationToken": {
"type": "string",
"pattern": "^cd_[A-Za-z0-9]+$",
"maxLength": 64,
"description": "Exact unexpired token returned by preparation after the user reviewed the impact."
}
},
"required": [
"subscriptionId",
"confirmationToken"
],
"additionalProperties": false
},
"page": "/"
}finalize_cancellation_planSensitive Action
CONSEQUENTIAL: Finalize exactly one previously reviewed multi-subscription plan after explicit user approval. Requires the exact unexpired batch token from prepare_cancellation_plan and explicit decisions for every surfaced retention offer. Validates the complete plan before changing subscriptions, then animates each approved result.
View tool JSON
{
"name": "finalize_cancellation_plan",
"kind": "transact",
"impl": "imperative",
"description": "CONSEQUENTIAL: Finalize exactly one previously reviewed multi-subscription plan after explicit user approval. Requires the exact unexpired batch token from prepare_cancellation_plan and explicit decisions for every surfaced retention offer. Validates the complete plan before changing subscriptions, then animates each approved result.",
"inputSchema": {
"type": "object",
"properties": {
"batchAuthorizationToken": {
"type": "string",
"pattern": "^cd_[A-Za-z0-9]+$",
"maxLength": 64,
"description": "Exact unexpired token returned by prepare_cancellation_plan after the user reviewed the plan."
},
"retentionDecisions": {
"type": "array",
"maxItems": 20,
"default": [],
"description": "Explicit user decisions for every retention offer in the plan.",
"items": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"decision": {
"type": "string",
"enum": [
"accept_offer",
"continue_cancellation"
]
}
},
"required": [
"subscriptionId",
"decision"
],
"additionalProperties": false
}
}
},
"required": [
"batchAuthorizationToken"
],
"additionalProperties": false
},
"page": "/"
}pause_subscriptionSensitive Action
Pause an eligible simulated subscription for 1–8 weeks. This is reversible and does not cancel it.
View tool JSON
{
"name": "pause_subscription",
"kind": "transact",
"impl": "imperative",
"description": "Pause an eligible simulated subscription for 1–8 weeks. This is reversible and does not cancel it.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Stable id of a subscription whose provider offers pausing."
},
"weeks": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"default": 4,
"description": "Pause duration in weeks."
}
},
"required": [
"subscriptionId"
],
"additionalProperties": false
},
"page": "/"
}skip_deliveryAction
Skip the next available MealBox delivery while preserving the subscription. A currently processing order is not affected.
View tool JSON
{
"name": "skip_delivery",
"kind": "act",
"impl": "imperative",
"description": "Skip the next available MealBox delivery while preserving the subscription. A currently processing order is not affected.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Stable subscription id, such as fitclub or cloudpro."
}
},
"required": [
"subscriptionId"
],
"additionalProperties": false
},
"page": "/"
}protect_subscriptionSensitive Action
Protect or unprotect a simulated subscription (e.g. subscriptionId 'streambox', 'fitclub', 'cloudpro', 'mealbox'). Use when user says 'Never cancel X', 'Keep X', 'Protect X', or 'Cancel everything except X'. Protection prevents preparation and final cancellation.
View tool JSON
{
"name": "protect_subscription",
"kind": "transact",
"impl": "imperative",
"description": "Protect or unprotect a simulated subscription (e.g. subscriptionId 'streambox', 'fitclub', 'cloudpro', 'mealbox'). Use when user says 'Never cancel X', 'Keep X', 'Protect X', or 'Cancel everything except X'. Protection prevents preparation and final cancellation.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Stable id of the subscription to protect or unprotect, such as streambox."
},
"protected": {
"type": "boolean",
"default": true,
"description": "True to prevent cancellation preparation and confirmation; false to remove protection."
}
},
"required": [
"subscriptionId"
],
"additionalProperties": false
},
"page": "/"
}get_cancellation_run_statusAnswer
Read current reactive mission-control statuses, decisions, and progress for prepared subscription operations.
View tool JSON
{
"name": "get_cancellation_run_status",
"kind": "answer",
"impl": "imperative",
"description": "Read current reactive mission-control statuses, decisions, and progress for prepared subscription operations.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}abandon_cancellation_runAction
Safely abandon or clear prepared cancellations and pending retention offers without cancelling anything. Use when the user says 'Never mind', 'Don't cancel these', 'Cancel this run', or wants to abort prepared operations.
View tool JSON
{
"name": "abandon_cancellation_run",
"kind": "act",
"impl": "imperative",
"description": "Safely abandon or clear prepared cancellations and pending retention offers without cancelling anything. Use when the user says 'Never mind', 'Don't cancel these', 'Cancel this run', or wants to abort prepared operations.",
"inputSchema": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "Optional specific subscription id to remove from the prepared run. If omitted, clears the entire run."
}
},
"additionalProperties": false
},
"page": "/"
}reset_demoAction
Reset all fictional subscriptions, protections, prepared operations, and activity history to CancelDesk's deterministic seed state. Use before an isolated demo or test run. This never affects a real subscription or external provider.
View tool JSON
{
"name": "reset_demo",
"kind": "act",
"impl": "imperative",
"description": "Reset all fictional subscriptions, protections, prepared operations, and activity history to CancelDesk's deterministic seed state. Use before an isolated demo or test run. This never affects a real subscription or external provider.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}