Skip to main content
Glama

Smartrr MCP by usefulapi

List subscriptions

smartrr_list_subscriptions
Read-only

List customer subscriptions (Smartrr 'purchase states') with status, next billing date, selling plan, line items, shipping address, discounts and the customer (id, email, name). Filter by status, next billing date or creation date. The ids you need for the other tools: id (subscription id), custRel.id (customer id) and shopifyId (Shopify subscription id). GET /vendor/purchase-state.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
sortNoSort by creation date (default: Smartrr's own order).
statusNoOnly subscriptions in this status.
page_sizeNoResults per page, 1-100 (default 25).
created_afterNoOnly subscriptions created on or after this date.
created_beforeNoOnly subscriptions created on or before this date.
next_billing_afterNoOnly subscriptions whose next billing date is on or after this date.
next_billing_beforeNoOnly subscriptions whose next billing date is on or before this date.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real value beyond that: the underlying endpoint (GET /vendor/purchase-state) and the shape of what comes back, which matters for a tool with no output schema. Pagination and rate-limit behavior are left to 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.

Conciseness5/5

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

Three tight sentences, no filler, with the core purpose and returned fields front-loaded. Every sentence earns its place, including the id-extraction sentence, which is not repeated in the schema.

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?

With no output schema, the field enumeration is the main compensation and it is reasonably thorough. The main remaining gap is that the description does not mention pagination or how to traverse the result pages, though the schema's `page`/`page_size` descriptions cover that. Nothing else an agent needs in order to call it correctly is missing.

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 enum values and pagination hints, so the schema does the heavy lifting. The description's filter sentence largely restates the schema's status/created_*/next_billing_* parameters and adds no format or syntax detail beyond it. 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?

Specific verb + resource ('List customer subscriptions') plus an enumeration of the returned fields (status, next billing date, selling plan, line items, address, discounts, customer). It also names the Smartrr internal concept 'purchase states'. It does not explicitly distinguish itself from the sibling smartrr_list_customer_subscriptions, so the reader must infer the difference from the name alone.

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?

It implies usage by describing the available filters (status, next billing date, creation date) and by telling the agent which ids (`id`, `custRel.id`, `shopifyId`) to harvest for the other tools. However, it never says when to use this instead of smartrr_list_customer_subscriptions or smartrr_get_subscription, and gives no exclusions.

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.