Kash.click
Server Details
Connect ChatGPT, Claude, or any MCP-compatible AI assistant to your point-of-sale system. Record sales, manage products, clients and payments, and generate invoices, business reports — just by talking.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 41 of 41 tools scored. Lowest: 2.1/5.
Each tool targets a distinct entity or action (account, client, order, product, payment, VAT, etc.), with clear naming like 'account_create' vs 'account_edit' and 'data_list_' prefixed listings. No overlapping purposes detected.
All tool names use snake_case and follow a consistent verb_noun pattern (e.g., account_create, client_add, data_list_clients). Even compound names like auth_login_with_otp adhere to this structure.
41 tools is high but justified by the wide scope of a POS/accounting system (accounts, clients, orders, products, payments, VAT, reports). Slightly above the typical range but well-scoped.
The tool surface covers CRUD for all major entities (clients, departments, products, VAT, payment modes, orders), plus queries, reports, and authentication. No obvious gaps for a small business management server.
Available Tools
41 toolsaccount_createCreate a Kash accountAInspect
Create a new Kash / free-cash-register.net account. Requires an email address and a shop name (accountTitle). Optional: configType to pre-load a dataset matching your business type (e.g. 'Restaurant', 'Bakery', 'Bar', 'Retail'...), plus address and legal info. On success, returns APIKEY and SHOPID and automatically initializes the session so all other tools can be used immediately. IMPORTANT: the user must validate their email via the link sent automatically, otherwise the account may be deleted after a period of inactivity.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name | |
| Yes | Email address for the new Kash account | ||
| phone | No | Contact phone number | |
| country | No | Country code or name | |
| currency | No | Currency code (e.g. EUR, USD) | |
| language | No | Language code (e.g. fr, en) | |
| postCode | No | Postal/ZIP code | |
| configType | No | Pre-loaded dataset type (e.g. Restaurant, Bar, Bakery) | |
| adressline1 | No | Street address line 1 | |
| accountTitle | Yes | Display name for the new account | |
| taxRegistrationNum | No | VAT / tax registration number | |
| companyRegistrationNum | No | Company registration number (SIRET, etc.) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (openWorldHint, idempotentHint, destructiveHint), the description discloses critical behavior: returns API key and shop ID, automatically initializes the session for immediate use, and warns about email validation and potential deletion. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that front-loads the purpose and efficiently covers required/optional fields, success outcome, and a critical note. It could be slightly more structured, but it is clear and not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, session initialization, email validation requirement), the description covers all essential aspects: what it does, what is required, what is optional, what happens on success, and an important limitation. No output schema exists, but the description states what is returned (API key and shop ID), which is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description mentions required fields (email, accountTitle) and points out optional parameters like configType with examples, but adds little meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Create a new Kash / free-cash-register.net account,' which is a specific verb+resource. It clearly distinguishes from sibling tools like account_edit, account_list, and account_show_infos, as creation is unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use this tool (when creating an account) and includes an important prerequisite: email validation. While it does not explicitly list when not to use it, the context is sufficient to guide the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_editEdit shop account settingsAInspect
Modify the settings of the authenticated shop account. All fields are optional. Covers: basic info (name, address, legal numbers), receipt display options, order requirements, feature flags (stock, barcodes, variations, webshop, coupons...), delivery method toggles, and third-party integrations (PayPal, Prestashop, Yavin, Viva.com).
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | GPS latitude | |
| lng | No | GPS longitude | |
| city | No | City | |
| phone | No | Contact phone number | |
| country | No | Country | |
| currency | No | Currency code (e.g. EUR, USD) | |
| language | No | Language code (e.g. fr, en) | |
| postCode | No | Postal/ZIP code | |
| shopName | No | Store name | |
| deliv_bar | No | Enable counter/bar sales | |
| pdffooter | No | Footer text for PDF invoices | |
| urlwebsite | No | URL of the shop website | |
| webShopURL | No | Webshop URL | |
| adressline1 | No | Address line 1 | |
| enableYavin | No | Enable Yavin payment terminal | |
| webShopCol1 | No | Webshop background color 1 (hex) | |
| webShopCol2 | No | Webshop background color 2 (hex) | |
| webShopCol3 | No | Webshop background color 3 (hex) | |
| webShopLang | No | Webshop language | |
| yavinSecret | No | Yavin secret code | |
| yavinSerial | No | Yavin terminal serial number | |
| defaultVatID | No | Default VAT rate identifier | |
| enable_stock | No | Activate inventory/stock management | |
| webShopColT1 | No | Webshop text color 1 (hex) | |
| webShopColT2 | No | Webshop text color 2 (hex) | |
| webShopColT3 | No | Webshop text color 3 (hex) | |
| deliv_default | No | Default delivery method ID | |
| deliv_deliver | No | Enable home delivery management | |
| paypalAddress | No | PayPal email address for collecting payments | |
| prestaShopURL | No | Prestashop store URL | |
| receiptFooter | No | Footer text printed on receipts | |
| receiptHeader | No | Header text printed on receipts | |
| vivaAccoundID | No | Viva.com account ID | |
| deliv_takeAway | No | Enable takeaway orders | |
| enable_coupons | No | Enable coupon management | |
| enable_credits | No | Enable customer credit management | |
| deliv_drivethru | No | Enable drive-thru orders | |
| deliv_tablePlan | No | Enable table/seats management | |
| enable_barcodes | No | Enable barcode scanning | |
| receipt_showVat | No | Display VAT breakdown on tickets | |
| enableVivaWallet | No | Enable Viva.com payment collection | |
| enable_delivShop | No | Activate deliveries via Deliv.shop | |
| isWebShopEnabled | No | Activate the online webshop | |
| prestaShopApiKey | No | Prestashop API key | |
| enable_variations | No | Enable product variation management | |
| enable_whiteLabel | No | Enable white labeling (cannot be disabled once enabled) | |
| deliv_relayDeposit | No | Enable delivery to a relay point | |
| enable_departments | No | Activate department/shelf management | |
| orderRequires_date | No | Date selection required for each order | |
| orderRequires_name | No | Customer last name required for each order | |
| receipt_showClient | No | Display customer's name on tickets | |
| receipt_showSeller | No | Display seller's name on tickets | |
| taxRegistrationNum | No | VAT / tax registration number | |
| vivaWalletMerchant | No | Viva.com Merchant ID | |
| enable_relayDeposit | No | Enable pickup/relay point management | |
| orderRequires_email | No | Customer email required for each order | |
| orderRequires_phone | No | Customer phone required for each order | |
| receipt_showAddress | No | Display store's contact details on tickets | |
| receipt_showCashbox | No | Display cashier's name on receipts | |
| receipt_showComment | No | Show order comment on tickets | |
| receipt_showShopName | No | Display shop name on tickets | |
| enable_weightForItems | No | Enable item weight management | |
| orderRequires_address | No | Customer address required for each order | |
| orderRequires_comment | No | Comment required for each order | |
| orderRequires_surname | No | Customer first name required for each order | |
| receipt_showGlobalVat | No | Display global VAT total on tickets | |
| whiteLabelAdminUserID | No | White label administrator user ID | |
| companyRegistrationNum | No | Company registration number (RCS/SIRET) | |
| receipt_showClientPhone | No | Display customer's phone number on tickets | |
| defaultAccountingChapter | No | Default accounting chapter | |
| enable_dateOfConsumption | No | Enable expiration date management | |
| enable_departmentsGroups | No | Enable department group management | |
| receipt_showClientAddress | No | Display customer's address on tickets | |
| receipt_showClientSurname | No | Display customer's first name on tickets | |
| enable_descriptionsForItems | No | Enable descriptions for catalog items | |
| orderRequires_deliveryChoice | No | Delivery method required for each order | |
| pricesAreProvidedTaxIncluded | No | 0 = prices incl. VAT; 1 = prices excl. VAT | |
| receipt_showPricesBeforeTaxes | No | Display prices excl. VAT on tickets | |
| enable_descriptionForVariations | No | Enable descriptions for variation choices | |
| receipt_showCompanyRegistrationNum | No | Display store's company number on receipts | |
| orderRequires_CompanyRegistrationNum | No | Customer company number required for each order |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (idempotentHint=false, destructiveHint=false), the description only states it modifies settings. It does not disclose consequences of changes, auth requirements (implied by 'authenticated'), rate limits, or side effects like immediate propagation. The minimal behavioral detail leaves the agent underinformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence stating the main action, followed by a succinct list of categories. Every sentence is necessary, and there is no extraneous text. It is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 81 parameters and no output schema, the description covers the main categories but omits important context: it does not specify that only provided fields are updated (implied by optional), the scope of effect (only authenticated shop), or error handling. It is adequate but lacks completeness for safe autonomous use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with individual parameter descriptions. The tool description adds value by grouping the 81 parameters into categories (basic info, receipt display, feature flags, etc.), aiding comprehension. This organization goes beyond the schema and justifies a score above baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool modifies settings of the authenticated shop account, aligning with the title. It distinguishes from sibling tools like account_create (create new account) and account_show_infos (view info), as it is explicitly for editing existing settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that all fields are optional, implying partial updates, but does not explicitly state when to use this tool versus alternatives (e.g., account_create for new accounts) or provide exclusions. No when-not guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_listList Kash accountsARead-onlyInspect
List all Kash / free-cash-register.net accounts linked to an email address. Use this before account_create to check if the user already has an account. Returns an array of accounts, each with accountTitle, accountID, and a getOTPForAccount URL that can be used to request a one-time password (OTP) to retrieve the APIKEY. This endpoint is public and requires no authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address to look up linked Kash accounts | ||
| accountTitle | No | Filter results by account title |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint annotation, description discloses endpoint is public, requires no authentication, and returns specific fields including a URL for OTP. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with core action, then usage, then details. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with good annotations and no output schema, description covers purpose, usage, return format, authentication, and linkage to OTP flow. Complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description mentions email and accountTitle but adds no extra syntax or format details beyond what the schema already describes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (list), resource (accounts), and scope (linked to email). Distinguishes from sibling tools like account_create and account_show_infos.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this before account_create to check if the user already has an account.' Provides context of usage flow, though no explicit when-not-to-use for alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
account_show_infosGet shop account settingsARead-onlyInspect
Retrieve all current settings of the authenticated shop account as a JSON object. Returns the full shop configuration: name, address, legal numbers, receipt options, order requirements, enabled features, delivery methods, webshop colours, and third-party integration settings. Use this to verify invoice prerequisites before creating orders: shopName, adressline1, and companyRegistrationNum must all be set for legally valid invoices. If any are missing, prompt the user to fill them in via account_edit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is established. The description adds significant behavioral context: returns full shop configuration, lists included fields, and explains the invoice prerequisite check. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose in the first sentence. Every subsequent sentence adds value (list of fields, usage guidance). No wasted words. Length is appropriate for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description compensates by detailing return fields and usage context. For a zero-parameter read tool with annotations, the description provides sufficient information for correct invocation and decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0 parameters, so schema description coverage is 100%. The description need not add parameter details. Baseline for 0 parameters is 4, and no additional info is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (retrieve), the resource (authenticated shop account settings as JSON), and provides a detailed list of what is included. It distinguishes from siblings like account_list by specifying 'settings of the authenticated shop account' rather than a list of accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'verify invoice prerequisites before creating orders' and lists specific fields to check. Also advises to prompt user to fill missing fields via account_edit. Does not mention negative cases or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auth_login_with_otpLogin with OTPAInspect
Step 2 of 2 for in-conversation authentication. Exchange the OTP received by email for an APIKEY and SHOPID, and automatically initialize the session so all other tools work immediately. Call auth_request_otp first to receive the OTP by email.
| Name | Required | Description | Default |
|---|---|---|---|
| otp | Yes | One-time password received by email | |
| Yes | Email address used to request the OTP |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide idempotentHint=false and destructiveHint=false, which the description complements by explaining the token exchange and session initialization. No contradictions; additional context on the authentication flow is provided beyond what annotations specify.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words, front-loaded with the most important information (step 2 of 2), and structured logically with prerequisite and outcome.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema), the description fully covers the entire process, including the two-step flow and immediate effect on other tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters (email and otp). The description reaffirms that OTP is received by email and that email is the same one used in auth_request_otp, adding marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as step 2 of a two-step authentication process, specifying the exchange of OTP for APIKEY and SHOPID, and session initialization. It uses specific verbs and resources, distinguishing it from its sibling auth_request_otp.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states to call auth_request_otp first and that after this tool, all others work immediately, providing clear when-to-use and sequencing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auth_logoutLogout / clear sessionAIdempotentInspect
Clear the current authentication session (APIKEY and SHOPID). After this, all tools requiring authentication will fail until a new login is performed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant context beyond annotations: it specifies that the session (APIKEY and SHOPID) is cleared and that all authenticated tools will fail until a new login. Annotations already indicate idempotentHint=true and destructiveHint=false, and the description aligns with these without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that state the action and its consequences. Every sentence is necessary and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 params, no output schema), the description fully covers what the tool does and its effects. It is complete for the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters, so schema coverage is 100%. The description does not need to add parameter meaning. For a parameterless tool, a score of 4 is appropriate as there is no missing info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it clears the current authentication session (APIKEY and SHOPID), which is the exact purpose. It distinguishes itself from sibling tools like auth_login_* by focusing on logout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates when to use this tool: to end a session and invalidate authentication. It also explains the consequence that authenticated tools will fail afterward. It does not explicitly list alternatives or when not to use, but given the lack of sibling logout tools, this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auth_request_otpRequest a login OTPAInspect
Step 1 of 2 for in-conversation authentication. Sends a one-time password (OTP) to the user's email address. If the user has multiple accounts, provide accountID (obtained from account_list) to target the right one. On success, an OTP code is sent by email — then call auth_login_with_otp with that code.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address to send the OTP to | ||
| accountID | No | Target account ID if the email has multiple accounts |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readWrite, non-idempotent operation. Description adds that it sends an OTP by email, a side effect. It doesn't mention expiry or rate limits, but overall it's transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, no wasted words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description explains success outcome (OTP sent by email) and next step. All essential context is provided for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptions. Description adds context: when to use accountID and how to obtain it, going beyond the schema. It does not detail formats or constraints beyond what schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool is step 1 of a 2-step authentication process, sends an OTP to the user's email, and distinguishes it from the sibling tool auth_login_with_otp.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use this tool (as first step of authentication), when to provide accountID (if user has multiple accounts, and how to get it from account_list), and directs to the next step (auth_login_with_otp).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
client_addAdd a clientAInspect
Add a new customer to the shop's customer file. All fields are optional: name, surname, email, phone, address, company registration number, VAT number, barcode, private/public comment, blacklist status, birth date, etc. Use data_list_clients to check if the customer already exists first.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | GPS latitude of the customer address | |
| lng | No | GPS longitude of the customer address | |
| city | No | City | |
| name | No | Customer first name | |
| No | Customer email address | ||
| phone | No | Primary phone number | |
| title | No | Honorific or title (e.g. Mr, Mrs, Company) | |
| VATnum | No | VAT registration number | |
| phone2 | No | Secondary phone number | |
| barcode | No | Customer loyalty card barcode | |
| country | No | Country | |
| surname | No | Customer surname / last name | |
| position | No | Sort order / priority within the customer list | |
| postcode | No | Postal/ZIP code | |
| birthDate | No | Date of birth (YYYY-MM-DD or timestamp) | |
| blacklist | No | 1 to blacklist this customer | |
| activityCode | No | Accounting activity code | |
| addressline1 | No | Street address line 1 | |
| addressline2 | No | Street address line 2 | |
| adressComment | No | Delivery instructions or address comment | |
| clientGroupID | No | ID of the customer group/segment | |
| commentPublic | No | Note visible to the customer | |
| commentPrivate | No | Internal staff-only note | |
| identificationID | No | National ID or passport number | |
| registrationNumber | No | Company registration number (SIRET, etc.) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only show idempotentHint=false and destructiveHint=false, placing the transparency burden on the description. The description does not disclose behavioral traits beyond creation, such as whether duplicate checks occur, required permissions, or what happens on failure. It simply states 'Add a new customer,' lacking depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no waste: first sentence states purpose, second lists fields and optionality, third gives usage guidance. Front-loaded with the core action. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 25 optional parameters and no output schema, the description covers purpose, optionality, and a pre-check step. However, it omits what the tool returns (e.g., client ID) and any error or side-effect behavior, leaving gaps for an agent to operate correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by explicitly stating 'All fields are optional' and listing key fields like name, surname, email, etc., which reinforces the schema's implication of optionality and highlights important parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a new customer to the shop's customer file.' using a specific verb ('add') and resource ('customer'). It distinguishes from sibling tools like data_list_clients (listing) and client_delete (deletion) by focusing on creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: 'Use data_list_clients to check if the customer already exists first.' This encourages a best practice prerequisite. However, it does not explicitly mention when not to use this tool (e.g., for updating existing customers, which would be client_edit).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
client_deleteDelete a clientADestructiveIdempotentInspect
Permanently remove a customer from the shop's customer file by their ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the customer to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true. The description adds 'Permanently remove' which aligns with destructive, but does not disclose additional behaviors like cascading effects or idempotency edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 12 words, with no wasted text. It is front-loaded with the key action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool simplicity (1 param, no output schema, annotations covering destructive nature), the description is complete. It could mention return value or side effects, but the lack of output schema reduces expectation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds nothing beyond the schema's parameter description ('ID of the customer to delete'). Baseline score of 3 for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'remove' and identifies the resource 'customer from the shop's customer file', with the method 'by ID'. It clearly distinguishes from sibling tools like client_add and client_edit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks guidance on when to use this tool versus alternatives or any prerequisites. No mention of when deletion is appropriate or when editing would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
client_editEdit a clientAIdempotentInspect
Edit an existing customer by their ID. All fields are optional except the ID. Use data_list_clients to find the customer ID first.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the customer to modify | |
| lat | No | GPS latitude of the customer address | |
| lng | No | GPS longitude of the customer address | |
| city | No | City | |
| name | No | Customer first name | |
| No | Customer email address | ||
| phone | No | Primary phone number | |
| title | No | Honorific or title (e.g. Mr, Mrs, Company) | |
| VATnum | No | VAT registration number | |
| phone2 | No | Secondary phone number | |
| barcode | No | Customer loyalty card barcode | |
| country | No | Country | |
| surname | No | Customer surname / last name | |
| position | No | Sort order / priority within the customer list | |
| postcode | No | Postal/ZIP code | |
| birthDate | No | Date of birth (YYYY-MM-DD or timestamp) | |
| blacklist | No | 1 to blacklist this customer | |
| activityCode | No | Accounting activity code | |
| addressline1 | No | Street address line 1 | |
| addressline2 | No | Street address line 2 | |
| adressComment | No | Delivery instructions or address comment | |
| clientGroupID | No | ID of the customer group/segment | |
| commentPublic | No | Note visible to the customer | |
| commentPrivate | No | Internal staff-only note | |
| identificationID | No | National ID or passport number | |
| registrationNumber | No | Company registration number (SIRET, etc.) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint and destructiveHint. Description adds that all fields except ID are optional, implying partial updates, but doesn't detail behavior beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the core purpose and essential usage note. No superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description covers the essential workflow (find ID first, then edit) and tool purpose. With 26 parameters well-documented in schema, no further detail is crucial. Lacks output format info, but acceptable without output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds no additional meaning to parameters beyond what the schema already provides. Baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Title and description clearly state 'Edit a customer by their ID', with explicit field constraints and a prerequisite tool mention. Distinguishes from sibling tools like client_add and client_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use data_list_clients to find the customer ID first, guiding when to use this tool. No explicit when-not, but the guidance is clear and practical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_cashboxesList cashboxesARead-onlyInspect
List the registered cashboxes (physical or virtual) linked to the shop, including their current status and identifiers.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds context about what is returned (status and identifiers) but does not disclose additional behavioral traits beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no unnecessary words. It efficiently conveys the tool's purpose and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description is complete. It explains what the tool does and what information is returned, meeting all contextual needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage and a single well-described parameter (format), the schema already explains parameter semantics fully. The description adds no extra parameter information, so a baseline score of 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb (List), resource (cashboxes), scope (linked to shop), and included details (status and identifiers), clearly distinguishing it from other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it. Usage context is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_clientsList clientsARead-onlyInspect
Get the list of clients registered in the shop, including contact info, loyalty points.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's statement 'Get the list' is consistent. The description adds behavioral context by noting what data is included (contact info, loyalty points), which is beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys the purpose. No redundant or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter, no output schema, and annotations covering safety, the description adequately explains the tool's output and usage. Complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'format' parameter fully described via enum and default. The description does not add additional parameter semantics beyond the schema, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'list of clients', and specifies included fields (contact info, loyalty points). It distinguishes from sibling tools like client_add, client_edit, and other data_list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving client lists but does not explicitly state when to use it over alternatives or provide exclusions. The context of sibling list tools suggests it's the appropriate tool for clients, but no direct guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_delivery_menList delivery methodsARead-onlyInspect
List all delivery methods available for the shop, such as in-store pickup, home delivery, or courier services.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds no extra behavioral insight beyond confirming it lists data. No additional traits (e.g., permissions, pagination) are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action (list) and resource (delivery methods). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one optional parameter, the description adequately covers purpose and examples. Could mention the format parameter or that the output is a list, but the schema compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single optional format parameter fully (100% coverage). The description adds no parameter information, so it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: listing delivery methods. It gives concrete examples (in-store pickup, home delivery, courier services) and distinguishes it from sibling tools like data_list_cashboxes and data_list_clients.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives or any prerequisites. It simply states what it does without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_delivery_zonesList delivery zonesARead-onlyInspect
Return all configured delivery zones, including area names, postal codes, and applicable delivery fees or restrictions.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds context about returned fields but does not disclose additional behavioral traits beyond what the schema and annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action verb, no unnecessary words. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 optional param, no output schema), the description sufficiently covers what is returned. Lacks mention of pagination or limits, but not critical for this type of list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with one parameter (format) fully described via enum and default. Description does not add further meaning to the parameter, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns all configured delivery zones, listing specific fields (area names, postal codes, fees, restrictions). This differentiates it from other data_list_* sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. Usage is implied as a simple list retrieval, but no exclusion or context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_department_groupsList department groupsARead-onlyInspect
Return the list of department groups, used to organize product categories. Each group may include multiple department IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with the annotation 'readOnlyHint: true', indicating a safe read operation. However, it does not disclose any additional behavioral traits beyond what the annotation already implies, such as response structure, pagination, or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundant information. It is front-loaded with the core action and immediately provides context about the resource. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one optional parameter and no output schema, the description is adequate. It explains the resource's role and indicates the return type (list). Minor omission: no mention of whether the list is sorted or paginated, but not critical for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter 'format' is fully documented with enum values and default. The description adds no extra meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Return the list') and the resource ('department groups'), and explains their purpose ('used to organize product categories'). It also provides a distinguishing detail ('Each group may include multiple department IDs'), which differentiates it from sibling tools like 'data_list_departments'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'data_list_departments' or other listing tools. There is no mention of prerequisites, limitations, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_departmentsList departmentsARead-onlyInspect
Get all departments (product categories) defined in the shop, including their names and default tax rates. Supports format=json|csv|html.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds value by specifying the returned data (names, default tax rates) and supported response formats (json, csv, html). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and includes format support without unnecessary detail. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single optional parameter, no output schema, and clear annotations, the description sufficiently covers what the tool returns and how to format it. Minor gap: no mention of ordering or filtering, but not essential for a simple list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter (format) has 100% schema coverage with enum values, default, and description. The description briefly mentions available formats but adds no meaning beyond the schema, earning the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get all departments), the resource (departments defined in the shop), and adds context (product categories, includes names and default tax rates). This distinguishes it from sibling tools like data_list_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. Usage is implied as a simple listing operation, but no direct comparison is made.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_discountsList discountsARead-onlyInspect
Return all available discounts or promotions, including their names, types (percentage or fixed), values, and conditions.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is known. The description adds detail about returned fields but doesn't disclose other behavioral traits like pagination 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose. Every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should compensate. It lists some fields but doesn't mention identifiers or possible structure, leaving gaps for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the 'format' parameter. The tool description does not add any additional meaning about parameters, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Return' and the resource 'discounts or promotions', and lists included fields. It is specific and the resource name distinguishes it from sibling tools like data_list_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description simply states what it does without any context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_ordersList ordersARead-onlyInspect
List either: unvalidated orders (called quotes) with creation date between from_date_ISO8601 and to_date_ISO8601 OR validated orders (called orders, invoices) with date of value between from_date_ISO8601 and to_date_ISO8601. You can also filter delivery methods (using filterDeliveryMethod).
| Name | Required | Description | Default |
|---|---|---|---|
| to_date_ISO8601 | Yes | End of date range in ISO 8601 format (e.g. 2024-01-31T23:59:59Z) | |
| validatedOrders | Yes | true to fetch validated orders, false for pending/quotes | |
| from_date_ISO8601 | Yes | Start of date range in ISO 8601 format (e.g. 2024-01-01T00:00:00Z) | |
| filterDeliveryMethod | No | Filter by delivery method: 0=takeaway, 1=delivery, 2=on-site, 3=drive, 4=relay, 5=table, 6=room |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true; the description adds behavioral detail about date semantics differing by order status, which goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with key distinctions, no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all parameters and key behavior for a 4-param tool with no output schema; lacks return format details but sufficient for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description enriches each parameter: explains validatedOrders boolean, different dates meanings, and enumeration for filterDeliveryMethod.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists orders, distinguishing between unvalidated (quotes) and validated (orders/invoices) based on different date semantics, and includes an optional filter. This distinguishes it from siblings like data_list_pending_orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use (listing either unvalidated or validated orders) but does not explicitly exclude usage or mention alternatives for other order operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_payments_modestools.data.list.payments.titleCRead-onlyInspect
tools.data.list.payments.description
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint=true, indicating a safe read operation. The description adds no additional behavioral context beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is not a proper natural language description but a placeholder key. It fails to be concise in a meaningful way, as it lacks any actual content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema) and annotations, the description is still incomplete because it fails to explicitly state that the tool lists payment modes. The name provides a hint, but the description is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers the single 'format' parameter with full description and enum values. The description adds no extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a placeholder key 'tools.data.list.payments.description', providing no statement of what the tool does. The purpose is only inferrable from the tool name and sibling context, which is insufficient.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. There is no indication of when to use this tool versus alternative list tools (e.g., data_list_orders), nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_pending_ordersList pending ordersARead-onlyInspect
Retrieve the list of unvalidated orders (that can still be modified)
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, which matches the description. The description adds context about orders being 'unvalidated' and 'modifiable', but does not disclose additional behavioral traits beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the key information without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool (one optional parameter, no output schema, readOnlyHint annotation), the description provides adequate context for an agent to understand its purpose and use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter 'format' is fully described in the schema. The description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'list of unvalidated orders (that can still be modified)', distinguishing it from sibling tools like data_list_orders which likely lists all orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it should be used for unvalidated orders that can be modified, but does not explicitly state when to use or not use this tool compared to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_productsList itemsARead-onlyInspect
Retrieve the list of articles (products) configured in the shop. Returns an array of products with fields like id, title, price, and departmentId. Optional parameter 'format' allows output as json, csv, or html.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the agent knows it's safe. The description adds value by specifying the response structure (array of products with fields) and the optional format parameter, which goes beyond the annotation's binary hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with main purpose, then details on return fields and parameter. No fluff or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains return type (array of products) and example fields, which compensates for the lack of output schema. However, it does not mention potential additional fields or any nuances like pagination, but for a simple list tool this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'format' with enum and default. The description restates this but does not add significant new meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'retrieve', the resource 'list of articles (products)', and provides example fields (id, title, price, departmentId). It distinguishes from many sibling data_list_* tools by being specific to products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing products but does not explicitly state when to use this tool vs alternatives, nor provide exclusions or prerequisites. Context from sibling names helps but is not part of the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_relay_pointsList relay pointsARead-onlyInspect
List all relay points where customers can pick up their orders, including address, city, and postal code.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint: true, so the description adds no new behavioral traits (e.g., pagination, data freshness, or performance implications). The description simply confirms the tool lists data without additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the main action and includes the key output fields. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter, the description is nearly complete. It states the data included. However, it does not mention the response format or that the output can be controlled by the 'format' parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the schema describes the 'format' parameter with enum and default. The description does not add any extra meaning to the parameter; it merely lists output fields (address, city, postal code) which are not parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List', the resource 'relay points', and the scope 'all', including the fields 'address, city, and postal code'. This distinguishes it from sibling list tools like 'data_list_cashboxes' or 'data_list_clients'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing pickup locations, but does not explicitly state when to use this tool versus alternatives like data_list_delivery_zones. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_tablesList tablesARead-onlyInspect
Retrieve the list of tables configured in the app, used for restaurant mode or table management.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description correctly indicates a read-only retrieval operation, consistent with the readOnlyHint annotation. No additional behavioral details are needed beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words, efficiently conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter and no output schema. The description, combined with the schema and annotation, provides all necessary information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3. The description does not add additional meaning for the single optional parameter 'format' beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'list of tables', and provides context ('restaurant mode or table management'), distinguishing it from sibling data_list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context (restaurant mode/table management) for when to use this tool, but does not explicitly mention when not to use it or compare to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_usersList usersARead-onlyInspect
List all users (cashiers, managers, etc.) associated with the shop, including their roles and identifiers.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. Description adds that the list includes roles and identifiers, which is useful but not extensive. No mention of pagination, filters, or limits. Adequate for a read-only list with minimal behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single efficiently worded sentence. No wasted text; purpose is front-loaded. Excellent structure for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description sufficiently covers the tool's purpose and output. With one optional parameter and no output schema, it provides needed context. Slightly lacking in potential usage context like no-filters assumption, but adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the 'format' parameter fully described. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'list' and resource 'users' with scope 'all users associated with the shop' and includes specifics like 'roles and identifiers'. It distinguishes well from sibling tools like data_list_cashboxes or data_list_clients.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like account_list or account_show_infos. Implied context (shop users) is clear, but no exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_variationsList item variantsARead-onlyInspect
Retrieve product variations (declinaisons) such as size or color. Returns an array of variant definitions with value and optional price delta.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and description says 'Retrieve', consistent. Description adds return format (array with value and price delta) but no further behavioral details like auth or limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one optional parameter and no output schema, the description adequately explains what is returned. Missing potential details like pagination but acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with full description for the single parameter. Description does not add additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Title 'List item variants' and description clearly state the tool retrieves product variations like size or color. It distinguishes from sibling tools like data_list_products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the context of listing variations, but no explicit guidance on when to use this tool vs alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_list_vatsList VAT ratesBRead-onlyInspect
Retrieve the list of VAT rates configured in the shop, including their title, rate percentage, and optional accounting chapter.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Response format: 'json' (default), 'csv', or 'html' | json |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description confirms read-only behavior, which matches the readOnlyHint annotation. However, no additional behavioral traits (e.g., pagination, default ordering, response size limits) are disclosed beyond the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that immediately conveys the tool's purpose and key returned fields. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list retrieval with one optional parameter, the description adequately covers the return fields and the tool's core action. Lack of output schema is acceptable given the straightforward nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single optional parameter 'format' is fully documented in the input schema with enum values and default. The description adds no new meaning about the parameter, so baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a list of VAT rates and specifies the fields included. It distinguishes itself from sibling list tools by naming 'VAT rates', but does not explicitly differentiate from similar list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives or any prerequisites. The description lacks context about filtering, sorting, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dept_addAdd a departmentAInspect
Add a new department (product category) to the catalog. Requires a title. Optional fields include VAT rate (vatID), price, discount, position, department group, and variations.
| Name | Required | Description | Default |
|---|---|---|---|
| price | No | Default price for free-price items | |
| stock | No | Stock quantity override at department level | |
| title | No | Department/category display name | |
| vatID | No | Default VAT rate ID for this department | |
| unitID | No | Unit of measure ID | |
| position | No | Display order on keyboard | |
| shopHide | No | 1 to hide from online shop | |
| needPrepa | No | 1 if items require kitchen preparation | |
| discountID | No | Default discount ID | |
| eatinvatID | No | Eat-in VAT rate ID | |
| shortTitle | No | Short label for receipt or keyboard | |
| deptGroupID | No | Department group this department belongs to | |
| activityCode | No | Accounting activity code | |
| keyboardHide | No | 1 to hide from POS keyboard | |
| variationID0 | No | Variation type ID for slot 0 | |
| variationID1 | No | Variation type ID for slot 1 | |
| variationID2 | No | Variation type ID for slot 2 | |
| variationID3 | No | Variation type ID for slot 3 | |
| variationID4 | No | Variation type ID for slot 4 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool is not destructive and not idempotent, which aligns with a creation operation. The description does not add further behavioral context (e.g., side effects, authorization needs), but the tool's behavior is straightforward and no contradictions are present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief with two key sentences. It effectively communicates the core purpose and a key requirement (title), though it could be more structured by listing all optional fields or using bullet points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 19 parameters and no output schema, the description covers the essential function but omits details about return values, error scenarios, or how variation fields interact. For a straightforward creation tool, it is minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a description. The description adds that title is required (though not enforced in schema) and groups a subset of optional fields, but does not enhance meanings beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Add), the resource (department), and clarifies it as a product category. This distinguishes it from sibling tools like dept_edit and dept_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that a title is required and lists some optional fields, but does not explicitly state when to use this tool versus alternatives (e.g., dept_edit for modifications). No context about prerequisites or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dept_deleteDelete a departmentADestructiveIdempotentInspect
Permanently remove a department/category from the catalog by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the department to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and idempotentHint=true. The description confirms permanent removal but adds no additional behavioral context beyond what annotations already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently conveys the purpose without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with one parameter, the description combined with annotations provides sufficient context. The absence of an output schema is acceptable for a deletion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the 'id' parameter. The tool description does not add extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('permanently remove') and the resource ('department/category'), making it distinct from sibling tools like dept_add and dept_edit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or side effects are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dept_editEdit a departmentAIdempotentInspect
Edit an existing department/category by its ID. All fields are optional except the ID. Use data_list_departments to find the department ID first.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the department to modify | |
| price | No | Default price for free-price items | |
| stock | No | Stock quantity override at department level | |
| title | No | Department/category display name | |
| vatID | No | Default VAT rate ID for this department | |
| unitID | No | Unit of measure ID | |
| position | No | Display order on keyboard | |
| shopHide | No | 1 to hide from online shop | |
| needPrepa | No | 1 if items require kitchen preparation | |
| discountID | No | Default discount ID | |
| eatinvatID | No | Eat-in VAT rate ID | |
| shortTitle | No | Short label for receipt or keyboard | |
| deptGroupID | No | Department group this department belongs to | |
| activityCode | No | Accounting activity code | |
| keyboardHide | No | 1 to hide from POS keyboard | |
| variationID0 | No | Variation type ID for slot 0 | |
| variationID1 | No | Variation type ID for slot 1 | |
| variationID2 | No | Variation type ID for slot 2 | |
| variationID3 | No | Variation type ID for slot 3 | |
| variationID4 | No | Variation type ID for slot 4 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds 'All fields are optional except the ID' beyond annotations (idempotentHint=true, destructiveHint=false). Annotations already indicate non-destructive and idempotent behavior, so description provides useful additional constraint on parameter usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with main action, no unnecessary words. Efficiently covers purpose, parameters, and prerequisite.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 20 parameters, high schema coverage, and clear description of required ID and prerequisite step, the description is sufficient for correct tool usage. No output schema, but not needed for this mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter described. Description reinforces that id is required and others optional, adding marginal value. Baseline 3 is appropriate as schema already handles parameter explanations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states tool edits an existing department by ID, with verb 'edit' and resource 'department/category'. It distinguishes from siblings like dept_add and dept_delete by focusing on editing existing records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use data_list_departments to find the department ID first, providing a prerequisite step. Does not mention alternatives but context implies differentiation from add/delete tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
order_createRecord an orderAInspect
Record a new order in the connected shop. Input includes paymentMode, and items[]. Each item can be of type 'catalog' (with productId), 'department' (with price and deptId) or 'free' (with title and price). Check if the client already exists using data_list_clients and if the client exists, only specify idClient. If provided, paymentMode should correspond to a payment ID from data_list_payments_modes tool. Returns a sale confirmation JSON including: a link to the PDF invoice, and a link to a private order page showing full order details which can also be used by the client to pay online. IMPORTANT: before creating a validated invoice (payment ≠ -2), call account_show_infos to verify that shopName, adressline1, and companyRegistrationNum are all set. If any of these fields are empty, warn the user and suggest using account_edit to fill them in before issuing invoices.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | List of sale items (at least one required) | |
| client | No | Inline customer details (used when no existing idClient) | |
| idUser | No | Staff member ID to assign the sale to | |
| idtable | No | Table ID for table-service orders | |
| payment | No | Payment method ID; omit to leave as unpaid quote | |
| idClient | No | Existing customer ID (alternative to inline client object) | |
| idcaisse | No | Cash register ID | |
| pagerNum | No | Pager/buzzer number for the customer | |
| numcouverts | No | Number of covers/guests | |
| publicComment | No | Comment visible on the receipt | |
| deliveryMethod | No | Delivery method: 0=takeaway, 1=delivery, 2=on-site, 3=drive, 4=relay, 5=table service, 6=room service | |
| privateComment | No | Internal staff-only comment |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-idempotent and non-destructive, but the description adds rich behavioral context: it details item types (catalog, dept, free) with required subfields, explains the significance of payment value -2 for unpaid quotes, and mandates a prerequisite check on account info. It also describes the return JSON structure, including invoice and order page links.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, starting with the core purpose, then item types, client handling, payment, output, and an important note. It is concise enough given the complexity, though it could be slightly more streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 12 parameters, nested objects, and no output schema, the description thoroughly covers usage: item type variants, client identification options, payment constraints, return value details, and critical preconditions. It also references related tools (data_list_clients, account_show_infos) for complete workflow context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing full parameter descriptions. The description adds high-level semantics by grouping item types, explaining when to use idClient vs inline client, and linking paymentMode to a separate tool. This enhances understanding beyond the schema's individual field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Record a new order in the connected shop', clearly identifying the action (create) and resource (order). It also outlines key inputs like items and paymentMode, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides specific preconditions: check existing clients via data_list_clients, validate payment mode against data_list_payments_modes, and verify account fields before creating a validated invoice. It also advises using account_edit if prerequisites are missing, offering clear contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
order_detailGet order detailARead-onlyInspect
Retrieve full order information by its unique ID, including items, client data, payment mode, and total amount.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Unique numeric order ID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. Description confirms read operation and specifies what data is returned (items, client data, etc.), but doesn't disclose additional behavioral traits like permission requirements or rate limits. Adds value beyond annotations by detailing response content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, well-structured sentence. No redundant words, efficient delivery of purpose and content. Earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description lists return fields (items, client data, payment mode, total amount) giving good context. Could mention if all or subset of fields are returned, but sufficient for a simple read tool with clear parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter order_id described as 'Unique numeric order ID'. Description's 'by its unique ID' aligns with schema. No extra meaning beyond what schema provides, so baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Retrieve full order information by its unique ID' – a specific verb and resource. It lists components (items, client data, etc.) and distinguishes from siblings like order_create, order_edit, and data_list_orders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage when you have an order ID to get details, but no explicit guidance on when to choose this over data_list_orders or other retrieval methods. No 'do not use' conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
order_editEdit an orderAIdempotentInspect
Modify an existing order by its ID. Use the payment field to control the order state: -2 = keep as unvalidated quote (not paid); -1 = validate as invoice without payment; a payment method ID (from data_list_payments_modes) = record an actual payment and validate the order. Use paymentAmount to specify a partial payment amount (omit for full payment). Items can only be added or changed on unvalidated orders. Once validated, only payments can be recorded. Returns the orderID, a payment link, and a PDF invoice or quote URL.
| Name | Required | Description | Default |
|---|---|---|---|
| items | No | Items to add (only for unvalidated orders or new orders) | |
| client | No | Inline customer details | |
| idUser | No | Staff member ID | |
| idtable | No | Table ID | |
| orderID | Yes | ID of the order to modify | |
| payment | Yes | -2 = not paid, not validated | -1 = not paid, validated (invoice) | payment method ID = record a payment | |
| idClient | No | Customer ID | |
| idcaisse | No | Cash register ID | |
| pagerNum | No | Pager/buzzer number | |
| numcouverts | No | Number of covers/guests | |
| paymentAmount | No | Amount paid (partial payment support) | |
| publicComment | No | Comment visible on the receipt | |
| deliveryMethod | No | Delivery method: 0=takeaway, 1=delivery, 2=on-site, 3=drive, 4=relay, 5=table service, 6=room service | |
| privateComment | No | Internal staff-only comment |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond idempotentHint and destructiveHint annotations, the description reveals detailed behavioral traits: how payment values control state transitions, the order lifecycle for item modifications, and that returns include orderID, payment link, and PDF URL. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loads the main purpose, then logically explains payment options, constraints, and return values. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 14 parameters and no output schema, the description effectively covers key behaviors: payment state machine, item modification rules, and return values. It could mention error handling or prerequisites but provides sufficient context for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (100%), but the description adds significant meaning beyond schema: explaining the payment field's semantics with specific values and behaviors, partial payment via paymentAmount, and constraints on items array (only for unvalidated orders).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Modify an existing order by its ID', clearly stating the action, resource, and identifier. It distinguishes from siblings like order_create and order_detail by focusing on modifying an existing order and explaining payment field behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on payment values (-2, -1, payment method ID) and their effects on order state. It also states when items can be modified (only on unvalidated orders) and when only payments are allowed (after validation). This gives clear context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payment_mode_addAdd a payment methodAInspect
Add a new payment method to the shop. Requires a title. Optional fields: type (Cash, Credit_Card, Check, Bank_Transfer, Meal_Voucher, Holiday_Voucher, and their refund equivalents), accountingChapter, fixedAmount, minimumAmount, maximumAmount, cashboxLock (0 = all cashboxes). Use data_list_payments_modes to list existing methods.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Payment method type | |
| title | Yes | Name of the payment method (e.g. "Cash #2") | |
| cashboxLock | No | ID of the cashbox allowed to use this method (0 = all) | |
| fixedAmount | No | Fixed amount (e.g. for a gift certificate) | |
| maximumAmount | No | Maximum payment amount | |
| minimumAmount | No | Minimum payment amount | |
| accountingChapter | No | Accounting chapter code |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare idempotentHint=false and destructiveHint=false, which the description confirms by stating 'Add' (create operation). The description does not disclose additional behavioral traits such as error handling on duplicate titles or return value details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (three sentences) with no extraneous information. It is front-loaded with the purpose and efficiently covers the required and optional fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the creation action and lists parameters, but since there is no output schema, it lacks information about what the tool returns (e.g., success indicator, created method ID). Given the tool's simplicity, it is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so descriptions exist for all parameters in the schema. The tool description lists parameters but adds only minimal extra context (e.g., 'cashboxLock (0 = all cashboxes)') beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a new payment method to the shop' with a specific verb and resource. It distinguishes itself from sibling tools like payment_mode_delete (deletion) and data_list_payments_modes (listing), enabling correct selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates that a title is required and lists optional fields. It suggests using data_list_payments_modes to list existing methods, providing context. However, it does not explicitly exclude scenarios or mention prerequisites like permissions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payment_mode_deleteDelete a payment methodADestructiveIdempotentInspect
Permanently remove a payment method from the shop by its ID. Use data_list_payments_modes to find the ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the payment method to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states 'Permanently remove', consistent with the destructiveHint annotation. It adds the behavioral context of irreversibility, which annotations don't explicitly convey. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words, front-loading the core action and then providing a reference to the sibling tool for ID retrieval.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, clear annotations, and no output schema, the description covers the purpose, input source, and effect fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the 'id' parameter. The description adds minimal extra value by mentioning to find the ID via another tool, but the schema already documents the parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'remove' and specifies the resource 'payment method from the shop by its ID', which is specific and distinct from sibling tools like payment_mode_add (add) and data_list_payments_modes (list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using data_list_payments_modes to find the ID, providing clear guidance on how to obtain the required input. It lacks explicit when-not-to-use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plu_addAdd an articleBInspect
Add a new item/article to the shop catalog. Requires a title. Optional fields include price, department (deptID), VAT rate (vatID), barcode, stock, variations, and many more.
| Name | Required | Description | Default |
|---|---|---|---|
| price | No | Selling price | |
| stock | No | Current stock quantity | |
| title | No | Product display name | |
| vatID | No | VAT rate ID for takeaway/standard sales | |
| deptID | No | Parent department ID | |
| unitID | No | Unit of measure ID (e.g. kg, litre) | |
| weight | No | Product weight | |
| barcode | No | Product barcode (EAN, QR, etc.) | |
| calories | No | Calorie count | |
| position | No | Display position/order on keyboard | |
| shopHide | No | 1 to hide from online shop, 0 to show | |
| needPrepa | No | 1 if product requires kitchen preparation | |
| discountID | No | Default discount ID applied to this product | |
| eatinvatID | No | VAT rate ID for eat-in sales | |
| internalID | No | Internal reference or SKU | |
| shortTitle | No | Short label shown on receipt or keyboard | |
| stockAlert | No | Low-stock alert threshold | |
| supplierID | No | Supplier ID | |
| buyingPrice | No | Cost/buying price (for margin calculation) | |
| description | No | Full product description | |
| prepaLength | No | Estimated preparation time in minutes | |
| activityCode | No | Accounting activity code | |
| keyboardHide | No | 1 to hide from POS keyboard, 0 to show | |
| variationID0 | No | Variation type ID for slot 0 | |
| variationID1 | No | Variation type ID for slot 1 | |
| variationID2 | No | Variation type ID for slot 2 | |
| variationID3 | No | Variation type ID for slot 3 | |
| variationID4 | No | Variation type ID for slot 4 | |
| consumptionDate | No | Expiry/consumption date |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is not destructive (destructiveHint: false) and not idempotent. The description adds 'add a new item' which is consistent but does not disclose behavioral traits beyond annotations, such as potential duplicate handling or permission needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states purpose and required field, the second lists example optionals. Well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 29 parameters and no output schema, the description is very brief and does not cover return values, error scenarios, or common usage patterns. More context is needed for a tool with such complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a description in the schema. The description lists example optional fields but does not add new meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Add' and the resource 'a new item/article to the shop catalog', which distinguishes it from sibling tools like plu_edit or plu_delete. The verb and resource are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus other creation tools (e.g., dept_add, client_add) or versus plu_edit. It only mentions a prerequisite (requires a title) but lacks explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plu_deleteDelete an articleADestructiveIdempotentInspect
Permanently remove an item/article from the catalog by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the product to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint: true and idempotentHint: true, so the description's mention of 'permanently remove' adds no new behavioral insight beyond confirming the destructive nature. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, clear annotations), the description adequately covers the action and required input. No output schema needed for understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description does not elaborate on the 'id' parameter beyond what the schema provides. Minimum viable score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('permanently remove'), the resource ('item/article from catalog'), and the method ('by its ID'). It effectively distinguishes from sibling tools like plu_add or plu_edit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. The usage context is only implied by the action itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plu_editEdit an articleAIdempotentInspect
Edit an existing item/article in the catalog by its ID. All fields are optional except the ID. Use data_list_products to find the article ID first.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the product to modify | |
| price | No | Selling price | |
| stock | No | Current stock quantity | |
| title | No | Product display name | |
| vatID | No | VAT rate ID for takeaway/standard sales | |
| deptID | No | Parent department ID | |
| unitID | No | Unit of measure ID (e.g. kg, litre) | |
| weight | No | Product weight | |
| barcode | No | Product barcode (EAN, QR, etc.) | |
| calories | No | Calorie count | |
| position | No | Display position/order on keyboard | |
| shopHide | No | 1 to hide from online shop, 0 to show | |
| needPrepa | No | 1 if product requires kitchen preparation | |
| discountID | No | Default discount ID applied to this product | |
| eatinvatID | No | VAT rate ID for eat-in sales | |
| internalID | No | Internal reference or SKU | |
| shortTitle | No | Short label shown on receipt or keyboard | |
| stockAlert | No | Low-stock alert threshold | |
| supplierID | No | Supplier ID | |
| buyingPrice | No | Cost/buying price (for margin calculation) | |
| description | No | Full product description | |
| prepaLength | No | Estimated preparation time in minutes | |
| activityCode | No | Accounting activity code | |
| keyboardHide | No | 1 to hide from POS keyboard, 0 to show | |
| variationID0 | No | Variation type ID for slot 0 | |
| variationID1 | No | Variation type ID for slot 1 | |
| variationID2 | No | Variation type ID for slot 2 | |
| variationID3 | No | Variation type ID for slot 3 | |
| variationID4 | No | Variation type ID for slot 4 | |
| consumptionDate | No | Expiry/consumption date |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false, so the description does not add significant behavioral context. It mentions 'Edit' but does not elaborate on side effects, permissions, or return behavior, which is acceptable given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two efficient sentences: the first states the core purpose, and the second provides a critical prerequisite. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 30 parameters, no output schema, and the presence of annotations, the description is largely complete. It mentions a key prerequisite (finding the ID via data_list_products), but does not specify the return format or confirmation behavior, which would be helpful but is not critical for a standard edit tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 100% with descriptions for all 30 parameters. The description only reiterates that all fields except ID are optional, which is already clear from the required array. It adds no additional semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Edit an existing item/article in the catalog by its ID', specifying the verb (edit), resource (item/article), and the key identifier (ID). It distinguishes from sibling tools like plu_add and plu_delete, which handle creation and deletion respectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises to 'Use data_list_products to find the article ID first', which provides clear guidance on preparation. It implicitly indicates when to use this tool (when you have an ID to modify), but does not explicitly list alternatives or when not to use it, though the sibling context covers that.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_getGet a sales reportARead-onlyInspect
Download a synthetic HTML sales report for a given period. Period logic: omit all date fields to get yesterday's report; provide y only for a full-year report; y + m for a full-month report; y + m + d for a specific day. Returns an HTML summary including total revenue, number of orders, breakdown by department, VAT summary, and payment methods.
| Name | Required | Description | Default |
|---|---|---|---|
| d | No | Day of month (1–31); omit for full-month report | |
| m | No | Month (1–12); omit for full-year report | |
| y | No | Year (e.g. 2024); omit for current year |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, confirming no side effects. The description adds that it returns an HTML summary with specific content (revenue, orders, breakdown, VAT, payment methods), providing behavioral details beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose, second explains period logic. Every sentence adds value, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a report-generation tool with flexible period input, the description fully covers behavior, return content, and parameter usage. No output schema is needed as description details what is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are described in the schema with descriptions. The description adds semantics by explaining the period logic (e.g., omit d for full-month, omit m for full-year), which enriches parameter meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it downloads an HTML sales report for a period. It uses specific verb 'download' and resource 'synthetic HTML sales report', and distinguishes from list tools like data_list_orders that provide raw data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains period logic in detail (omit all dates for yesterday, provide y for year, etc.), guiding when to use each parameter combination. It does not explicitly mention when not to use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vat_addAdd a VAT rateAInspect
Add a new VAT rate to the shop configuration. Requires a title and a rate (e.g. 20 for 20%). Optional fields: accountingChapter, legal mention.
| Name | Required | Description | Default |
|---|---|---|---|
| rate | Yes | VAT percentage rate (e.g. 20 for 20%) | |
| legal | No | Legal reference or note for this VAT rate | |
| title | Yes | Name/label for the VAT rate (e.g. 'Standard 20%') | |
| accountingChapter | No | Accounting chapter code for this VAT rate |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-destructive and non-idempotent behavior. The description adds that the tool requires a title and rate but does not elaborate on potential side effects (e.g., duplicate handling, permission requirements). It meets the baseline but lacks deeper behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose. It uses three short sentences without unnecessary words, though the structure could be slightly improved by integrating the required/optional info more naturally.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should clarify the result or side effect (e.g., confirmation, ID of created rate). It does not mention what happens upon success, leaving a gap. For a simple tool with 4 parameters, this is a notable omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description groups parameters as required or optional and provides an example for 'rate', adding slight value beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add'), the resource ('new VAT rate'), and the context ('to the shop configuration'). It distinguishes from sibling tools like vat_edit and vat_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for adding a VAT rate but does not explicitly provide when-to-use or when-not-to-use guidance, nor does it reference alternatives like vat_edit or vat_delete. The context is clear enough, but explicit exclusion is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vat_deleteDelete a VAT rateADestructiveIdempotentInspect
Permanently remove a VAT rate from the shop configuration by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the VAT rate to delete |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint and idempotentHint, which are the primary behavioral traits. The description adds 'permanently' but no additional context about side effects or consequences of deletion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently conveys the tool's purpose without any redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (single parameter, no output schema), the description is largely complete. It could note idempotency or deletion safety, but annotations cover these.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description 'ID of the VAT rate to delete' is clear. The description does not add further meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'permanently remove' and the resource 'VAT rate', and specifies the identifier. It effectively distinguishes this tool from siblings like vat_add and vat_edit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description only implies usage for deletion but lacks when-not scenarios or comparisons with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vat_editEdit a VAT rateAIdempotentInspect
Modify an existing VAT rate by its ID. All fields are optional except the ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the VAT rate to modify | |
| rate | No | VAT percentage rate (e.g. 20 for 20%) | |
| legal | No | Legal reference or note for this VAT rate | |
| title | No | Name/label for the VAT rate (e.g. 'Standard 20%') | |
| accountingChapter | No | Accounting chapter code for this VAT rate |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is clear. The description adds that the tool modifies by ID and that fields are optional, but doesn't disclose any additional behavioral traits such as permission requirements, concurrency behavior, or what happens if the ID does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences that clearly state the tool's purpose and the key constraint about optional fields. Every word is necessary and contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple edit tool with 5 scalar parameters and no output schema, the description adequately covers purpose and parameter optionality. It could mention what happens if the ID is invalid or if there are conflicts, but given the simplicity, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 5 parameters with descriptions (100% coverage). The description adds a high-level note that only the ID is required and other fields are optional, which is already implied by the schema's required array. No additional semantic information is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Modify' and specifies the resource 'VAT rate' by its ID. It clearly distinguishes from sibling tools vat_add and vat_delete by indicating that this tool edits an existing rate rather than adding or deleting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states that all fields except ID are optional, implying that only the fields to be changed need to be provided. However, it does not explicitly state when to use this tool over its siblings (vat_add, vat_delete) or provide any scenario-based guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceGTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.117371MIT

industrylens-mcpofficial
Flicense-qualityCmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
Sociality MCPofficial
Alicense-qualityDmaintenanceSocial media analytics, post insights, and competitor benchmarking for AI agents.6MIT- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.1761MIT