Skip to main content
Glama
YawLabs

@yawlabs/lemonsqueezy-mcp

by YawLabs

ls_list_subscriptions

Read-onlyIdempotent

List subscriptions filtered by store, order, product, variant, or status. Get paginated results with page metadata for total and navigation.

Instructions

List all subscriptions, optionally filtered by store, order, product, variant, or status. Results are paginated — check meta.page in the response for currentPage, lastPage, and total.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by subscription status
includeNoComma-separated related resources to include (e.g. 'store,customer,order,order-item,product,variant')
orderIdNoFilter by order ID
storeIdNoFilter by store ID
pageSizeNoResults per page (1-100)
productIdNoFilter by product ID
userEmailNoFilter by user email
variantIdNoFilter by variant ID
pageNumberNoPage number (1-indexed)
orderItemIdNoFilter by order item ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.14.2
    • changedInput schema / properties / userEmail / pattern
      Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  2. First observedv0.10.10

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful behavioral information beyond those annotations by specifying that results are paginated and that meta.page contains currentPage, lastPage, and total.

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 sentences with no filler. The core purpose is front-loaded, optional filters are summarized compactly, and pagination behavior is stated in one clear sentence.

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 read-only list operation with fully documented parameters, the description is nearly complete. It covers the filtering scope and pagination response fields; only minor operational details like default page size or explicit response envelope shape are left implicit, but these are not critical.

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 fully documents all 10 parameters. The description adds a helpful summary of filter capabilities but does not materially extend the parameter semantics beyond what the schema already provides.

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: 'List all subscriptions'. It enumerates the main optional filters (store, order, product, variant, status) and is clearly distinguished from singular get and item-level siblings by its listing and filtering scope.

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?

The description gives clear context for using the tool: listing subscriptions with optional filters and pagination. However, it does not explicitly state when to use this over alternatives like ls_get_subscription or ls_list_subscription_items, nor does it provide exclusions.

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