Skip to main content
Glama

Delete subscriptions

subscriptions_delete
Destructive

Deletes tariff plans and legacy tariffs, and cancels subscriptions. Cannot be undone.

Input Schema

NameRequiredDescriptionDefault
idNoLegacy tariff id.
actionYesOperation to run. Each oneOf entry describes one action and lists its parameters.
confirmYesPass true only after the user approves this change. Required by: plan_delete, legacy_item_delete, subscription_cancel.
plan_idNoTariff plan id.
subscription_idNoSubscription id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / required
      Previous value: -[
      -  "action"
      -]New value: +[
      +  "action",
      +  "confirm"
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / action / oneOf
      Previous value: -[
      -  {
      -    "const": "plan_delete",
      -    "description": "Deletes a tariff plan. Required: plan_id, confirm."
      -  },
      -  {
      -    "const": "legacy_item_delete",
      -    "description": "Deletes a legacy tariff (id in id or plan_id). Required: confirm. Optional: id, plan_id."
      -  },
      -  {
      -    "const": "subscription_cancel",
      -    "description": "Cancels a subscription at once: access ends and automatic charges stop. No money is refunded. Required: subscription_id, confirm."
      -  }
      -]New value: +[
      +  {
      +    "const": "plan_delete",
      +    "description": "Deletes a tariff plan. Required: plan_id, confirm."
      +  },
      +  {
      +    "const": "legacy_item_delete",
      +    "description": "Deletes a legacy tariff (id in id or plan_id). Required: id or plan_id, confirm."
      +  },
      +  {
      +    "const": "subscription_cancel",
      +    "description": "Cancels a subscription at once: access ends and automatic charges stop. No money is refunded. Required: subscription_id, confirm."
      +  }
      +]
  3. Changed1 schema field changed
    • changedInput schema / properties / action / oneOf
      Previous value: -[
      -  {
      -    "const": "plan_delete",
      -    "description": "Deletes a tariff plan. Required: plan_id, confirm."
      -  },
      -  {
      -    "const": "legacy_item_delete",
      -    "description": "Deletes a legacy tariff (id in id or plan_id). Required: confirm. Optional: id, plan_id."
      -  },
      -  {
      -    "const": "subscription_cancel",
      -    "description": "Cancels a subscription. Required: subscription_id, confirm."
      -  }
      -]New value: +[
      +  {
      +    "const": "plan_delete",
      +    "description": "Deletes a tariff plan. Required: plan_id, confirm."
      +  },
      +  {
      +    "const": "legacy_item_delete",
      +    "description": "Deletes a legacy tariff (id in id or plan_id). Required: confirm. Optional: id, plan_id."
      +  },
      +  {
      +    "const": "subscription_cancel",
      +    "description": "Cancels a subscription at once: access ends and automatic charges stop. No money is refunded. Required: subscription_id, confirm."
      +  }
      +]
  4. Added

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds a reinforcing 'Cannot be undone' warning but goes no further: it does not disclose the approval/confirm gate, the no-refund behavior of cancellation, or what happens to access on cancel — all of which live only in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with the destructive operation stated first and the irreversibility caveat second. No waste, though the second sentence largely restates destructiveHint and the first compresses three distinct operations into one clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter destructive tool with three distinct modes and a mandatory confirmation flag, the description is minimally adequate: the schema compensates, but the description never signals the multi-action dispatch or the user-approval prerequisite, which are the two things most likely to cause a bad call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including per-action requirements and the confirm gate, so the schema carries parameter meaning fully. The description adds nothing beyond it and never references action, confirm, or the id/plan_id distinction; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb with three enumerated resources ('deletes tariff plans and legacy tariffs, and cancels subscriptions') that map cleanly onto the action enum. It doesn't explicitly contrast itself with sibling tools like subscriptions_write or templates_delete, but an agent can tell it is the destructive member of the subscriptions family.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to prefer this over alternatives such as subscriptions_write (e.g., downgrade versus cancel) or which of the three actions applies in a given situation. The only contextual statement is the irreversibility warning, which is a hazard note rather than usage routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.