Skip to main content
Glama
YawLabs

@yawlabs/lemonsqueezy-mcp

by YawLabs

ls_update_license_key

Idempotent

Update a license key's activation limit, expiry date, or disable it to revoke customer access.

Instructions

Update a license key's activation limit, expiry date, or disabled status. Setting disabled: true revokes customer access and is treated as destructive (rate-limited and audited).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
licenseKeyIdYesThe license key ID to update
activationLimitNoMaximum number of activations allowed (0 = unlimited)
disabledNoSet to true to disable this license key
expiresAtNoExpiry date (ISO 8601 format). Set to null to remove expiry.
Behavior1/5

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

The description states that setting disabled: true is 'treated as destructive (rate-limited and audited)', but the annotations set destructiveHint to false. This is a direct contradiction, severely misleading the agent about the tool's safety profile.

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: the first states the purpose, the second adds critical behavioral context. Both sentences earn their place with no fluff.

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 update tool with no output schema and 4 well-described parameters, the description covers the main purpose and highlights the destructive nuance. It could mention idempotency (already in annotations) but is otherwise adequate.

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 each parameter already has a description. The description merely reiterates the parameter names without adding new semantic information, so it provides no extra 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 (update) and the specific resource (license key) and fields (activation limit, expiry, disabled status). It distinguishes the tool from siblings like ls_deactivate_license by implying that disabling is just one aspect of updating.

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 guidance about disabling being destructive and rate-limited, but it does not explicitly compare with alternatives like ls_deactivate_license or explain when to use this tool versus other related tools. The usage context is partially implied.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/YawLabs/lemonsqueezy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server