Skip to main content
Glama

list_subscriptions

Retrieve an app's subscriptions with base plans, billing periods, states, regional prices, and listings to inspect subscription setup without editing.

Instructions

List subscriptions with their base plans (billing period, state, regional prices) and listings. Read-only.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "packageName": "<packageName>"
    },
    "name": "list_subscriptions"
  }
}

Input Schema

NameRequiredDescriptionDefault
packageNameYesApplication id (package name), e.g. com.example.app

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations supplied, the description carries the full burden, and it does disclose 'Read-only,' which is the most important behavioral trait here. It also hints at the return shape (base plans, billing period, state, regional prices, listings). It omits pagination behavior, result limits, authentication/permission requirements, and what happens when packageName is invalid.

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?

One sentence, front-loaded with the action and resource, followed by the returned content and the read-only qualifier. Nothing is redundant or padded.

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?

No output schema exists, so the description must convey return values, and it does summarize the nested payload (base plans with billing period, state, regional prices, plus listings). It is nearly complete for a simple single-parameter list tool, with pagination and error behavior being the remaining gaps.

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 coverage is 100% and there is only one parameter, whose description already gives the format and an example (com.example.app). The tool description adds no meaning beyond that, so the baseline 3 applies; the single-parameter simplicity keeps it from being worse.

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?

States a specific verb (list) and resource (subscriptions) and enumerates what the results include: base plans with billing period, state, and regional prices, plus listings. The resource is distinct enough from siblings like list_subscription_offers and list_listings, though the description never explicitly contrasts itself with them.

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

Usage Guidelines3/5

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

Usage is implied by the name and the phrase 'List subscriptions' — an agent can infer this is the read path for subscription data for a package. However, there is no explicit when-to-use guidance, no mention of prerequisites such as an active edit or auth scope, and no routing to sibling tools for offers or listings.

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