Skip to main content
Glama
wallos-mcp

wallos-mcp

Update a subscription

update_subscription
Idempotent

Modify fields on an existing Wallos subscription by passing only the values to change; other fields stay intact, and null clears fields like category, payer, or notes.

Instructions

Changes fields on an existing subscription. Only the fields you pass are touched, everything else is left as it was. Pass null to clear a field such as category, payer or notes.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "update_subscription"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesId of the subscription to change.
urlNoLink to the subscription’s management page.
nameNoSubscription name, e.g. "Netflix".
cycleNoRaw Wallos cycle: 1 days, 2 weeks, 3 months, 4 years.
notesNoFree text; Markdown is rendered by Wallos.
payerNoHousehold member who pays, by name or id. Null clears it.
priceNoAmount charged per billing period.
notifyNoWhether Wallos sends payment reminders.
categoryNoCategory name or id. Created if it does not exist, unless create_missing is false. Null clears it.
currencyNoCurrency code or id, e.g. "EUR". Defaults to the main currency on create.
inactiveNoMark it as cancelled or no longer used.
logo_urlNoImage URL that this Wallos instance downloads as the logo. It must be able to reach that URL.
frequencyNoRaw Wallos frequency, i.e. how many cycles.
auto_renewNoWhether it renews automatically. Defaults to true in Wallos.
start_dateNoFirst billing date, YYYY-MM-DD. Defaults to today on create.
next_paymentNoNext charge date, YYYY-MM-DD. Derived from start_date when omitted.
billing_periodNoHow often it is charged. Accepts daily, weekly, biweekly, monthly, quarterly, semiannually, yearly, or "every N days|weeks|months|years".
create_missingNoCreate categories, payment methods and household members named here when they do not exist. Defaults to true.
payment_methodNoPayment method name or id. Created if it does not exist, unless create_missing is false. Null clears it.
cancellation_dateNoCancellation date, YYYY-MM-DD.
notify_days_beforeNoDays before the charge to notify, when reminders are on.
replacement_subscriptionNoId of the subscription that replaced this one. Only kept when the subscription is inactive.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare writable, non-destructive, idempotent behavior. The description adds genuinely new behavioral context: this is a PATCH-style merge, not a replace, and passing null is the documented way to clear a field. It omits error behavior for invalid ids and the create_missing side effect, so not a 5.

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 with the core merge semantics front-loaded and no redundant restatement of field names. Every sentence carries a distinct rule.

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 22-parameter mutation tool with full schema coverage and no output schema, the description covers the one thing the schema cannot express well: merge vs. replace and null-as-clear. Only error/not-found behavior and the create_missing fallback are left implicit.

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 every one of the 22 parameters is documented in the schema itself, establishing the baseline of 3. The description restates the null-clearing semantics that the schema already gives for category, payer and notes, adding little beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Changes fields on an existing subscription'), which implicitly separates it from create_subscription and delete_subscription in the sibling list. It does not explicitly name those siblings, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The partial-update contract ('only the fields you pass are touched') tells the agent how to use it, and the null rule implies when to clear vs. omit. However, there is no explicit guidance on when to prefer this over delete/create or what happens with a non-existent id.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.