Skip to main content
Glama

KashFlow MCP by usefulapi

Create supplier

kashflow_create_supplier

WRITE: create a new supplier. The code must be unique (KashFlow refuses a code that exists) and nothing existing is changed. Returns the new SupplierID. SOAP InsertSupplier.

Input Schema

NameRequiredDescriptionDefault
codeYesA unique supplier code, e.g. OFFICE01.
nameYesThe supplier / company name.
emailNo
notesNo
mobileNo
contactNoContact person.
websiteNo
address1No
address2No
address3No
address4No
postcodeNo
telephoneNo
vat_numberNo
eu_supplierNoTrue for a supplier in another EU country (EC supplier). Default false (UK).
payment_terms_daysNoPayment terms in days.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false and openWorld=true, yet the description still adds real value: the uniqueness failure mode ('KashFlow refuses a code that exists'), the reassurance that nothing existing is changed, and the return value ('Returns the new SupplierID') which matters because there is no output schema. Auth requirements and rate limits are not covered, keeping it short of 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, front-loaded with the WRITE marker and the core action, with the uniqueness constraint and return value following in priority order. No filler.

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?

The description is complete on behavior and return value despite the absence of an output schema, which is genuinely helpful for a 16-parameter mutation tool. The gap is parameter coverage: with only 31% schema description coverage, an agent gets no guidance on the meaning or formatting of the optional address, VAT, and payment-term fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 16 parameters and only 31% schema description coverage, the description needs to carry the load but instead mentions only 'code', and its uniqueness note merely restates what the schema already says. The 14 optional fields (email, notes, mobile, contact, address1-4, postcode, telephone, vat_number, payment_terms_days, eu_supplier) get no treatment at all from the description.

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?

States a specific verb and resource ('WRITE: create a new supplier'), and the WRITE prefix immediately separates it from the read-oriented siblings like kashflow_get_supplier and kashflow_list_suppliers. The resource (supplier) also distinguishes it from kashflow_create_customer without opening either schema.

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?

Usage is implied by 'create a new supplier' plus the note that KashFlow refuses a duplicate code, which hints the caller should check existing codes first. However, it never explicitly names an alternative (e.g. kashflow_list_suppliers to verify a code, or the update path for existing suppliers), so the when-not guidance is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.