Skip to main content
Glama

Invoiced MCP by usefulapi

List subscriptions

invoiced_list_subscriptions
Read-only

List recurring subscriptions: customer, plan, quantity, billing period, status (not_started, active, past_due, finished, canceled), recurring total and MRR, contract renewal. GET /subscriptions.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
sortNoSort, "<column> asc|desc", e.g. "date desc".
filterNoExact-match filters on object columns, e.g. {"paid": false, "currency": "usd"}. Booleans are sent as 1/0.
canceledNotrue = only canceled subscriptions; false = only not canceled.
finishedNotrue = only finished subscriptions; false = only unfinished.
metadataNoExact-match filters on metadata keys, e.g. {"account-rep": "Jan"}.
per_pageNoResults per page, 1-100 (default 25).
customer_idNoOnly this customer's subscriptions.
updated_afterNoOnly records updated after this date or date-time.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the returned field set and the GET endpoint, which is modest value but no pagination, rate-limit, or result-shape detail. With annotations carrying the behavioral burden, a 3 is appropriate.

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?

A single efficient sentence front-loads the verb and resource, then lists fields and the endpoint. No filler, though the trailing endpoint reference is low-value given the tool name.

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?

There is no output schema, so the enumeration of return fields (customer, plan, quantity, billing period, status, recurring total, MRR, contract renewal) usefully compensates by describing the result shape. Combined with the fully documented parameter schema, the agent has enough to call it correctly.

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%, so the schema already documents all 9 parameters including pagination, sort, filter, and metadata syntax. The description adds no parameter-level detail, though the enumerated status values (not_started, active, past_due, finished, canceled) hint at filterable states. Baseline 3 when the schema does the heavy lifting.

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 (recurring subscriptions) and enumerates the key fields returned, so an agent knows exactly what this retrieves. It does not explicitly differentiate itself from sibling invoiced_get_subscription, but the list-vs-get distinction is inferable from the name.

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 when-to-use guidance, no stated alternatives, and no mention of when this should be preferred over invoiced_get_subscription for a single record. The agent must infer usage entirely from the name.

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.