Skip to main content
Glama

list_recent_cancellations

Read-onlyIdempotent

Recently canceled paid subscriptions (excludes free rows), most recent cancellation first, with what each customer was paying. Use for churn review; list_subscriptions orders by signup date instead.

Input Schema

NameRequiredDescriptionDefault
limitNo
app_idNo
include_samplesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so safety is covered; the description adds real behavioral context on top: free rows are excluded from the result set and ordering is descending by cancellation date. It does not disclose the limit default behavior or what 'include_samples' does to the returned data, which keeps it out of 5 territory.

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

Conciseness5/5

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

Two tight sentences, no filler, and the scoping detail (paid only, recency order) is front-loaded before the sibling disambiguation. Every clause carries information an agent needs.

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?

Annotations and the description together cover the read-only listing and its result semantics reasonably well for a tool with no output schema. But with three wholly undocumented parameters and no statement about pagination or default page size, an agent cannot confidently control scope or result volume.

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

Parameters2/5

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

Schema description coverage is 0% for all three parameters, so the description carries the full burden and largely drops it. 'limit' and 'app_id' are never mentioned, and 'include_samples' — the least self-explanatory of the three — is not explained at all, despite 'with what each customer was paying' hinting at sample rows.

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 resource (recently canceled paid subscriptions), the filter applied (excludes free rows), and the output shape (most recent first, with what each customer was paying). It explicitly distinguishes itself from the sibling that could be confused with it, list_subscriptions, so an agent can select correctly without opening either schema.

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

Usage Guidelines4/5

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

Gives a concrete use case ('churn review') and names the alternative (list_subscriptions) with the axis of differentiation (ordering by signup date vs. cancellation recency). What's missing is an explicit negative condition — e.g., when a churn-review need should instead go to list_recent_payments or revenue_by_app.

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.

Resources