Skip to main content
Glama

Add Plan Feature

add_plan_feature
Idempotent

Add an on/off feature to what a plan includes, or rename one it already has (idempotent by feature key; other features are kept). Arguments: key (plan key), feature (feature key, e.g. "analytics") and name (what customers read, e.g. "Analytics"; defaults to the key). A plan feature is an on/off feature the plan sells; gate it with a feature flag whose rule is bridge:billing.entitlement.<featureKey> eq true, so the flag follows the plan's feature list and never names plans. Something counted (projects, API calls) is a quota instead: set_plan_quota. Use remove_plan_feature to take a feature off a plan. Returns the full plan. 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 (see list_plans).
nameNoDisplay name customers read, e.g. "Analytics". Defaults to the key, or keeps the current name.
featureYesFeature KEY, e.g. "analytics". It becomes the entitlement bridge:billing.entitlement.<key>.

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 already declare idempotentHint=true, destructiveHint=false and readOnlyHint=false, but the description goes further: it discloses that idempotency is keyed on the feature key, that other features are preserved, that the call returns the full plan, and the exact entitlement bridge pattern the plan feature must be gated with. That is genuine added context a mutation tool needs.

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-loads the core action, then arguments, then the conceptual/entitlement context, then sibling routing; each block is useful, though the 'Arguments:' line partially restates the schema. Slightly long but no sentence is wasted.

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?

With no output schema, the description supplies the return value ('Returns the full plan'), the idempotency and preservation semantics, and the integration guidance. For a 4-param mutation tool this is complete enough for correct invocation.

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 conceptual linkage the schema lacks: it names the entitlement form bridge:billing.entitlement.<featureKey> and clarifies that 'name' is what customers read versus the key. It mostly echoes schema content (defaults to the key), keeping it from 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?

States a specific verb and resource ('Add an on/off feature to what a plan includes, or rename one it already has') and pins the scope precisely, including the dual add/rename behavior. It explicitly distinguishes the resource from siblings by defining a plan feature as an on/off entitlement versus something counted.

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: counted things belong to set_plan_quota, and removing a feature uses remove_plan_feature. It also adds a forward-looking instruction to call get_integration_guide with topic=billing before writing app code, giving clear when-to-use context beyond the tool itself.

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.