Skip to main content
Glama

Create a checkout link for a paid add-on

create_checkout

Create a Stripe checkout URL for one paid add-on on one listing, and return it for a HUMAN to open. Never present this as a completed purchase: nothing is charged until a person completes checkout in a browser. Returns an error when the listing doesn't exist, the add-on isn't purchasable yet (free early access), or payments aren't configured in this environment.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYesThe listing's slug (as in a toolUrl, e.g. '/tools/acme-writer' -> 'acme-writer').
productYesAdd-on key: premium_launch, review_one, review_monthly, network_all, network_three. See list_offers for names, effects, and prices.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
errorNo
checkoutUrlNoA URL a HUMAN must open. Nothing is charged until a person completes it.
instructionNo

TDQS

A4.5/5.0
Behavior5/5

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

The description discloses essential behavior beyond what the annotations reveal: creating the URL has no immediate charge side effect, a human must open the link, and the tool errors in three concrete cases (missing listing, free early access, unconfigured payments). Since the annotations only hint at mutability and open-world behavior, this level of detail is what makes the tool's runtime behavior predictable.

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 sentences with no wasted space: the first states the primary action, the second adds the crucial side-effect caveat, and the third enumerates all error conditions. Core information and caveats are front-loaded, so an agent gets the semantics immediately.

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?

Given the tool's low parameter count, the existing annotations (notably openWorldHint and destructiveHint=false), the documented error conditions, and the presence of an output schema, the description covers everything necessary to invoke the tool correctly. It tells the agent how to use the returned value, what side effects to expect, and when it will fail.

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 slug already providing a concrete example and product having a fixed enum, so the description carries little parameter burden. It adds minor semantic signal (one add-on, one listing at a time) that echoes the logged behavior, but it doesn't need to compensate for gaps. This fits the baseline of 3 for fully documented 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?

The opening sentence states a specific verb and resource: "Create a Stripe checkout URL for one paid add-on on one listing," with explicit scoping and the human-consumption framing ("return it for a HUMAN to open"). This clearly differentiates it from siblings like get_tool, list_offers, and submit_tool, which perform different actions on listings or offers.

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 conveys when to use it clearly — to generate a checkout URL for a paid add-on — and provides a critical when-not rule: never present the result as a completed purchase since nothing is charged until a human finishes checkout. However, it never explicitly names an alternative like list_offers for discovering which add-ons are purchasable; the error conditions are behavioral constraints rather than tool-selection guidance.

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.

TDQS

A4.7/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: search returns catalog matches, get_tool returns detailed listing, list_alternatives finds competitors, submit_tool creates a draft, list_offers describes purchasable add-ons, and create_checkout handles the purchase step. No two tools appear to overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: create_, get_, list_, list_, search_, submit_. Verbs are specific and nouns clearly identify the object, making the set predictable and easy to navigate.

Tool Count5/5

Six tools is well-scoped for a directory server with discovery, submission, and monetization features. Each tool covers a meaningful operation, with no redundancy or bloat.

Completeness4/5

The surface covers core workflows: finding tools, viewing full details, seeing alternatives, submitting a listing, and purchasing paid add-ons. Minor gaps remain around listing management—there is no update or delete operation for submitted tools—but these are plausibly handled outside the MCP or by the human claiming the listing.

Resources