Skip to main content
Glama

Start plan upgrade

start_plan_upgrade

Get the user a link to move a workspace onto a Replo plan. Returns { status, url, message }. status checkout: url opens a page where the user signs in and continues to Stripe Checkout for a free workspace, and nothing is charged until they pay there. status manage_in_dashboard: url opens a page where they sign in and continue to the workspace's billing settings, for one that already has a plan or can't buy this one from chat; chat never changes an existing subscription. Either link works for 30 minutes; share it, and when the user says they finished, call get_plan_options to see the plan the workspace is on now. status done: the workspace is already on that plan, so there's nothing to share. Call only after the user chose the plan, usually from get_plan_options.

Input Schema

NameRequiredDescriptionDefault
planYesThe plan to buy: starter or pro.
intervalNoBilling interval; monthly only from chat.month
workspaceIdYesReplo workspace id, from list_workspaces.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / properties / workspaceId / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  2. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that nothing is charged until the user pays in Stripe, that chat never changes an existing subscription, that links expire after 30 minutes and must be shared with the user, and that status 'done' means there is nothing to share. With readOnlyHint=false and openWorldHint=true, this is exactly the added context needed to use the tool safely.

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 the core action and return shape before branching into status semantics. It is dense but every sentence carries a distinct branch rule; the one weakness is the long unbroken run of status clauses without visual structure.

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, yet the description fully enumerates the three status values and their meanings, plus link lifetime and handoff behavior. An agent could call this and interpret the response correctly without any additional documentation.

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 both enums are documented, so parameters are already self-explanatory. The description adds only the implicit constraint that a plan choice comes from get_plan_options and that intervals are monthly-only from chat, which is marginal beyond the schema. Baseline 3 applies.

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?

Names a specific verb and resource ('get the user a link to move a workspace onto a Replo plan') and immediately lists the return shape { status, url, message } with each status explained. This makes it clearly distinct from the sibling get_plan_options, which is positioned as the prerequisite lookup rather than the link generator.

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?

States the precondition explicitly ('Call only after the user chose the plan, usually from get_plan_options') and gives the follow-up step ('when the user says they finished, call get_plan_options'). It also names when the manage_in_dashboard branch applies instead of checkout, so the agent knows how to route each case.

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