Skip to main content
Glama

update_subscription

Update fields on an existing subscription or bill. Only provided fields are changed. To toggle active state use toggle_subscription_active instead. Requires finance:write scope.

Input Schema

NameRequiredDescriptionDefault
idYesUUID of the subscription to update
nameNoNew display name
typeNoNew type: "subscription", "bill", or "installment". Switching to installment requires maxOccurrences and dueDate to be set (pass them in the same call).
notesNoNew notes, or null to clear
dueDateNoNew first/next payment date (ISO 8601), or null to clear the schedule
endDateNoNew end date (ISO 8601), or null to clear
isActiveNoActive state (prefer toggle_subscription_active instead)
accountIdNoNew account ID, or null to clear
frequencyNoNew billing frequency
startDateNoNew start date (ISO 8601)
categoryIdNoNew category ID, or null to clear
expectedAmountNoNew expected payment amount as a decimal (e.g. 9.99)
maxOccurrencesNoNew total number of payments, or null for an indefinite schedule
expectedCurrencyCodeNoNew currency code for expectedAmount

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the burden; it usefully discloses partial-update semantics and the required finance:write scope, plus a redirect for the isActive field. It omits other behavioral traits such as reversibility, error behavior on invalid type switches, or effects on linked transactions, so it is adequate rather than rich.

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?

Three short sentences, all front-loaded: purpose, partial-update behavior, then the alternative and prerequisite. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter mutation tool with no annotations and no output schema, the description covers the key items an agent needs: what it modifies, that updates are partial, the required scope, and the correct alternative for toggling. Missing only secondary details like return value or downstream effects, which is minor given the fully documented schema.

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%, so the schema already documents all 14 parameters (including null-to-clear and installment constraints). The description's 'Only provided fields are changed' adds partial-update meaning, but no per-parameter detail beyond the schema, so 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?

States a specific verb ('Update') and resource ('fields on an existing subscription or bill'), and adds that it is a partial update ('Only provided fields are changed'). It also names the sibling toggle_subscription_active as the tool to use for the one case it does not cover, so an agent can distinguish it without opening a 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?

Gives an explicit when-not/alternative ('To toggle active state use toggle_subscription_active instead') and a prerequisite ('Requires finance:write scope'). It does not address when to prefer this over link_transactions_to_subscription or update_transaction, but the routing to the closest sibling is 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.