Skip to main content
Glama

Update Plan

update_plan
Idempotent

Update an existing subscription plan by its key. Only the fields you pass are changed: name (the display name; flag rules read the plan's features, never its name, so renaming never changes who a rule matches), description, trial and trialDays. Set trial=false to REMOVE a trial from a plan that has one. Prices and quotas are NOT updated here — use set_plan_price / remove_plan_price and set_plan_quota / remove_plan_quota instead. Before writing app code that consumes this, call get_integration_guide with topic=billing and the framework the app uses.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appNoId of the Bridge app to act on for this call (see list_apps). Omit to use the current app.
keyYesPlan KEY of the plan to change (see list_plans).
nameNoNew display name.
trialNoWhether the plan has a trial period. Pass false to remove an existing trial.
trialDaysNoTrial period length in days.
descriptionNoNew description.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations cover safety (readOnlyHint=false, idempotentHint=true, destructiveHint=false), and the description adds genuinely non-obvious behavior: patch semantics ('Only the fields you pass are changed'), the removal trick ('Set trial=false to REMOVE a trial'), and that renaming a plan never changes flag-rule matching. This is exactly the context annotations cannot express.

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 operation and the partial-update rule, and every sentence carries information (removal semantics, sibling routing, integration guide). It is a dense single block, but nothing is padding.

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 mutation tool with full annotations and no output schema, the description covers patch semantics, destructive edge cases (trial removal), sibling routing, and a setup prerequisite. An agent has everything needed to call it correctly.

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 semantics the schema lacks: the trial=false removal behavior and the decoupling of name from flag-rule evaluation. It does not, however, explain the app-parameter override behavior beyond what the schema already says.

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?

Opens with a specific verb+resource+identifier: 'Update an existing subscription plan by its key.' It also enumerates exactly which fields are mutable (name, description, trial, trialDays), which cleanly separates it from create_plan, get_plan, and the price/quota siblings.

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?

Explicitly routes the agent away from this tool for non-covered concerns ('Prices and quotas are NOT updated here — use set_plan_price / remove_plan_price and set_plan_quota / remove_plan_quota instead') and names a prerequisite helper (get_integration_guide with topic=billing) for consuming code. Both when-to-use and when-not-to-use are stated.

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.