Skip to main content
Glama
stornoro

Storno CLI

by stornoro

clients_update

Update an existing client by UUID, changing only the fields you provide. Correct or refine client details in Storno CLI.

Instructions

Update an existing client by UUID. All fields are optional — only the provided fields will be updated.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cnpNoPersonal numeric code / CNP (for individual type)
cuiNoCompany tax ID / CUI (for company type)
cityNoCity
nameNoClient name (company or individual full name)
typeNoClient type: "company" or "individual"
uuidYesClient UUID to update
emailNoClient email address
notesNoInternal notes about the client
phoneNoClient phone number
countyNoCounty / state
statusNoPartner rule: active (default), warning (a notice is shown when the client is picked on an invoice) or blocked (the client cannot be invoiced — issue is refused)
addressNoStreet address
countryNoISO 3166-1 alpha-2 country code
vatCodeNoVAT registration code (e.g., RO12345678)
bankNameNoBank name
currencyNoPreferred currency for this client (ISO 4217, e.g., EUR, USD, RON)
idNumberNoClient identification number (personal ID, passport, etc.)
companyIdNoCompany UUID override (uses active company if not set)
affiliatedNoAffiliated party — D394 sets prsAfiliat = 1 when an affiliated partner appears on an invoice of the period
isVatPayerNoWhether the client is registered for VAT
postalCodeNoPostal / ZIP code
bankAccountNoIBAN or bank account number
creditLimitNoPartner rule: maximum outstanding balance in the company currency; issuing an invoice that would exceed it returns a `warning` (never a refusal). null removes the limit
contactPersonNoName of the primary contact person
registrationNumberNoTrade registry number (e.g., J40/1234/2020)
defaultPaymentTermDaysNoDefault payment term in days for invoices issued to this client

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.0.48
    • addedInput schema / properties / affiliated
      Added value: +{
      +  "description": "Affiliated party — D394 sets prsAfiliat = 1 when an affiliated partner appears on an invoice of the period",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / creditLimit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "minimum": 0,
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Partner rule: maximum outstanding balance in the company currency; issuing an invoice that would exceed it returns a `warning` (never a refusal). null removes the limit"
      +}
    • addedInput schema / properties / status
      Added value: +{
      +  "description": "Partner rule: active (default), warning (a notice is shown when the client is picked on an invoice) or blocked (the client cannot be invoiced — issue is refused)",
      +  "enum": [
      +    "active",
      +    "warning",
      +    "blocked"
      +  ],
      +  "type": "string"
      +}
  2. First observedv1.0.17

TDQS

C2.9/5.0
Behavior2/5

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

Annotations are absent, so description must disclose behavior. It states partial update semantics, but doesn't mention whether the client's absence causes an error, potential side effects, or response format (e.g., returns updated client). No mention of authorization or rate limits.

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?

Single sentence, front-loaded with the core action and the partial-update semantics. No filler. Could have been slightly more informative without breaking conciseness.

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

Completeness2/5

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

With 26 parameters, no annotations, and no output schema, the description should cover more behavioral context: error handling for non-existent UUID, response payload, and any constraints. The schema handles parameter details, but the description doesn't explain how the update affects existing data beyond the sparse mention.

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 covers 100% of parameters with detailed descriptions, many include enum meanings and business context (e.g., status impact). The description adds the key insight that fields are optional and only provided ones are updated, which is useful. Since schema is rich, baseline is 3; the description adds marginal value.

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?

Description clearly states the verb ('Update') and resource ('an existing client by UUID'), and notes that only provided fields are updated. However, it does not differentiate from sibling tools like clients_create or clients_delete, though the UUID requirement implies an 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 Guidelines2/5

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

Description implies the tool is used when an existing client is known by UUID, but gives no explicit guidance on when to use this versus clients_create for new clients or clients_update versus other update tools. No mention of prerequisites, errors, or consequences.

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