Skip to main content
Glama
stornoro

Storno CLI

by stornoro

expiries_update

Update expiry items: adjust the expiration date to restart reminders, detach a vehicle, or close an item manually without generating the next one.

Instructions

Update an expiry item. Changing expiresAt restarts the reminders. vehicleId: null detaches it from the vehicle; closed: true closes it by hand (without creating the next one).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNo
uuidYesExpiry item UUID
labelNoDisplay label (default: the kind's name, e.g. "RCA")
notesNo
closedNo
numberNoPolicy / certificate / contract number
providerNoInsurer, ITP station, leasing company, certificate provider …
companyIdNoCompany UUID (overrides STORNO_COMPANY_ID env var)
expiresAtNo
validFromNoValid from, YYYY-MM-DD
vehicleIdNo
remindDaysBeforeNoFirst reminder this many days before (default 30); then 7, 1 and 0 days

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.48

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It reveals three meaningful side effects: changing `expiresAt` restarts reminders, setting `vehicleId` to null detaches the item, and `closed: true` manually closes without renewal. These go well beyond a generic 'update' statement and provide agent-relevant consequences. Minor omissions remain, such as whether the update is partial or what the response contains, but the key behaviors are transparent.

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 sentences, each adding distinct value: the action, an important side-effect, and two edge-case behaviors. There is no filler, the purpose is front-loaded, and every clause earns its place.

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

Completeness3/5

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

For a 12-parameter mutation with no output schema and no annotations, the description covers the most important behavioral branches but leaves a few gaps: whether omitted fields are left unchanged (partial update), what the tool returns, and any required permissions or ownership context. These are not critical for basic invocation but would aid a fully autonomous agent.

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 description coverage is 58%, so the description must compensate. It adds crucial semantics for three previously undocumented parameters (`expiresAt`, `vehicleId`, `closed`) by explaining their side effects. This meaningfully supplements the schema, and for the remaining undocumented `kind` and `notes`, the schema provides enough context via enum values and naming.

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 opens with 'Update an expiry item', a specific verb+resource pairing. It further differentiates from siblings like expiries_renew by noting that closing via `closed: true` does not create the next one, and it explains behavioral nuances of `expiresAt` and `vehicleId` that are unique to this update operation.

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?

The description makes it clear that this tool is for updating an existing expiry item feed. The note that `closed: true` closes 'without creating the next one' indirectly contrasts with expiries_renew, giving conditional context. However, it does not explicitly name alternative tools or provide a 'use this when...' vs 'use that when...' decision rule.

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

Deploy Server

Other Tools