Skip to main content
Glama

Upgrade plan

upgrade_plan

Start paying for Pro or Team. Returns a single-use link to a prefilled Stripe Checkout page; the user opens it and confirms, and card details are only ever entered there. Pro is for a one-person workspace. If the workspace already pays, the link opens its billing page, where Pro can be switched to Team in place. Ask which workspace if the user manages several.

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": "<plan>"
    },
    "name": "upgrade_plan"
  }
}

Input Schema

NameRequiredDescriptionDefault
planYesPlan id from list_plans.
teamIdNoWorkspace (team) ID from billing_status. Omit when the user manages exactly one workspace.
currencyNoISO 4217 code to be quoted in, e.g. USD or CAD. A returning customer keeps their first currency.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

Adds substantial non-obvious behavior beyond the annotations: the tool returns a link rather than performing the purchase, card details are only ever entered on Stripe's page (a security-relevant constraint), and the link degrades gracefully to a billing page when the workspace already pays. This meaningfully complements openWorldHint and idempotentHint=false. It stops short of describing error paths or the currency-quoting side effects.

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?

Four short sentences, front-loaded with the action and the return value, then the plan distinction, then the already-paying edge case, then the multi-workspace caveat. Nothing is redundant with the schema or annotations.

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?

For a three-parameter mutation with no output schema, the description covers what the tool produces (a single-use prefilled link), where the actual mutation happens, and the two edge cases an agent is likely to hit. An agent can call this correctly and explain the result to the user without further information.

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 coverage is 100%, so baseline is 3, but the description adds meaning beyond it: 'Pro is for a one-person workspace' explains when the plan enum value applies, and 'Ask which workspace if the user manages several' gives operational guidance for teamId that the schema only states as a rule. The currency parameter is left entirely to 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 a specific verb and outcome ('Start paying for Pro or Team') plus the concrete mechanism ('Returns a single-use link to a prefilled Stripe Checkout page'). This clearly separates it from read-only siblings like list_plans and billing_status, and from manage_subscription, which handles existing subscriptions rather than initiating checkout.

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?

Gives real selection context: 'Pro is for a one-person workspace', 'If the workspace already pays, the link opens its billing page, where Pro can be switched to Team in place', and 'Ask which workspace if the user manages several.' It never names the alternative tools (billing_status, manage_subscription, list_plans) explicitly, so the agent must infer the routing, but the when-to-use conditions themselves are clear.

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