Skip to main content
Glama
paracetamol951

caisse-enregistreuse-mcp-server

๐Ÿงพ Kash MCP Server

License: GPL v3 Live Demo GitHub Stars npm

Kash MCP

Kash MCP Server is the official Model Context Protocol (MCP) server for Kash โ€” a free, cloud-based POS, invoicing, CRM and webshop platform trusted by thousands of merchants since 2011.

Connect your Kash account to Claude, ChatGPT, n8n, or any MCP-compatible AI โ€” and manage your entire business through natural conversation.

๐ŸŸข Hosted server: https://mcp.kash.click
๐Ÿ“– Full documentation: kash.click/cash-register-software


โœจ What you can do

Just talk. No menus, no clicks.

"Record a sale of 2 coffees and 1 croissant at table 84"
"Show me this week's revenue report"
"Add a new item called Summer Tart at โ‚ฌ4.50 in the Pastries department"
"Who are my best customers this month?"
"Create a Kash account for my restaurant"
"Record the card payment for order #1042"
"Add a Large size option to the Size variation"

Related MCP server: Itcons.app MCP Server

๐Ÿš€ Features

๐Ÿ” Account & Authentication โ€” no config required

  • Create a new Kash account directly from the conversation

  • List accounts linked to an email to check if one already exists

  • Login via OTP โ€” a one-time password is sent to your email, no password needed

  • Logout to clear the session at any time

๐Ÿงพ Sales & Orders

  • Record sales with catalog items, department lines, or free lines

  • Edit orders โ€” add items, assign a client, record payments, validate as invoice

  • List orders by date range, validated or unvalidated, filtered by delivery method

  • Get order details โ€” full breakdown of items, client, payments and totals

๐Ÿ“Š Reports

  • Sales report โ€” HTML summary for any period: a specific day, month, or full year (defaults to yesterday)

๐Ÿ“ฆ Catalog Management

  • Items (PLU): add, edit, delete โ€” with price, department, VAT, barcode, stock, variations...

  • Departments: add, edit, delete โ€” with VAT, price, group, variations...

  • Department groups: add, edit, delete โ€” to organize your catalog

  • VAT rates: add, edit, delete

  • Variations: add, edit, delete (e.g. "Size", "Color")

  • Variation choices: add, edit, delete (e.g. "S", "M", "L" for "Size") with optional price delta

๐Ÿ‘ฅ Customer Management (CRM)

  • Add, edit, delete customers with full contact info, company details, VAT number, barcode, loyalty data, private notes, blacklist status...

๐Ÿ“‹ Data & Lists

Retrieve any reference data from your shop:

Tool

Data

data.list.products

Items / articles

data.list.departments

Departments / categories

data_list_department_groups

Department groups

data_list_vats

VAT rates

data_list_clients

Customers

data_list_variations

Variation types

data_list_payments

Payment methods

data_list_cashboxes

Cashboxes

data_list_delivery_men

Delivery methods

data_list_delivery_zones

Delivery zones

data_list_relay_points

Relay / pickup points

data_list_discounts

Discounts & supplements

data.list.users

Staff / users

data_list_tables

Tables (restaurant mode)

data.list.orders

Orders by date range


๐Ÿ›  Available Tools (46)

Category

Tools

Account

account.list, account.create

Auth

auth.request.otp, auth.login.with_otp, auth.logout

Sales

order.create, order.edit, order.detail, data.list.orders, data.list.pending_orders

Reports

report.get

Items

plu_add, plu_edit, plu_delete, data.list.products

Departments

dept_add, dept_edit, dept_delete, data.list.departments

Dept groups

dept_group_add, dept_group_edit, dept_group_delete, data_list_department_groups

VAT

vat_add, vat_edit, vat_delete, data_list_vats

Variations

variation_add, variation_edit, variation_delete, data_list_variations

Variation choices

variation_choice_add, variation_choice_edit, variation_choice_delete

Customers

client_add, client_edit, client_delete, data_list_clients

Data

data_list_payments, data_list_cashboxes, data_list_delivery_men, data_list_delivery_zones, data_list_relay_points, data_list_discounts, data.list.users, data_list_tables

Utility

ping


โš™๏ธ Prerequisites

You need a Kash / free-cash-register.net account.

Don't have one? You can create it directly from the conversation using account.create, or register at kash.click/free-pos-software.

Already have one? Retrieve your APIKEY and SHOPID in the software under Setup โ†’ Webservices or connect using oAuth.


The easiest way: connect directly to the hosted MCP server at https://mcp.kash.click/mcp.

No installation needed. Authentication is handled via OAuth 2.0 with PKCE.

Claude.ai

In Settings โ†’ Integrations, add a new connector:

Field

Value

Name

Kash

MCP Server URL

https://mcp.kash.click/mcp

Authentication

OAuth

ChatGPT

In Settings โ†’ Connectors โ†’ Create Connector:

Field

Value

Name

Kash POS

MCP Server URL

https://mcp.kash.click/mcp

Authentication

OAuth

Smithery

Available on smithery.ai โ€” search for Kash.


๐Ÿ’ป Option 2 โ€” Self-hosted (STDIO)

Run the server locally for Claude Desktop or any STDIO-based MCP client.

Quick start via npx

npx caisse-enregistreuse-mcp-server --shopid=YOUR_SHOPID --apikey=YOUR_APIKEY

Claude Desktop configuration

Edit claude_desktop_config.json:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "kash": {
      "command": "npx",
      "args": [
        "caisse-enregistreuse-mcp-server",
        "--shopid=YOUR_SHOPID",
        "--apikey=YOUR_APIKEY"
      ]
    }
  }
}

Or using environment variables:

{
  "mcpServers": {
    "kash": {
      "command": "node",
      "args": ["PATH_TO_BUILD/build/stdio.js"],
      "cwd": "PATH_TO_BUILD",
      "env": {
        "SHOPID": "YOUR_SHOPID",
        "APIKEY": "YOUR_APIKEY"
      }
    }
  }
}

Install from source

# 1) Clone
git clone https://github.com/paracetamol951/caisse-enregistreuse-mcp-server.git
cd caisse-enregistreuse-mcp-server

# 2) Install dependencies
npm install

# 3) Create .env
echo "SHOPID=YOUR_SHOPID" > .env
echo "APIKEY=YOUR_APIKEY" >> .env

# 4) Build
npm run build

# 5) Run
node build/stdio.js

Docker (HTTP mode)

HTTP mode requires Redis. Use Docker Compose:

docker compose up

Or run manually:

docker run -d -p 6379:6379 redis
npm run dev

๐Ÿ” Authentication flow

Hosted server (OAuth)

Authentication is handled automatically by the OAuth 2.0 + PKCE flow when you connect through Claude.ai, ChatGPT, or Smithery.

In-conversation authentication (OTP)

You can also authenticate directly within the conversation โ€” no password required:

1. auth.request.otp(email)         โ†’ OTP sent to your inbox
2. auth.login.with_otp(email, otp) โ†’ session initialized โœ“
3. auth.logout()                   โ†’ clear session when done

If you don't have an account yet:

1. account.list(email)             โ†’ check existing accounts
2. account.create(email, title)    โ†’ create + session auto-initialized โœ“

STDIO / self-hosted

Pass credentials via CLI args or environment variables โ€” SHOPID and APIKEY.


๐Ÿ“ก API endpoints

Endpoint

Description

POST https://mcp.kash.click/mcp

MCP JSON-RPC endpoint

GET https://mcp.kash.click/health

Health check โ†’ { "status": "ok" }

GET https://mcp.kash.click/.well-known/mcp/manifest.json

MCP manifest (tool list)

GET https://mcp.kash.click/.well-known/openid-configuration

OAuth discovery


๐ŸŒ Internationalization

Tool titles and descriptions are available in English and French, resolved automatically from the Accept-Language header or the MCP_LANG environment variable.

Locale files: locales/en/common.json, locales/fr/common.json


Demo credentials

If you want to try the tool without creating an account, you can use the following credentials

Login: Demo15 Password : demodemo


๐Ÿ’ป Compatible clients

Client

Mode

Claude.ai

HTTP / OAuth

Claude Desktop

STDIO

ChatGPT

HTTP / OAuth

n8n

HTTP

Flowise / LangChain

HTTP

Smithery

HTTP / OAuth

Any MCP client

STDIO or HTTP


๐Ÿช Supported business types

When creating an account with account.create, use configType to pre-load a dataset tailored to your business:

Bar ยท Bakery ยท Restaurant ยท Fast-food ยท Cafe ยท Coffee-shop ยท Pizzeria ยท Brewery ยท Food-truck ยท Snack ยท Florist ยท Retail ยท Pharmacy ยท Supermarket ยท Clothing-store ยท Ecommerce ยท Services ยท Beauty-institute ยท Coiffeur ยท Market ยท Library ยท Camping ยท and more...



๐Ÿ“‹ License

ยฉ 2025 Net-assembly. GNU General Public License v3.0

Available Tools

17 tools
data_list_cashboxesRรฉcupรจre la liste des caisses enregistrรฉes (physiques ou virtuelles) associรฉes ร  la boutique, avec leurs identifiants et leur รฉtat actuel.C
Read-only

Liste des Lister les caisses

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.2/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=true, which the description does not contradict, as 'Liste' implies a read operation. However, the description adds no behavioral context beyond what annotations provide, such as rate limits, authentication needs, or response format details. With annotations covering safety, the description meets a minimal baseline but offers no extra value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description 'Liste des Lister les caisses' is overly concise to the point of being nonsensical and grammatically flawed. It fails to front-load useful information and wastes space with redundancy, making it inefficient rather than appropriately concise.

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

Completeness2/5

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

Given the tool's low complexity, one parameter, and annotations, the description is incomplete. It lacks output schema, and the description does not compensate by explaining return values or usage context. While annotations help, the description itself is inadequate for guiding the agent effectively.

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

Parameters3/5

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

The input schema has one parameter 'format' with enum values and 0% description coverage. The description provides no parameter information, but since schema coverage is low, the baseline is not fully met. However, with only one optional parameter and clear enum values in the schema, the description's lack of detail is partially mitigated, resulting in an average score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les caisses' is essentially a tautology that restates the tool name 'data_list_cashboxes' in French, providing no meaningful elaboration. While the title clarifies it retrieves registered cashboxes (physical or virtual) with their IDs and current status, the description itself adds no value and could be misleading due to its poor grammar and redundancy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. Given sibling tools like 'data_list_orders' or 'data_list_payments_modes', there is no indication of context, prerequisites, or distinctions, leaving the agent with no usage direction beyond the tool name.

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

data_list_clientsRetourne la liste des clients enregistrรฉs dans la boutique, incluant leurs informations de contact, points de fidรฉlitรฉ...C
Read-only

Liste des Lister les clients

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, indicating this is a safe read operation. The description adds no behavioral context beyond what annotations provideโ€”no information about rate limits, authentication needs, pagination, or what happens when the tool is invoked. However, it doesn't contradict the annotations, so it meets the lower bar with annotations present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While the description is extremely brief ('Liste des Lister les clients'), this brevity stems from under-specification rather than efficient communication. The phrase is redundant and poorly structured, failing to convey useful information in its limited space.

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

Completeness2/5

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

Given the tool's simplicity (one optional parameter, read-only operation), the description is incomplete. It lacks context about what 'clients' means in this system, how results are returned, or any limitations. With no output schema and minimal description, it leaves significant gaps for the agent to understand the tool's full behavior.

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

Parameters3/5

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

With 0% schema description coverage for the single parameter 'format', the description provides no additional parameter information. However, the schema itself fully defines the parameter with an enum (json, csv, html) and default value, giving adequate documentation. The baseline score of 3 reflects that the schema carries the documentation burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les clients' is essentially a tautology that restates the tool name 'data_list_clients' in French, adding no meaningful clarification. While the title provides some context about returning client lists with contact information and loyalty points, the description itself fails to articulate what the tool actually does beyond repeating its name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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

The description provides absolutely no guidance on when to use this tool versus the many sibling tools available (e.g., data_list_orders, data_list_products, order_detail, sale_create). There's no mention of appropriate contexts, prerequisites, or alternatives, leaving the agent with no usage direction.

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

data_list_delivery_menRรฉcupรจre la liste des modes de livraison disponibles dans la boutique : retrait en magasin, livraison ร  domicile, transporteur, etc..C
Read-only

Liste des Lister les mรฉthodes de livraison

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.2/5.0
Behavior3/5

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

The annotations indicate readOnlyHint=true, which aligns with the list/retrieval action implied by the title. The description doesn't add behavioral details beyond this, such as rate limits, authentication needs, or pagination behavior. However, it doesn't contradict the annotations (e.g., it doesn't suggest a write operation), so it's not scored lower. With annotations covering safety, the description adds minimal context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is overly concise to the point of being cryptic and grammatically flawed ('Liste des Lister'). It's not front-loaded with useful information and wastes space on repetition. While short, it lacks structure and clarity, making it inefficient rather than appropriately concise.

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

Completeness2/5

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

Given the tool's simplicity (one parameter, read-only, no output schema), the description is incomplete. It doesn't explain what 'delivery_men' refers to (e.g., delivery methods as per the title), the return format, or how it fits with siblings. The title adds some context, but the description itself is inadequate for a list tool, even with annotations covering read-only behavior.

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

Parameters3/5

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

The input schema has one parameter 'format' with enum values and a default, but schema description coverage is 0%, meaning no descriptions in the schema itself. The description provides no information about parameters, not even mentioning the 'format' parameter or its purpose. Since there's only one parameter and the schema defines it clearly with enums, the baseline is 3, but the description fails to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les mรฉthodes de livraison' is a tautology that essentially restates the tool name 'data_list_delivery_men' in French, with grammatical errors ('Liste des Lister'). It doesn't clearly articulate a specific verb-action or differentiate from sibling tools like 'data_list_delivery_zones' or 'data_list_payments_modes'. The title provides more context ('Rรฉcupรจre la liste des modes de livraison disponibles dans la boutique'), but the description itself fails to add value beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. It doesn't mention sibling tools, prerequisites, or specific contexts for invocation. For example, it doesn't clarify if this should be used instead of 'data_list_delivery_zones' for delivery method listings or how it relates to other list tools. There's complete absence of usage instructions.

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

data_list_delivery_zonesRetourne toutes les zones de livraison configurรฉes, incluant les noms de zone, codes postaux et รฉventuels frais de livraison associรฉs.C
Read-only

Liste des Lister les zones de livraison

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.2/5.0
Behavior3/5

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

The annotations indicate readOnlyHint=true, which the description does not contradict (it implies a listing operation). However, the description adds no behavioral context beyond what annotations provideโ€”it doesn't mention rate limits, authentication needs, or data format details. With annotations covering the read-only aspect, the description meets a minimal baseline but lacks additional useful disclosures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief ('Liste des Lister les zones de livraison'), but this brevity stems from under-specification rather than efficient communication. It repeats the tool name without adding value, making it ineffective rather than concise. A single sentence could be improved with meaningful content.

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

Completeness2/5

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

Given the tool's simplicity (one optional parameter, read-only operation), the description is incomplete. It lacks details on output format, error handling, or any contextual nuances. While annotations cover the read-only aspect, the description does not adequately supplement the structured data, leaving gaps in understanding for the agent.

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

Parameters3/5

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

The input schema has one parameter ('format') with an enum and default, but schema description coverage is 0%, meaning the schema lacks descriptions for this parameter. The description provides no information about parameters, failing to compensate for the schema's lack of descriptions. However, with only one parameter and a clear enum, the baseline is 3 as the schema itself is somewhat self-explanatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les zones de livraison' is tautological and grammatically flawed, essentially restating the tool name 'data_list_delivery_zones' without adding meaningful clarification. While the title provides a clear purpose ('Retourne toutes les zones de livraison configurรฉes...'), the description itself fails to articulate what the tool does beyond its name. This qualifies as a tautology with minimal added value.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. There are multiple sibling tools (e.g., data_list_clients, data_list_products) that likely serve similar listing functions, but no context is given to differentiate this tool's specific use case. The absence of any usage instructions leaves the agent without direction.

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

data_list_department_groupsRรฉcupรจre la liste des groupes de rayons, utilisรฉs pour organiser les catรฉgories de produits. Chaque groupe peut regrouper plusieurs rayons.C
Read-only

Liste des Lister les groupes de rayons

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.4/5.0
Behavior3/5

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

The annotations provide readOnlyHint=true, which tells the agent this is a safe read operation. The description adds no behavioral context beyond what the annotations already provide - no information about rate limits, authentication needs, response format, or other behavioral characteristics. However, it doesn't contradict the annotations, so it gets a baseline score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description 'Liste des Lister les groupes de rayons' is grammatically awkward and appears to be a translation error or duplication ('Liste des' followed by 'Lister les'). It's extremely brief but not effectively concise - it's under-specified rather than efficiently informative. The phrasing doesn't earn its place as a helpful description.

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

Completeness2/5

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

For a read-only listing tool with no output schema, the description is inadequate. It doesn't explain what information is returned, how results are structured, whether there's pagination, or any other contextual details needed to use the tool effectively. The title provides more useful information than the description itself.

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

Parameters3/5

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

With 0% schema description coverage for the single parameter 'format', the description carries full burden for explaining parameters but provides none. However, the parameter has an enum with clear options (json, csv, html) and a default value, making it self-explanatory. The baseline score of 3 reflects that while the description adds no parameter information, the schema itself is sufficiently clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les groupes de rayons' is tautological - it essentially restates the tool name 'data_list_department_groups' in French. While the title provides context about retrieving groups used to organize product categories, the description itself adds no meaningful clarification about what the tool actually does beyond repeating the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. Given there are 14 sibling tools including 'data_list_departments' which might be related, there's no indication of how this tool differs or when it should be preferred over other listing tools. The description offers no contextual usage information.

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

data_list_departmentsRetourne la liste des rayons (catรฉgories de produits) dรฉfinis dans la boutique, avec leurs noms et taux de TVA associรฉs. Compatible avec les formats json, csv ou html.C
Read-only

Liste des Lister les rayons

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.3/5.0
Behavior3/5

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

The annotation readOnlyHint=true already indicates this is a safe read operation. The description adds no behavioral context beyond what annotations provideโ€”no information about rate limits, authentication needs, or what 'rayons' (departments) represent in the system. However, it doesn't contradict annotations, so it meets the lower bar with annotations present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description 'Liste des Lister les rayons' is only 4 words but is poorly structured and redundant ('Liste des' followed by 'Lister'). It's under-specified rather than conciseโ€”it doesn't front-load useful information and wastes space on repetition without adding value.

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

Completeness2/5

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

Given the tool's simplicity (1 parameter, read-only), the description is incomplete. It lacks explanation of what 'rayons' are (product categories), doesn't mention the optional format parameter, and provides no output details. With no output schema, the description should at least hint at return structure, but it doesn't.

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

Parameters4/5

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

With only 1 parameter and 0% schema description coverage, the description doesn't mention the 'format' parameter at all. However, since there's just one optional parameter with a clear enum (json, csv, html), the baseline is high. The description's failure to explain the parameter is less critical here, but it still misses an opportunity to clarify output formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les rayons' is a tautology that essentially restates the tool name 'data_list_departments' in French. It doesn't specify what action is performed beyond listing, nor does it distinguish this tool from its many sibling list tools (e.g., data_list_products, data_list_users). The title provides more clarity, but the description itself fails to articulate purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. With 14 sibling list tools available (e.g., data_list_products, data_list_users), there's no indication of what distinguishes departments from other entities, nor any mention of prerequisites, exclusions, or specific contexts where this tool is appropriate.

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

data_list_discountsRetourne lโ€™ensemble des rรฉductions ou supplรฉments disponibles dans la boutique, incluant leur nom, type (pourcentage ou fixe), valeur et conditions dโ€™application.C
Read-only

Liste des Lister les rรฉductions

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.2/5.0
Behavior3/5

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

The description adds no behavioral information beyond what annotations provide. The annotation readOnlyHint=true already indicates this is a safe read operation. The description doesn't disclose any additional behavioral traits like rate limits, authentication needs, or what specific data is returned. However, it doesn't contradict the annotations, so it meets the minimum baseline when annotations cover the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief ('Liste des Lister les rรฉductions') but this brevity comes from under-specification rather than efficient communication. It's not front-loaded with useful information and contains grammatical redundancy. While short, it fails to convey meaningful content, making it inefficient rather than concise.

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

Completeness2/5

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

Given the tool's purpose (listing discounts with details like name, type, value, and conditions as stated in the title), the description is incomplete. It doesn't explain what data is returned, how results are structured, or any limitations. With no output schema and minimal description, an agent would struggle to understand how to use this tool effectively beyond the basic purpose indicated in the title.

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

Parameters3/5

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

The description provides no information about parameters. However, with only one parameter (format) that has 100% schema coverage (enum values and default are fully documented in the schema), the baseline score is 3. The description doesn't need to compensate since the schema adequately documents the single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les rรฉductions' is essentially a tautology that restates the tool name 'data_list_discounts' in French with grammatical errors ('Lister les rรฉductions' means 'List the discounts'). While the title provides a clear purpose ('Retourne l'ensemble des rรฉductions ou supplรฉments disponibles...'), the description itself adds no meaningful clarification beyond what's already in the name/title, making it minimally useful.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. It doesn't mention any of the sibling tools (e.g., data_list_products, data_list_orders) or explain how this tool differs from them. There's no context about when this tool is appropriate or when other tools might be better suited.

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

data_list_ordersLister les commandesA
Read-only

Listez soit les commandes non validรฉes (les devis) dont la date de crรฉation est comprise entre from_date_ISO8601 et to_date_ISO8601, soit les commandes validรฉes (dรฉnommรฉes commandes ou factures) dont la date de valeur est comprise entre from_date_ISO8601 et to_date_ISO8601. Vous pouvez รฉgalement filtrer les modes de livraison (avec filterDeliveryMethod).

ParametersJSON Schema
NameRequiredDescriptionDefault
validatedOrdersYes
from_date_ISO8601Yes
to_date_ISO8601Yes
filterDeliveryMethodNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true, and the description aligns with this by describing a listing operation. The description adds valuable behavioral context about the two distinct filtering modes (creation date for quotes vs value date for validated orders) and the optional delivery method filter, which goes 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured in two sentences that pack substantial information: first sentence explains the core functionality with date filtering logic, second adds optional filtering. Every word serves a purpose with zero redundancy.

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

Completeness4/5

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

For a read-only listing tool with no output schema, the description provides comprehensive context about what can be listed, filtering logic, and optional parameters. The main gap is lack of information about return format or pagination, but given the annotations and tool purpose, it's reasonably complete.

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

Parameters4/5

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

With 0% schema description coverage, the description compensates well by explaining the semantics of validatedOrders parameter (distinguishing quotes from validated orders/invoices), date parameters (different date fields used based on order type), and filterDeliveryMethod (delivery mode filtering). It provides meaningful context beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and resource 'orders', specifying two distinct types (unvalidated quotes vs validated orders/invoices) with different date filtering criteria. It distinguishes this tool from sibling tools like order_detail (detail view) and sale_create (creation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description provides clear context about when to use this tool: for listing orders/quotes within date ranges, with optional delivery method filtering. It doesn't explicitly mention when NOT to use it or name alternatives, but the context is sufficiently clear for proper usage.

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

data_list_payments_modesRetourne la liste des moyens de paiement configurรฉs dans la boutique (espรจces, carte bancaire, paiement mobile, etc.).C
Read-only

Liste des Lister les modes de paiement

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.4/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=true, which the description doesn't contradict as it implies a listing operation. However, the description adds no behavioral context beyond what annotations provide, such as rate limits, authentication needs, or output behavior. Since annotations cover the safety profile, the baseline is met, but no extra value is added.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description 'Liste des Lister les modes de paiement' is poorly structured and redundant, with 'Liste des' and 'Lister' repeating similar concepts. It's not front-loaded with key information and wastes space without adding clarity. A single, clear sentence would be more effective, but this version is both brief and unhelpful.

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

Completeness2/5

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

Given the tool's simplicity (1 parameter, read-only, no output schema), the description is incomplete. It fails to explain what 'modes de paiement' includes or how the output might be structured, relying solely on annotations and schema. For a list tool with sibling tools, more context is needed to differentiate and guide usage effectively.

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

Parameters3/5

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

Schema description coverage is 0%, but the description provides no parameter information. The input schema defines a 'format' parameter with enum values (json, csv, html) and a default, which is self-explanatory. With 1 parameter and no description coverage, the baseline is 3 as the schema handles the documentation adequately, but the description doesn't compensate for the lack of coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les modes de paiement' is tautological, essentially restating the tool name 'data_list_payments_modes' in French. While it hints at listing payment methods, it lacks specificity about what 'modes de paiement' entails and doesn't distinguish this tool from other list tools like data_list_cashboxes or data_list_orders. The title provides more clarity by mentioning examples like cash and credit cards, but the description itself is redundant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention any prerequisites, context for usage, or comparisons to sibling tools such as data_list_orders or sale_create. The description is too vague to imply any specific usage scenarios, leaving the agent without direction on application.

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

data_list_productsRรฉcupรจre la liste complรจte des articles (produits) enregistrรฉs dans la boutique. Retourne un tableau dโ€™articles contenant les champs id, titre, prix, rayon, TVA, etc. Le paramรจtre optionnel 'format' permet de choisir la sortie (json, csv ou html).C
Read-only

Liste des Lister les articles

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.5/5.0
Behavior4/5

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

The description doesn't contradict the readOnlyHint annotation (which indicates safe read operation). While the description itself adds no behavioral context, the title provides useful information about what fields are returned (id, titre, prix, rayon, TVA, etc.) and mentions the format parameter functionality. This adds value beyond the annotations, though it's in the title rather than the description field.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description 'Liste des Lister les articles' is under-specified rather than concise - it's a redundant, grammatically flawed phrase that fails to communicate meaningful information. While brief, it doesn't earn its place as it provides no value beyond the tool name.

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

Completeness3/5

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

For a simple read-only listing tool with good annotation coverage (readOnlyHint) and a well-documented single parameter, the description is inadequate but the title provides substantial context about return fields and parameter usage. Without an output schema, the title's mention of return fields helps, but the description itself contributes almost nothing to completeness.

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

Parameters3/5

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

With 100% schema description coverage (1 parameter fully documented in schema with enum values and default), the baseline is 3. The description adds no parameter information beyond what's already in the schema, but the title mentions the format parameter's purpose ('choisir la sortie'). This provides minimal additional context but doesn't significantly enhance understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les articles' is a tautology that essentially restates the tool name 'data_list_products' in French, with grammatical errors ('Lister' repeated). It doesn't provide a clear verb+resource statement beyond what's already implied by the name. The title provides more detail, but the description itself fails to articulate what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. With multiple sibling tools like 'data_list_orders', 'data_list_clients', etc., there's no indication of what distinguishes this product listing tool from other listing tools or when it should be selected over them.

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

data_list_relay_pointsListe les points relais disponibles pour la livraison des commandes, avec leur nom, adresse, ville et code postal.C
Read-only

Liste des Lister les points relais

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds no behavioral context beyond what annotations provide - no information about rate limits, authentication needs, or what specific data is returned. However, it doesn't contradict the annotations, so it gets a baseline score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While extremely brief, the description 'Liste des Lister les points relais' is grammatically incorrect and appears to be a translation error rather than intentional conciseness. It doesn't effectively communicate the tool's purpose despite its brevity, making it under-specified rather than appropriately concise.

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

Completeness2/5

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

For a read-only tool with no output schema, the description should provide more context about what data is returned. The title mentions name, address, city, and postal code, but the description itself doesn't convey this information. With annotations covering only the read-only aspect, the description fails to complete the picture of what this tool provides.

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

Parameters3/5

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

With 0% schema description coverage for the single parameter, the description provides no information about the 'format' parameter or its options. However, since there's only one parameter with clear enum values in the schema, the baseline score of 3 is appropriate as the schema does the heavy lifting for parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les points relais' is a tautology that essentially restates the tool name/title in broken French. While the title provides specific information about listing relay points with name, address, city, and postal code, the description itself adds no meaningful clarification about what the tool does beyond repeating the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like data_list_delivery_zones and data_list_delivery_men, there's no indication of when this specific relay point listing tool is appropriate versus those other delivery-related tools.

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

data_list_tablesRetourne la liste des tables configurรฉes dans lโ€™application, utilisรฉe notamment pour le mode restauration ou la gestion des tables en salle.C
Read-only

Liste des Lister les tables

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.4/5.0
Behavior3/5

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

The annotations provide readOnlyHint=true, indicating a safe read operation. The description adds no behavioral context beyond thisโ€”no details on rate limits, authentication needs, or what 'configured tables' entails. However, it does not contradict the annotations, so it meets the lower bar set by existing structured data without adding significant value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description 'Liste des Lister les tables' is overly concise to the point of being nonsensical and repetitive, failing to convey useful information. It is not front-loaded with key details, and the single phrase does not earn its place as it adds no clarity beyond the tool name.

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

Completeness2/5

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

Given the tool's simplicity (one parameter, read-only annotation, no output schema), the description is incomplete. It lacks explanation of what 'tables' refer to in this context, the scope of listing, or how results are structured, leaving gaps despite the straightforward nature of the tool.

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

Parameters3/5

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

With 0% schema description coverage and one parameter (format with enum values), the description provides no parameter information. However, the schema fully documents the format parameter with enum and default, so the baseline score of 3 is appropriate as the schema handles the heavy lifting, though the description adds no compensatory value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les tables' is tautological and essentially restates the tool name 'data_list_tables' in French, providing no meaningful clarification. While the title mentions returning configured tables for restoration or management, the description itself fails to articulate a specific verb+resource action or distinguish this tool from its many sibling list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives. Although the title hints at use cases like restoration mode or table management, the description itself lacks explicit when/when-not instructions or references to sibling tools, leaving the agent without practical usage context.

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

data_list_usersRรฉcupรจre la liste des utilisateurs (vendeurs, gรฉrants, etc.) rattachรฉs ร  la boutique, avec leurs rรดles et identifiants.C
Read-only

Liste des Lister les utilisateurs

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.2/5.0
Behavior3/5

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

The annotations declare readOnlyHint=true, which the description doesn't contradict. However, the description adds no behavioral context beyond what annotations provide - no information about authentication needs, rate limits, pagination, or what specific user data is returned. With annotations covering the safety aspect, this gets a baseline score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While technically concise (only 4 words), the description is under-specified rather than efficiently concise. It contains grammatical errors ('Liste des Lister') and fails to communicate essential information, making it an example of harmful brevity rather than effective conciseness.

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

Completeness2/5

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

For a read-only listing tool with no output schema, the description should provide more context about what data is returned (users with roles and identifiers as mentioned in the title) and how results are structured. The current description is inadequate given the tool's purpose and the lack of output schema documentation.

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

Parameters3/5

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

With 100% schema coverage (1 parameter with enum values clearly documented in the schema), the baseline is 3. The description adds no parameter information beyond what's already in the structured schema, which fully documents the 'format' parameter with its enum values and default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les utilisateurs' is tautological - it essentially repeats the tool name 'data_list_users' with grammatical errors. The title provides better context ('Rรฉcupรจre la liste des utilisateurs...'), but the description itself fails to clearly state what the tool does beyond restating the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. With sibling tools like 'data_list_clients' and 'data_list_delivery_men' that also list different entity types, there's no indication of when this user-listing tool is appropriate versus those other listing tools.

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

data_list_variationsListe toutes les dรฉclinaisons dโ€™articles (par exemple : taille, couleur, grammage). Retourne un tableau dโ€™objets indiquant les valeurs et รฉcarts de prix รฉventuels.C
Read-only

Liste des Lister les dรฉclinaisons

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNojson

TDQS

C2.2/5.0
Behavior3/5

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

The description adds no behavioral context beyond what annotations provide. Annotations indicate readOnlyHint=true, which the description does not contradict, but it also fails to disclose any additional traits like rate limits, authentication needs, or data scope. With annotations covering the safety profile, the description meets the baseline but adds no extra value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is overly concise to the point of being nonsensical ('Liste des Lister les dรฉclinaisons'), which is not effective communication. It lacks structure and fails to convey useful information efficiently, making it under-specified rather than appropriately concise.

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

Completeness2/5

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

Given the tool's complexity (a list operation with price variation data) and lack of output schema, the description is incomplete. It does not explain what data is returned, how price differences are presented, or any limitations. With annotations only covering read-only status, the description fails to provide sufficient context for effective use.

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

Parameters3/5

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

The description provides no information about parameters. With schema description coverage at 0%, the description does not compensate by explaining the 'format' parameter or its enum values. However, since there is only one optional parameter with a clear enum, the baseline score of 3 is appropriate as the schema handles the documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Liste des Lister les dรฉclinaisons' is a tautology that essentially restates the tool name 'data_list_variations' in French, providing no meaningful elaboration on what the tool actually does. While the title offers more detail about listing article variations and returning price differences, the description itself fails to clarify the purpose beyond repeating the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. It does not mention sibling tools like 'data_list_products' or specify contexts where this tool is appropriate, leaving the agent with no usage instructions.

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

order_detailObtenir le dรฉtail d'une commandeA
Read-only

Rรฉcupรจre toutes les informations dโ€™une commande ร  partir de son identifiant unique, y compris les articles vendus, le client, le mode de paiement et le montant total.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true, indicating a safe read operation. The description adds value by specifying the scope of information retrieved (items, customer, payment, total) and that it uses a unique order ID, which helps the agent understand what data to expect without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys purpose and scope without unnecessary details. It's front-loaded with the main action and includes all essential information concisely.

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

Completeness4/5

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 parameter and readOnlyHint annotation, the description is complete enough. It explains what data is returned, though no output schema exists. However, it could improve by mentioning error cases or response format.

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

Parameters4/5

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

Schema coverage is 0%, so the description carries full burden. It explains that 'order_id' is a unique identifier for retrieving order details, adding meaningful context beyond the schema's type definition. With only one parameter, this is sufficient for clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Rรฉcupรจre' - retrieves) and resource ('une commande' - an order), specifying it fetches all information including sold items, customer, payment method, and total amount. It distinguishes from sibling tools like 'data_list_orders' by focusing on a single order's details rather than listing multiple orders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description implies usage by mentioning retrieval from a unique identifier, but doesn't explicitly state when to use this vs. alternatives like 'data_list_orders' for listing orders or 'sale_create' for creating sales. No guidance on 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.

pingPingA

Vรฉrifie lโ€™รฉtat du serveur MCP. Retourne { result: 'OK' } si le serveur est opรฉrationnel.

ParametersJSON Schema
NameRequiredDescriptionDefault
msgNo

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the return value format and condition, which is helpful. However, it does not mention potential errors, latency, or other behavioral traits like rate limits or authentication needs, leaving some gaps for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences in French, front-loaded with the purpose and followed by the outcome. Every word earns its place with no redundancy or fluff, making it highly efficient and well-structured.

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

Completeness4/5

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

Given the tool's low complexity (simple health check), no annotations, no output schema, and minimal parameters, the description is mostly complete: it states the purpose, usage, and return value. However, it could be more complete by mentioning the optional parameter or error cases, but for such a simple tool, it's largely sufficient.

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

Parameters4/5

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

The input schema has 1 parameter with 0% description coverage, and the description does not mention any parameters. However, since there is only 1 optional parameter ('msg'), the tool likely functions without it, making the description adequate. The baseline for 0 parameters would be 4, but here the parameter is optional and undocumented, so a slight deduction to 4 is appropriate as the description doesn't add param info but the tool is simple.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Vรฉrifie l'รฉtat du serveur MCP') and the resource ('serveur MCP'), with a precise outcome ('Retourne { result: 'OK' } si le serveur est opรฉrationnel'). It distinguishes itself from all sibling tools, which are data listing or order/sale operations, by focusing on server health checking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description implies usage context: to check if the server is operational, which is clear and appropriate. However, it does not explicitly state when not to use it or name alternatives (e.g., other diagnostic tools), so it lacks explicit exclusions or comparisons.

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

sale_createCrรฉer une venteB

Crรฉe une nouvelle vente pour l'รฉtablissement. Prend en entrรฉe le mode de paiement (optionnel) et la liste des articles. Chaque article peut รชtre du type ยซ catalogue ยป (avec productId) ou ยซ rayon ยป (avec deptId) ou ยซ libre ยป (avec titre et prix). Vรฉrifier si le client n'existe dรฉjร  en utilisant data_list_clients et si le client existe, uniquement prรฉciser idClient. Retourne un objet JSON de confirmation de la vente tel que fourni par lโ€™API distante.

ParametersJSON Schema
NameRequiredDescriptionDefault
paymentNo
deliveryMethodNo
idtableNo
idcaisseNo
numcouvertsNo
publicCommentNo
privateCommentNo
pagerNumNo
idUserNo
idClientNo
clientNo
itemsYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool 'returns a JSON confirmation object as provided by the remote API,' which is helpful, but doesn't address critical behavioral aspects like whether this is a write operation (implied by 'creates'), error conditions, authentication requirements, rate limits, or what happens with invalid inputs. The description is insufficient for a mutation tool with complex parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise and front-loaded with the main purpose. It uses three sentences that each add value: creation purpose, parameter guidance, and return value. There's no wasted text, though it could be slightly more structured for clarity.

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

Completeness2/5

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

Given the complexity (12 parameters, nested objects, no annotations, no output schema), the description is incomplete. It covers some parameter semantics and mentions the return format, but fails to address behavioral transparency, many parameters, error handling, or usage context adequately. For a mutation tool with this complexity, more comprehensive guidance is needed.

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

Parameters4/5

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

The description adds significant semantic value beyond the schema, which has 0% description coverage. It explains that payment mode is optional, items are required, and details three types of items (catalog, department, free) with their required fields. However, it doesn't cover all 12 parameters, leaving many undocumented (like deliveryMethod, idtable, etc.).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Crรฉe une nouvelle vente pour l'รฉtablissement' (Creates a new sale for the establishment). It specifies the verb (creates) and resource (sale), but doesn't explicitly differentiate from sibling tools like 'order_detail' or 'data_list_orders' beyond mentioning client checking with '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.

Usage Guidelines3/5

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

The description provides implied usage guidance by mentioning to check if a client exists using 'data_list_clients' and specifying that if the client exists, only 'idClient' should be provided. However, it doesn't explicitly state when to use this tool versus alternatives like 'order_detail' or provide clear prerequisites or exclusions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 17 tool updatesv1.0.0
    • Changeddata_list_cashboxes2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_clients2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_delivery_men2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_delivery_zones2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_department_groups2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_departments2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_discounts2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_orders2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_payments_modes2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_products2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_relay_points2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_tables2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_users2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changeddata_list_variations2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedorder_detail2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedping2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedsale_create2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
  2. 17 tool updates
    • First observeddata_list_cashboxes
    • First observeddata_list_clients
    • First observeddata_list_delivery_men
    • First observeddata_list_delivery_zones
    • First observeddata_list_department_groups
    • First observeddata_list_departments
    • First observeddata_list_discounts
    • First observeddata_list_orders
    • First observeddata_list_payments_modes
    • First observeddata_list_products
    • First observeddata_list_relay_points
    • First observeddata_list_tables
    • First observeddata_list_users
    • First observeddata_list_variations
    • First observedorder_detail
    • First observedping
    • First observedsale_create

TDQS

C2.9/5.0

Scored across 17 tools

Disambiguation4/5

Most tools have clearly distinct purposes focused on listing different data entities (cashboxes, clients, products, etc.), with minimal overlap. However, 'data_list_orders' and 'order_detail' could potentially be confused for similar order-related queries, though their descriptions clarify one lists orders and the other retrieves details for a specific order. The 'ping' and 'sale_create' tools are distinct utility and action tools, respectively.

Naming Consistency4/5

The naming follows a consistent 'data_list_' prefix for 14 out of 17 tools, which is predictable and readable. However, there are minor deviations: 'order_detail' uses a different pattern (noun_verb) and 'ping' and 'sale_create' use simple verb-based names, breaking the consistency slightly. The overall pattern is still clear and mostly uniform.

Tool Count4/5

With 17 tools, the count is slightly high but reasonable for a point-of-sale system covering multiple data entities (e.g., cashboxes, clients, products, orders). It provides comprehensive listing capabilities, though it might feel a bit heavy. The scope aligns well with the server's purpose, and each tool serves a specific function without obvious redundancy.

Completeness3/5

The tool set offers extensive listing capabilities for various data entities, which is good for retrieval operations. However, there are notable gaps: it lacks create, update, or delete tools for most entities (e.g., clients, products), except for 'sale_create' which handles sales creation. This limits full CRUD coverage, potentially causing agents to hit dead ends when needing to modify data beyond sales.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with SmartKasa Ukrainian POS system through natural language, managing shops, products, inventory, sales receipts, employees, and fiscal reports with full API coverage.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects AI assistants to the Itcons.app business operations platform for managing work reports, work orders, projects, clients, and users. It supports both local stdio and remote HTTP modes, enabling querying, searching, and creating operational data with secure authentication.
    17
    28
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/paracetamol951/caisse-enregistreuse-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server