Skip to main content
Glama

upgrade_plan

⛔ RETIRED PLAN SYSTEM — do not offer this as Dock's pricing. Moves the caller's org between the retired org plans, which buy resource CAPS only and are not what Dock sells: Pro (10 agents, 20 members, 200 workspaces, 5k rows per workspace) or Scale (30 agents, 60 members, 1,000 workspaces, 50k rows per workspace). The prices are retired and deliberately not stated here. Dock's live product is per-person plans — see get_billing's currentPlans — and it CANNOT be bought through this tool. Note "scale" means different things in the two systems. The bill doesn't change as you add agents. If the org has no card on file, returns a Stripe Checkout URL for the human. If a card exists, a live plan switch (Pro ↔ Scale) is consent-gated. Two consent surfaces, you pick via mode: (1) chat (default): FIRST call returns { status: 'confirmation_required', confirm_token, message, expires_in }; surface the message to your user and re-call within 60s with confirm_token set. (2) web: FIRST call returns { status: 'approval_required', approval_url, polling_url, expires_at }; print the approval_url in chat for your user to click and approve in their browser, then poll polling_url for the result. For a person, no-card and same-plan paths execute on the first call (no money changes hands). If you are a Dock agent, a plan switch, or a same-plan call while a downgrade is scheduled, returns the web approval for the org owner to approve; mode and confirm_token are ignored.

Input Schema

NameRequiredDescriptionDefault
modeNoConsent surface. 'chat' (default) uses the in-chat confirm_token round-trip. 'web' returns an approval_url the user clicks in a browser. Use 'web' if you're headless or your user prefers a click-to-approve flow.
planNoTarget plan. Defaults to 'pro'.
confirm_tokenNoChat-mode only. The token returned by the first call as `confirm_token`. Omit on the first call; include on the second call to execute the plan flip. Single-use, 60s TTL, bound to {org, caller, operation, params}.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so thoroughly: it discloses that the plan system is retired, that no money changes hands on same-plan/no-card person paths, that no-card returns a Stripe Checkout URL, and that real plan switches are consent-gated. It also describes both consent surfaces, the token round-trip, approval_url polling, and the special handling when the caller is a Dock agent.

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?

The most important warning is front-loaded with a clear retired-system marker, and the consent flow is organized by mode. It is longer than ideal and includes some repeated retired-plan detail, but the complexity and misuse risk justify most of the length.

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 complex, annotation-free, consent-gated mutation tool with no output schema, the description is unusually complete: it covers return shapes for both consent surfaces, edge cases for no-card and same-plan calls, agent behavior, and the retired-vs-live product distinction. An agent has enough information to call it correctly or avoid it.

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 the baseline is 3, but the description adds cross-parameter behavior beyond the schema: chat mode requires re-calling within 60s with confirm_token, web mode returns approval_url and polling_url, and mode plus confirm_token are ignored when a Dock agent triggers an approval. The individual enum meanings are already well covered in the schema, so it does not need a 5.

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 specific verb and resource: it moves the caller's org between retired org plans and explicitly says this is not Dock's live pricing product. It distinguishes the retired Pro/Scale caps from the per-person plans referenced via get_billing, so an agent can identify the tool's scope 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 gives strong when/when-not guidance: do not offer this as Dock's pricing, the live product cannot be bought here, and get_billing's currentPlans is the correct live-plan surface. It also explains no-card and same-plan execution and agent-specific approval behavior, but it does not explicitly mention the sibling downgrade_plan for plan reductions.

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.