Skip to main content
Glama

Create checkout link

create_checkout_session

Get a Stripe checkout link for a paid plan, for an account on the free plan. Give the link to the user to open and pay; nothing is charged until they do. To change or cancel a paid plan, use create_billing_portal_session.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "plan_id": "<plan_id>",
      "interval": "<interval>"
    },
    "name": "create_checkout_session"
  }
}

Input Schema

NameRequiredDescriptionDefault
plan_idYes
intervalYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare the generic profile (not read-only, open-world, not idempotent, non-destructive); the description adds the materially useful fact that nothing is charged until the user opens the link and pays, which reframes this as generating an offer rather than performing a purchase. It does not mention that each call yields a new session (non-idempotent) or what happens if the account is already paid, leaving some behavioral gaps.

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 sentences, front-loaded with the outcome, then the user-facing action, then the alternative tool. Nothing is repeated and no sentence is filler.

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 two-parameter, enum-only tool with no output schema, the description covers purpose, precondition, user action, and the sibling alternative. Minor omissions remain around link lifetime/expiry and the error path when the account is already on a paid plan, but nothing that blocks correct invocation.

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 0%, so the description must carry the load; it only loosely contextualizes the two fields by framing plan_id as a paid plan and the charge timing that interval governs. The allowed values (starter/growth, month/year) are self-documenting via enums, so the practical gap is small, but the description adds no explicit meaning to either parameter.

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 (get a Stripe checkout link) plus the exact scope (a paid plan for an account currently on the free plan). It also names the sibling it is not, so create_checkout_session is distinguishable from create_billing_portal_session without inspecting either 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?

Explicitly gives the use condition (upgrading a free-plan account to a paid plan) and routes the alternative case — changing or cancelling a paid plan — to create_billing_portal_session by name. The agent has both the when and the when-to-use-something-else.

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.

Resources