Skip to main content
Glama

Create Checkout

create_checkout

Top up the CURRENT org's credit wallet. Body { plan: "credit_pack_10"|"credit_pack_30"|"credit_pack_100" } → returns { url }: a hosted Stripe checkout page to open in a browser and confirm payment. There are no subscription tiers — a pack is a one-off top-up, and it is also the only thing that raises the generation (premium_credits) allowance. Always a URL — an existing saved card is NEVER charged silently; the human confirms on Stripe. The org is resolved from your key, never the body. Requires the billing:write scope. Only send a user here when get_account shows the relevant balance at or near zero. Discover the packs with list_plans.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoHosted Stripe checkout URL to open in a browser to complete payment. Always present on success — an existing saved card is never charged without confirming here.
planNo
intervalNo
productIdNoResolved billing catalog product id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond annotations: the return shape (a hosted Stripe URL), the guarantee that a saved card is never silently charged, that the human confirms on Stripe, that the org comes from the key and not the body, and the required billing:write scope. The non-destructive/one-off nature aligns with destructiveHint=false and is reinforced rather than merely repeated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Front-loaded with purpose and return value, then constraints, then when-to-use. Dense and mostly waste-free, though the multiple mid-sentence clauses and emphatic caps make it slightly heavier than necessary.

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?

With an output schema present the description needn't detail returns, yet it summarizes { url } anyway plus auth scope, org resolution and eligibility criteria. Complete enough that an agent can select and invoke it correctly on the first try; the only loose end is the unmentioned `interval` field, which is a schema inconsistency more than a description omission.

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 description coverage is 0%, so the description must compensate: it enumerates the three plan values and explains that the org is never passed in the body. However it is silent on the schema's `interval` field, which it arguably contradicts by declaring 'no subscription tiers' — a real gap in parameter coverage.

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 up front: 'Top up the CURRENT org's credit wallet.' An agent can tell this apart from billing siblings like list_plans (discovery) and get_account (balance check) without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('Only send a user here when get_account shows the relevant balance at or near zero') and explicit routing to the discovery alternative ('Discover the packs with list_plans'). The when-not condition is inferable from that same sentence.

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.