Skip to main content
Glama

Checkout URL

billing_checkout_url

Hosted instances: a Stripe Checkout URL for a plan (or, when the account already pays, the Billing Portal page that confirms the plan change).

Instructions

Hosted instances: a Stripe Checkout URL for a plan (or, when the account already pays, the Billing Portal page that confirms the plan change). Returns { url, kind: "checkout" | "change" }; a person must open it in a browser, an agent cannot pay. Plans and intervals come from get_billing.

Input Schema

NameRequiredDescriptionDefault
planYesPlan name from get_billing (e.g. creator, pro)
intervalNoBilling interval: month (default) or yearmonth

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.17.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the return shape and the two possible `kind` outcomes, and warns that payment requires a human in a browser. It never says whether calling it creates a Stripe session as a side effect or is idempotent, which matters for a tool that provisions checkout state.

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?

Three dense clauses with no filler, front-loaded with the 'Hosted instances' scope qualifier. The nested parenthetical and 'Returns { url, kind: ... }' shorthand make it slightly harder to parse than it needs to be, but nothing is wasted.

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?

No output schema exists, and the description compensates by naming the returned fields and the `kind` discriminator. Parameters, hosting scope, human-in-the-loop requirement, and the alternate return path are all covered, so an agent knows what it will get and what to do with it.

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 schema already documents both `plan` (from get_billing) and `interval` (month/year with default), so the description repeats rather than extends that. It adds nothing about format constraints, casing, or invalid-plan behavior 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?

States exactly what is returned: a Stripe Checkout URL for a plan, or the Billing Portal page when the account already pays. It explicitly distinguishes itself from get_billing, which supplies the plan/interval values rather than the URL.

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?

Clear context: 'Plans and intervals come from get_billing' routes the agent to the sibling that supplies inputs, and 'a person must open it in a browser, an agent cannot pay' sets a hard usage constraint. The 'Hosted instances' prefix implies self-hosted installs are unsupported, but that exclusion is left implicit.

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