Skip to main content
Glama
posterly-mcp-server

posterly-mcp-server

by awpthorp

cancel_subscription

DestructiveIdempotent

Cancel the authenticated user's Posterly subscription after explicit confirmation; collect the cancellation reason and default to period-end unless immediate termination is requested.

Instructions

Cancel the authenticated user's posterly subscription. DESTRUCTIVE; requires billing:write. ALWAYS ask the user why they are cancelling FIRST and pass their answer as reason (one of the allowed values). By default an active or trialing plan is set to cancel at the end of the current period. A past_due or unpaid plan always ends now, even when immediate is false: the unpaid renewal is dropped and payment retries stop. Pass immediate=true only when the user explicitly wants an active plan cancelled right now. Only call after the user explicitly confirms.

Input Schema

NameRequiredDescriptionDefault
reasonYesWhy the user is cancelling. Ask the user before calling; do not guess.
confirmYesMust be true after the user explicitly confirms the cancellation.
feedbackNoOptional free-text detail the user gave about why they are cancelling.
immediateNoCancel immediately instead of at period end. Defaults to false. Ignored for past_due and unpaid plans, which always end now.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.55.1

TDQS

A4.7/5.0
Behavior5/5

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

Goes well past the annotations: it declares the billing:write scope requirement, the default period-end scheduling for active and trialing plans, and the important exception that past_due and unpaid plans end immediately regardless of the immediate flag, dropping the unpaid renewal and stopping payment retries. The destructiveHint annotation is reinforced with a concrete confirmation gate rather than merely restated.

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?

Front-loads the operation, then the destructive/permission warning, then the behavioral rules. Every sentence carries information, though the past_due paragraph is dense enough that it could be split for scanning; no filler is present.

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

Completeness4/5

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

For a four-parameter destructive mutation with no output schema, the description covers safety gating, permission scope, timing behavior, and the plan-status exception. The only gap is what the call returns (e.g., effective cancellation date), which an agent would have to infer.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: reason must be sourced from the user, immediate=true is conditional on explicit user intent, and immediate is silently ignored for past_due/unpaid plans. It does not mention feedback, leaving that to the schema, which is acceptable.

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

Purpose5/5

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

States a specific verb and resource scoped precisely to 'the authenticated user's posterly subscription', which separates it cleanly from pause_subscription, resume_subscription, and downgrade_subscription in the sibling list. An agent can identify the operation without opening the schema.

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

Usage Guidelines5/5

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

Gives explicit preconditions ('ALWAYS ask the user why they are cancelling FIRST', 'Only call after the user explicitly confirms') and a precise rule for the immediate flag ('only when the user explicitly wants an active plan cancelled right now'). It also implies the alternative paths (pause/downgrade) by constraining when cancellation is warranted.

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