Skip to main content
Glama
stornoro

Storno CLI

by stornoro

clients_create

Create a new client in Storno for invoicing. Supports company or individual types, with fields for tax IDs, addresses, bank accounts, contacts, and payment terms.

Instructions

Create a new client manually. Supports both company and individual client types. Company details (address, VAT, bank account, etc.) can be auto-filled using clients_anaf_lookup or clients_from_registry before calling this tool.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cnpNoPersonal numeric code / CNP (for individual type)
cuiNoCompany tax ID / CUI (for company type)
cityNoCity
nameYesClient name (company or individual full name)
typeNoClient type: "company" (default) or "individual"
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 (default: RO)
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

A3.6/5.0
Behavior2/5

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

No annotations exist, so the description must carry the behavioral disclosure burden. It indicates a write operation but does not mention what the tool returns, whether it persists immediately, how it interacts with the active company, validation behavior, or failure modes. For a mutation tool with 25 parameters, this is a significant gap.

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?

Two sentences with no filler. The primary purpose is front-loaded, the type support is stated, and the workflow hint is directly relevant. Every sentence earns its place.

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?

This is a complex 25-parameter mutation tool with no output schema and no annotations. The description omits the return value, default active-company behavior, potential duplicate handling, and side effects. Although the schema covers field meanings, an agent lacks enough context to anticipate the outcome of a successful or failed creation.

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 input schema already fully documents each parameter. The description adds little beyond naming 'company details' as a group, but it doesn't need to compensate for schema gaps. Baseline 3 is appropriate.

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 states a specific verb and resource ('Create a new client manually'), clarifies it supports both company and individual types, and distinguishes itself from lookup tools by explicitly naming clients_anaf_lookup and clients_from_registry as separate preparatory steps. An agent can immediately tell this tool is for manual creation, not lookup or import.

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 gives clear context: use this tool for manual creation, and for company clients first use clients_anaf_lookup or clients_from_registry to auto-fill details. It doesn't explicitly mention when to use clients_update for existing clients, but the creation-focused wording plus named lookup alternatives provides solid guidance.

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