Skip to main content
Glama

Create a subscription payment link

subscribe_to_plan

Creates a Stripe-backed payment link to subscribe to (or switch to) a plan from list_plans. The link must be opened and approved by the account owner in a browser - this tool never charges a card by itself.

Input Schema

NameRequiredDescriptionDefault
planYesPlan identifier from list_plans (e.g. indie_plan_outside, startup_plan, pro_plan)

Output Schema

NameRequiredDescriptionDefault
payment_urlYes
amount_centsYes
human_approval_requiredYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations mark this as non-read-only, non-destructive and non-idempotent; the description adds valuable context beyond them by clarifying that no card is charged directly and that owner browser approval is required. It does not, however, mention that repeated invocations create separate links (relevant given idempotentHint=false) or any auth/permission expectations.

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?

Two tight sentences with no waste; the core action is front-loaded and the important constraint (no charge without browser approval) follows 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?

An output schema exists, so return values need not be explained. For a one-parameter tool, the description covers origin of the plan ID, the human-approval flow, and the no-charge guarantee — nothing material is missing.

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 100% and there is a single required parameter, so the schema already carries the parameter meaning. The phrase 'from list_plans' reinforces the plan identifier's source but adds no syntax or format detail beyond the schema, matching the baseline 3.

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 states a precise verb (creates) and resource (a Stripe-backed payment link) for subscribing to or switching plans, and anchors the 'plan' value to the sibling tool list_plans. An agent can distinguish it from buy_bonus_requests or create_renewal_payment without opening the schema.

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?

It makes clear the intended flow: the link must be opened and approved by the account owner in a browser, and the tool never charges a card itself. That is strong usage context, but it does not explicitly state when to prefer this over the payment-related siblings (e.g., buy_bonus_requests vs create_renewal_payment).

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