Skip to main content
Glama

Server Details

MCP server for Lemon Squeezy — stores, products, orders, subscriptions, license keys.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 18 of 18 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action (e.g., list, get, create, update, cancel). There is no overlap between tools; even similar resources like customers and orders are clearly separated.

Naming Consistency5/5

All tools follow the pattern lemonsqueezy_{verb}_{noun}. Verbs are consistent (list, get, create, update, cancel). Plural nouns are used for list operations and singular for get operations, which is a standard and predictable convention.

Tool Count5/5

With 18 tools, the surface covers all major entities (stores, products, variants, prices, customers, orders, subscriptions, invoices, license keys, discounts, checkouts, user). The count is well-scoped—neither too sparse nor overly numerous.

Completeness4/5

The tool set covers the core domain: read operations for all entities and write operations for subscriptions and checkout creation. Missing write operations like create/update customer or product, but these are often managed externally. Minor gap in not having a create_subscription tool, but checkout creation serves that purpose.

Available Tools

18 tools
lemonsqueezy_cancel_subscriptionCancel subscriptionA
Destructive
Inspect

WRITE: Cancel a LIVE subscription. It remains active until the end of the current billing period, then moves to cancelled. This affects a real customer. API: DELETE /subscriptions/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYesSubscription id to cancel (required).
Behavior5/5

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

The description explains the cancellation effect (remains active until end of period) and confirms it's a write operation (destructiveHint). It adds the HTTP method DELETE, which complements the annotation without contradiction.

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?

The description is concise with two sentences plus a technical note. Every sentence adds value: verb, resource, timing, and API endpoint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter. The description covers the action, effect, and technical detail. No output schema, but the behavioral effect is fully described.

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?

The schema covers 100% of parameters with description for subscription_id. The description does not add extra meaning beyond the schema, so baseline 3 is appropriate.

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?

The description clearly states it cancels a LIVE subscription with specific verb and resource, and explains the post-cancellation behavior (active until end of billing period). It distinguishes from siblings like update_subscription and list_subscriptions.

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?

The description indicates this is for cancelling subscriptions and notes it affects a real customer, providing clear context. However, it does not explicitly mention when not to use or provide alternatives, though it's implied by the 'WRITE' label and the name.

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

lemonsqueezy_create_checkoutCreate checkoutA
Destructive
Inspect

WRITE: Create a hosted checkout / payment link for a store + variant. Returns the created checkout including its url (the shareable payment link). API: POST /checkouts.

ParametersJSON Schema
NameRequiredDescriptionDefault
store_idYesStore id (required).
expires_atNoISO 8601 date-time when the checkout link expires.
variant_idYesVariant id to sell (required).
custom_priceNoOverride price in cents (integer).
checkout_dataNoJSON:API checkout_data object (email, name, custom, discount_code, etc.).
product_optionsNoJSON:API product_options object (name, description, redirect_url, etc.).
checkout_optionsNoJSON:API checkout_options object (embed, media, button_color, etc.).
Behavior4/5

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

Annotations declare destructiveHint: true, and description confirms it's a WRITE operation. Adds that it returns the checkout with its 'url', providing useful behavioral context beyond annotations.

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, front-loaded with action type and purpose. No extraneous words. Every sentence adds value.

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?

Tool has 7 parameters with nested objects, but no output schema. Description does not explain optional nested objects like checkout_data or product_options, which could be needed for correct usage. However, schema descriptions cover them.

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% with descriptions for all parameters. Description mentions 'store + variant' but adds little beyond schema. The return value note is helpful but not about parameters.

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?

Clearly states it creates a hosted checkout/payment link for a store and variant. Specific verb 'Create' and resource 'checkout' are mentioned. Distinct from sibling tools which are mostly read or update operations.

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?

Implicitly clear when to use: when you need to create a checkout link. Sibling tools are not alternatives for this action, so no exclusion needed. However, no explicit 'when not to use' or prerequisites.

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

lemonsqueezy_get_customerGet a customerA
Read-only
Inspect

Get a single customer by id. API: GET /customers/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
customer_idYesCustomer id (required).
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description adds the specific API path but does not disclose additional behavioral traits such as required permissions or response format. Acceptable baseline with annotations.

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, no fluff, front-loaded with the core action. Every sentence earns its place.

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?

Despite no output schema, the description combined with the schema is sufficient for a simple get-by-id operation. It clearly states the required parameter and the API endpoint, though return value details are omitted.

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%, and the tool description does not add any parameter information beyond what the schema already provides. The baseline score is appropriate.

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?

The description uses specific verb 'get' and resource 'customer', clearly indicating it retrieves a single customer by ID. The API endpoint is provided, which distinguishes it from sibling tools like list_customers.

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?

No guidance on when to use this vs. alternatives like lemonsqueezy_list_customers or when not to use it. The description assumes the agent already knows the context.

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

lemonsqueezy_get_orderGet an orderA
Read-only
Inspect

Get a single order by id. API: GET /orders/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
order_idYesOrder id (required).
Behavior3/5

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

The description 'Get a single order' is consistent with the readOnlyHint annotation, but adds no additional behavioral context such as error handling, response structure, or authentication requirements. It provides minimal extra value beyond the annotation.

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?

The description is extremely concise with two sentences, front-loading the core action and API endpoint. No redundant or unnecessary information is present.

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?

Given low complexity (2 parameters, no output schema, simple read operation), the description is mostly adequate. It lacks any mention of return format or error cases, but for a straightforward tool, the completeness is sufficient.

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?

The input schema covers 100% of parameters with descriptions. The description includes the API endpoint which implies the order_id maps to the path, but does not add significant meaning beyond the schema's existing descriptions.

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?

The description clearly states 'Get a single order by id', specifying the action (get), resource (order), and identifier (by id). It also provides the API endpoint, making the purpose distinct from sibling tools that operate on different resources.

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?

No guidance is given on when to use this tool versus alternatives like lemonsqueezy_list_orders for listing orders. There are no when-to-use, when-not-to-use, or prerequisite instructions.

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

lemonsqueezy_get_storeGet a storeA
Read-only
Inspect

Get a single store by id. API: GET /stores/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
store_idYesStore id (required).
Behavior3/5

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

Annotations already provide readOnlyHint=true, so the description adds only the API endpoint. No additional behavioral traits (rate limits, error handling) are disclosed, but the tool is simple and annotations carry part of the burden.

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 short sentences with no redundant words. The action and resource are front-loaded, making it efficient.

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 simple get-by-id tool with good annotations and schema, the description is largely sufficient. A brief note about return value would improve completeness, but it is 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 parameter information is already complete in the schema. The description reinforces the 'by id' aspect but adds no new semantic meaning.

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?

The description clearly states 'Get a single store by id', specifying the verb, resource, and identifier. It also includes the API endpoint, distinguishing it from sibling tools like lemonsqueezy_list_stores.

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?

No guidance on when to use this tool versus alternatives (e.g., lemonsqueezy_list_stores for listing). The description does not mention prerequisites or exclusions.

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

lemonsqueezy_get_subscriptionGet a subscriptionA
Read-only
Inspect

Get a single subscription by id. API: GET /subscriptions/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
subscription_idYesSubscription id (required).
Behavior3/5

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

Annotations already declare readOnlyHint: true, so the description's addition of the API endpoint is minor. No further behavioral traits (e.g., auth, rate limits) are disclosed, but for a simple getter this is acceptable.

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?

Extremely concise with one clear sentence and an API reference. No redundant information.

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?

Given the simplicity of the tool (single retrieval, no output schema), the description plus schema is sufficient. The API endpoint adds useful context. Slightly incomplete for complex use but fits the tool's nature.

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 the description does not add parameter information beyond what the schema provides. Baseline 3 is appropriate.

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?

Description clearly states 'Get a single subscription by id', using a specific verb and resource. It distinguishes from sibling tools like list_subscriptions, cancel_subscription, and update_subscription.

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?

No explicit guidance on when to use vs alternatives. While the purpose is clear, the description does not provide when-not-to-use or mention sibling tools, leaving implicit usage.

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

lemonsqueezy_get_userGet authenticated userA
Read-only
Inspect

Get the currently authenticated user/account behind the API key. Good first call to confirm auth. API: GET /users/me.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

The description adds the specific API endpoint 'GET /users/me' beyond the readOnlyHint annotation, confirming the read-only nature and providing the HTTP method. No contradictions with annotations.

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 short, impactful sentences with zero wasted words. Front-loaded with the core purpose, followed by usage guidance and API reference.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no parameters and no output schema, the description fully covers the purpose, usage context (auth confirmation), and API endpoint. Nothing is missing for an agent to use it correctly.

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

Parameters4/5

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

No parameters exist, so schema coverage is 100%. The description does not need to add parameter details, meeting the baseline expectation for 0-parameter tools.

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?

The description clearly states it retrieves the currently authenticated user/account associated with the API key. This is a specific verb+resource that distinguishes it from sibling tools like lemonsqueezy_get_customer or lemonsqueezy_get_store.

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?

Explicitly mentions it is a good first call to confirm authentication, providing clear context for when to use it. While it doesn't explicitly state when not to use, the guidance is sufficient for an agent to understand its primary use case.

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

lemonsqueezy_list_customersList customersA
Read-only
Inspect

List customers, optionally filtered by store and/or email. API: GET /customers (filter[store_id], filter[email]).

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoFilter to a customer email.
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
store_idNoFilter to a single store id.
page_sizeNoResults per page (JSON:API page[size], max 100). Default 10.
page_numberNoPage number (JSON:API page[number]). Default 1.
Behavior3/5

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

Annotations already provide readOnlyHint=true. Description adds GET endpoint and filter context but no additional behavioral traits like rate limits or scope.

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?

Single concise sentence front-loading purpose and key parameters. No redundant information.

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?

Adequately describes tool for listing with filters. Lacks pagination behavior info, but that is covered in schema descriptions.

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% with detailed descriptions. Description adds only a summary of filter options, not exceeding schema detail.

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?

Description clearly states verb 'List' and resource 'customers', with optional filters by store and email. Distinct from sibling 'get_customer' which implies single record.

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?

Mentions optional filters (store, email) guiding parameter usage, but does not explicitly contrast with alternatives like 'get_customer' or other list tools.

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

lemonsqueezy_list_discountsList discountsA
Read-only
Inspect

List discounts, optionally filtered to one store. API: GET /discounts (filter[store_id]).

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
store_idNoFilter to a single store id.
page_sizeNoResults per page (JSON:API page[size], max 100). Default 10.
page_numberNoPage number (JSON:API page[number]). Default 1.
Behavior3/5

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

Annotations declare readOnlyHint=true, and description adds HTTP method and filter parameter. No contradiction, but no added behavioral traits like pagination limits or ordering.

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, zero fluff. Purpose and API details front-loaded.

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 simple read-only list tool with well-documented schema, description covers core purpose and main filter. Could optionally mention response format (array of discounts) for completeness.

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 has 100% coverage; description adds API path reference but no new meaning for existing parameters.

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?

Description clearly states 'List discounts' – specific verb and resource. Differentiates from 17 sibling list tools by targeting discounts specifically.

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?

Implies usage as a list/filter tool but no explicit when-to-use or when-not-to-use guidance. No alternatives mentioned.

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

lemonsqueezy_list_license_keysList license keysA
Read-only
Inspect

List license keys, optionally filtered by store, order, or product. API: GET /license-keys (filter[store_id], filter[order_id], filter[product_id]).

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
order_idNoFilter to a single order id.
store_idNoFilter to a single store id.
page_sizeNoResults per page (JSON:API page[size], max 100). Default 10.
product_idNoFilter to a single product id.
page_numberNoPage number (JSON:API page[number]). Default 1.
Behavior3/5

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

The readOnlyHint annotation already declares this as a read-only operation. The description adds the API endpoint and filter parameters but does not discuss behavior such as pagination, rate limiting, or empty results. It adds moderate value beyond annotations.

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?

The description is extremely concise with two short sentences, no redundant information, and the main action is front-loaded.

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?

For a simple list tool, the description is adequate but lacks discussion of pagination (despite schema having page parameters) and return format. Given no output schema, the agent might need additional context on the response structure.

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?

All 6 parameters are described in the schema with full coverage. The description only mentions three filter options (store, order, product) without adding new semantic meaning. Thus, it provides marginal added value.

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?

The description clearly states the action 'List license keys' and specifies optional filters by store, order, or product. It distinguishes itself from sibling list tools by naming the specific resource (license keys).

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?

No when-to-use or when-not-to-use guidance is provided. The agent must infer usage from the tool name and context. There is no mention of alternative tools or prerequisites.

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

lemonsqueezy_list_ordersList ordersA
Read-only
Inspect

List orders, optionally filtered by store and/or buyer email. API: GET /orders (filter[store_id], filter[user_email]).

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
store_idNoFilter to a single store id.
page_sizeNoResults per page (JSON:API page[size], max 100). Default 10.
user_emailNoFilter to a buyer email.
page_numberNoPage number (JSON:API page[number]). Default 1.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so no contradiction. The description adds the API endpoint and filter details but does not disclose pagination behavior, rate limits, or any other behavioral traits. With annotations covering safety, this is adequate.

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?

The description is a single sentence that efficiently conveys purpose, optional filters, and the API endpoint. No filler or repetition.

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?

The tool is simple (list with filters), and the description covers the core functionality. No output schema exists, but the API endpoint is mentioned; however, pagination and response format are not described, which might be needed for a complete understanding.

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 all parameters are documented in the schema. The description only restates the filter parameters (store_id, user_email) already in the schema, adding no extra meaning beyond providing the API parameter names.

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?

The description clearly states the tool lists orders with optional filters by store and buyer email, distinguishing it from the sibling get_order tool. The verb 'List' and resource 'orders' are specific, and the scope (optionally filtered) is explicit.

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?

The description mentions optional filters (store_id, user_email), indicating when to use them. However, it does not explicitly contrast with alternative tools like get_order for individual retrieval, though the context is clear.

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

lemonsqueezy_list_pricesList pricesA
Read-only
Inspect

List price models, optionally filtered to one variant. API: GET /prices (filter[variant_id]).

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
page_sizeNoResults per page (JSON:API page[size], max 100). Default 10.
variant_idNoFilter to a single variant id.
page_numberNoPage number (JSON:API page[number]). Default 1.
Behavior4/5

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

Annotations already declare readOnlyHint. Description adds that it's a GET request with optional filter (variant_id). Provides useful behavioral insight beyond annotations.

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, minimal waste, front-loaded action and primary filter.

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, but parameter schema is fully described. Description covers core functionality. Pagination details are in schema. Adequate for a list tool.

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

Parameters4/5

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

All 4 parameters have schema descriptions (100% coverage). Description adds context by showing API syntax (filter[variant_id]), clarifying the variant_id parameter usage.

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?

Clearly states action (list), resource (price models), and optional filtering. Distinguishes from sibling list tools for different resources.

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?

Mentions optional filtering to a variant and API endpoint, but does not provide explicit when-to-use or when-not-to-use guidance compared to alternatives like list_variants.

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

lemonsqueezy_list_productsList productsA
Read-only
Inspect

List products, optionally filtered to one store. API: GET /products (filter[store_id]).

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
store_idNoFilter to a single store id.
page_sizeNoResults per page (JSON:API page[size], max 100). Default 10.
page_numberNoPage number (JSON:API page[number]). Default 1.
Behavior3/5

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

The readOnlyHint annotation already indicates read-only behavior. The description adds minimal extra context beyond that, simply stating 'list products'. No additional behavioral traits are disclosed.

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?

The description is very concise: two sentences that front-load the main action. Every word is useful, no waste.

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?

Given the tool's low complexity (list operation with optional filters) and good annotations, the description is mostly complete. It could mention pagination behavior or response structure, but the provided info (API endpoint) gives adequate context.

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 describes all parameters well. The description only mentions store_id and the API endpoint, not adding significant meaning beyond the schema.

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?

The description clearly states the action 'list products' and the resource 'products'. It also mentions optional filtering by store_id, and references the API endpoint. This differentiates it from sibling tools like lemonsqueezy_list_stores or lemonsqueezy_list_orders.

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 provides some context (optional filtering by store) but lacks explicit guidance on when to use this tool versus alternatives. No 'when not to use' or comparison to sibling tools is given.

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

lemonsqueezy_list_storesList storesA
Read-only
Inspect

List all stores in the account. API: GET /stores.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
page_sizeNoResults per page (JSON:API page[size], max 100). Default 10.
page_numberNoPage number (JSON:API page[number]). Default 1.
Behavior3/5

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

Annotations already indicate read-only behavior (readOnlyHint=true). The description adds the API endpoint but no additional behavioral context such as rate limits, pagination behavior, or effect on account state. The information is consistent but does not exceed what is already known.

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?

The description is a single sentence with no unnecessary words, plus a terse reference to the API endpoint. It is maximally concise while conveying the essential information.

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 simple list tool with pagination and include options fully described in the schema, the description suffices. It does not mention return format or count, but given no output schema and the intuitive nature of list operations, this is a minor gap.

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?

Input schema coverage is 100% for all three parameters (include, page_size, page_number), each with clear JSON:API descriptions. The description adds no parameter-level information beyond the schema, so it meets the baseline of 3.

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?

The description clearly states the action ('List'), resource ('stores'), and scope ('in the account'). It is unambiguous and distinct from sibling tools which list other entities.

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 states the basic purpose but provides no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. Given the simple nature of a list operation, this is adequate but not exemplary.

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

lemonsqueezy_list_subscription_invoicesList subscription invoicesA
Read-only
Inspect

List subscription invoices, optionally filtered by store, status, or refunded flag. API: GET /subscription-invoices (filter[store_id], filter[status], filter[refunded]).

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by invoice status (e.g. paid, void, refunded).
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
refundedNoFilter by refunded flag.
store_idNoFilter to a single store id.
page_sizeNoResults per page (JSON:API page[size], max 100). Default 10.
page_numberNoPage number (JSON:API page[number]). Default 1.
Behavior4/5

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

Annotations declare readOnlyHint=true, so the description only needs to add context. It adds filter capabilities, which is helpful. No contradictions.

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, front-loaded with purpose, no unnecessary words. Efficient and clear.

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 6 parameters and no output schema, the description covers filtering behavior but omits return format or pagination details. Acceptable for a list tool.

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% with clear descriptions for all parameters. The description only mentions three of six filters, adding marginal value beyond the schema.

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?

The description clearly states the action 'List subscription invoices' and specifies optional filters, distinguishing this tool from other list tools for different resources.

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?

No explicit guidance on when to use this tool versus alternatives like list_subscriptions or list_orders. Usage is implied by the resource name, but no exclusions or context are provided.

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

lemonsqueezy_list_subscriptionsList subscriptionsA
Read-only
Inspect

List subscriptions with rich filtering by store, status, product, variant, customer, or buyer email. API: GET /subscriptions (filter[store_id], filter[status], filter[product_id], filter[variant_id], filter[customer_id], filter[user_email]).

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by subscription status.
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
store_idNoFilter to a single store id.
page_sizeNoResults per page (JSON:API page[size], max 100). Default 10.
product_idNoFilter to a single product id.
user_emailNoFilter to a buyer email.
variant_idNoFilter to a single variant id.
customer_idNoFilter to a single customer id.
page_numberNoPage number (JSON:API page[number]). Default 1.
Behavior3/5

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

Annotations already declare readOnlyHint=true, so description adds only the API endpoint and filter names. No additional behavioral traits beyond what annotations provide, but no contradiction.

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 plus API reference, front-loaded with verb and resource. No unnecessary words, highly concise.

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?

Adequate for a list tool with 9 optional parameters and no output schema. Could mention pagination or return format, but the description combined with schema and annotations provides sufficient context.

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 has 100% coverage with descriptions for all parameters. The description lists filter names but does not add semantic depth beyond the schema. Baseline score of 3 is appropriate.

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?

Clearly states 'List subscriptions' with explicit mention of rich filtering by store, status, product, variant, customer, or buyer email. Distinct from sibling tools like get_subscription (single) and cancel_subscription.

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?

Implies usage for listing subscriptions with filtering, but does not explicitly state when to use this vs alternatives like get_subscription or list_subscription_invoices. Lacks explicit exclusions or 'when not to use' guidance.

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

lemonsqueezy_list_variantsList variantsA
Read-only
Inspect

List variants (price/plan tiers), optionally filtered to one product. API: GET /variants (filter[product_id]).

ParametersJSON Schema
NameRequiredDescriptionDefault
includeNoComma-separated related resources to sideload (JSON:API include=), e.g. 'store,variant'.
page_sizeNoResults per page (JSON:API page[size], max 100). Default 10.
product_idNoFilter to a single product id.
page_numberNoPage number (JSON:API page[number]). Default 1.
Behavior3/5

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

Annotations include readOnlyHint=true, so the description only adds minor context (GET /variants and filter). It does not contradict annotations. However, it does not disclose additional behavioral traits like pagination or rate limits; the schema already covers pagination details. The description contributes minimal value beyond the annotations.

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?

The description is two sentences with no extraneous words. The first sentence front-loads the purpose, and the second provides the API endpoint and filter. Every sentence is earned.

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?

Given the tool's simplicity (4 optional params, no output schema, readOnlyHint), the description is reasonably complete. It covers the core action and filter option. However, it lacks explicit mention of the return format (e.g., paginated list) or how to interpret the response, which could be inferred from the tool name but is not stated.

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 each parameter is already documented. The tool description only mentions the product_id filter, repeating what's in the schema. No additional meaning or usage guidance for parameters like include or pagination is added. Baseline 3 is appropriate.

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?

The description clearly states 'List variants (price/plan tiers)' with a specific verb and resource, differentiating it from sibling tools like list_products or list_customers. The parenthetical explanation of variants as price/plan tiers adds clarity. The mention of optional filtering by product_id further specifies its 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 implies usage for listing variants, optionally filtered to one product, but does not explicitly state when to use this tool over alternatives or when not to use it. No exclusions or context about avoiding this tool for other purposes are provided, leaving the agent to infer from the tool name and siblings.

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

lemonsqueezy_update_subscriptionUpdate subscriptionA
Destructive
Inspect

WRITE: Modify a LIVE subscription — change plan/tier (variant_id), cancel, pause/unpause, or set the billing anchor. This affects a real customer's billing. API: PATCH /subscriptions/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
pauseNoPause object (mode, resumes_at), or null to unpause.
cancelledNoSet true to cancel, false to un-cancel.
variant_idNoNew variant id to switch the plan/tier to.
billing_anchorNoDay of month (1-31) to anchor billing to.
subscription_idYesSubscription id to update (required).
Behavior4/5

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

Annotations already set destructiveHint=true. The description adds value by listing specific mutations and emphasizing effects on real billing. No contradiction.

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, no fluff. Front-loaded with 'WRITE' for quick action inference. Every sentence adds value.

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?

No output schema is provided, and the description does not mention the return value (e.g., updated subscription object). For a mutation tool with 5 parameters and no output schema, this is a gap, but the main uses are well covered.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description groups parameters by purpose ('change plan/tier (variant_id), cancel, pause/unpause, or set the billing anchor'), adding semantic clarity beyond the schema.

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?

The description clearly states a specific verb ('WRITE: Modify') and resource ('LIVE subscription'), lists exact actions (change plan/tier, cancel, pause/unpause, set billing anchor), and distinguishes from siblings by emphasizing real customer billing impact.

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?

It specifies the context ('LIVE subscription') and warns of real billing impact. However, it does not explicitly differentiate when to use this tool versus the sibling 'lemonsqueezy_cancel_subscription' for cancellation, nor provide exclusions.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.