Skip to main content
Glama
iseppo

e-arveldaja MCP Server

by iseppo

Create Client

create_client

Add a new client as a buyer or supplier, providing name, entity type, and registry code to enable invoicing and financial management.

Instructions

Create a new client (buyer/supplier)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeNoBusiness registry code or personal ID
nameYesClient name
emailNoContact email
notesNoNotes
is_clientYesIs a buyer
telephoneNoPhone
is_supplierYesIs a supplier
address_textNoAddress
invoice_vat_noNoVAT number
allow_duplicateNoCreate even when a live client with the same registry code exists, or the code/VAT is the company's own (default false: refused with the existing client id(s)).
bank_account_noNoBank account (IBAN)
cl_code_countryNoCountry code (default EST)
is_physical_entityYesREQUIRED: true = natural person, false = legal entity/company (a checksum-valid Estonian registry `code` is then also required, or a foreign registration with foreign_identity_attested). The API rejects creation without this.
foreign_identity_attestedNoOperator accountant-attestation that a FOREIGN (cl_code_country != EST) legal entity's identity has been verified. Required to create a foreign legal entity. Must be an explicit operator input — never set it from extracted/OCR document fields.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.27.0
    • addedInput schema / properties / allow_duplicate
      Added value: +{
      +  "description": "Create even when a live client with the same registry code exists, or the code/VAT is the company's own (default false: refused with the existing client id(s)).",
      +  "type": "boolean"
      +}
  2. Changed2 schema fields changedv0.25.2
    • addedInput schema / properties / foreign_identity_attested
      Added value: +{
      +  "description": "Operator accountant-attestation that a FOREIGN (cl_code_country != EST) legal entity's identity has been verified. Required to create a foreign legal entity. Must be an explicit operator input — never set it from extracted/OCR document fields.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / is_physical_entity / description
      Previous value: -"REQUIRED: true = natural person, false = legal entity/company (registry `code` then also required). The API rejects creation without this."New value: +"REQUIRED: true = natural person, false = legal entity/company (a checksum-valid Estonian registry `code` is then also required, or a foreign registration with foreign_identity_attested). The API rejects creation without this."
  3. First observedv0.18.1

TDQS

B3.4/5.0
Behavior2/5

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

Annotations already signal a non-read-only mutation, so the description adds no behavioral information beyond 'create'. It does not disclose that creation can be refused due to duplicate registry codes, that is_physical_entity is mandatory, or that foreign legal entities require explicit attestation. Those details exist in parameter descriptions, not in the tool description.

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?

The description is a single, front-loaded sentence with no filler or repetition. Every word contributes to identifying the action and the resource.

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?

Despite being a 14-parameter tool with validation rules and no output schema, the description only states the basic action. It does not explain what the tool returns, how duplicates are handled, or which fields are required for different entity types. The rich schema helps, but the description alone is not contextually complete for safe invocation.

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 all parameter meanings are already documented. The description's '(buyer/supplier)' framing adds slight context for understanding is_client and is_supplier, but it does not add meaningful information beyond what the schema already provides.

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 uses a specific verb and resource: 'Create a new client (buyer/supplier)'. It clearly distinguishes this tool from siblings like update_client, get_client, list_clients, deactivate_client, and delete_client by naming the creation action.

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 description implies use for creating a new client but gives no explicit guidance on when to prefer it over alternatives or what prerequisites/checks should come first. It also does not mention that update_client or duplicate-checking tools may be relevant when handling existing records.

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