caisse-enregistreuse-mcp-server
The Kash MCP Server connects AI assistants to the Kash POS, invoicing, CRM, and webshop platform, enabling comprehensive business management through natural language.
Account & Authentication
Create new Kash accounts (with pre-configured datasets for business types like restaurant, retail, cafรฉ, etc.)
List accounts associated with an email
Authenticate via OTP or API key; log out of active sessions
Sales & Order Management
Record new sales with catalog items, department lines, or free-form lines (custom title + price)
Edit existing orders: add items, assign clients, record payments, validate as invoices
List orders filtered by date range, validation status, and delivery method
Get detailed order info (items, client, payment method, totals)
Reporting
Generate HTML sales reports for any period (day, month, year)
Catalog Management
Add, edit, and delete items (PLUs): price, department, VAT, barcode, stock, variations
Manage departments, department groups, and VAT rates
Create and manage product variation types (e.g., Size, Color) and their choices with optional price adjustments
Customer Management (CRM)
Add, edit, and delete customer profiles including contact info, company details, loyalty data, and notes
Data Retrieval
Retrieve lists of products, departments, department groups, VAT rates, clients, variations, payment methods, cashboxes, delivery methods, delivery zones, relay points, discounts, users, and tables
Utility
Ping the server to check operational status
Supports English and French interfaces
Enables containerized deployment of Kash MCP server using Docker, providing portable and scalable server instances for integration with various MCP clients and workflows.
Supports integration with Kash POS platform through LangChain framework, enabling AI applications to interact with business data, manage sales, catalog, and customer relationships programmatically.
Enables integration with Kash POS platform through n8n workflow automation, allowing automated management of sales, inventory, customer data, and business operations via MCP protocol.
Provides OAuth 2.0 authentication integration for Kash POS platform, enabling secure login and session management through OpenID Connect protocol for MCP clients.
Supports Redis integration for session management and caching in HTTP mode deployment of Kash MCP server, enabling scalable server operation with persistent session storage.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@caisse-enregistreuse-mcp-servershow me today's sales"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐งพ Kash MCP Server

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 |
| Items / articles |
| Departments / categories |
| Department groups |
| VAT rates |
| Customers |
| Variation types |
| Payment methods |
| Cashboxes |
| Delivery methods |
| Delivery zones |
| Relay / pickup points |
| Discounts & supplements |
| Staff / users |
| Tables (restaurant mode) |
| Orders by date range |
๐ Available Tools (46)
Category | Tools |
Account |
|
Auth |
|
Sales |
|
Reports |
|
Items |
|
Departments |
|
Dept groups |
|
VAT |
|
Variations |
|
Variation choices |
|
Customers |
|
Data |
|
Utility |
|
โ๏ธ 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.
๐ Option 1 โ Hosted server (recommended)
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 |
|
MCP Server URL |
|
Authentication |
|
ChatGPT
In Settings โ Connectors โ Create Connector:
Field | Value |
Name |
|
MCP Server URL |
|
Authentication |
|
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_APIKEYClaude Desktop configuration
Edit claude_desktop_config.json:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/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.jsDocker (HTTP mode)
HTTP mode requires Redis. Use Docker Compose:
docker compose upOr 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 doneIf 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 |
| MCP JSON-RPC endpoint |
| Health check โ |
| MCP manifest (tool list) |
| 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...
๐ Links
๐ Website: kash.click
๐ Documentation: kash.click/cash-register-software
๐ง API Reference: kash.click/cash-register-software/mcp
๐ Register for free: kash.click/free-pos-software
๐ License
ยฉ 2025 Net-assembly. GNU General Public License v3.0
Available Tools
17 toolsdata_list_cashboxesRรฉcupรจre la liste des caisses enregistrรฉes (physiques ou virtuelles) associรฉes ร la boutique, avec leurs identifiants et leur รฉtat actuel.CRead-only
Liste des Lister les caisses
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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รฉ...CRead-only
Liste des Lister les clients
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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..CRead-only
Liste des Lister les mรฉthodes de livraison
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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.CRead-only
Liste des Lister les zones de livraison
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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.CRead-only
Liste des Lister les groupes de rayons
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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.CRead-only
Liste des Lister les rayons
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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.CRead-only
Liste des Lister les rรฉductions
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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 commandesARead-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).
| Name | Required | Description | Default |
|---|---|---|---|
| validatedOrders | Yes | ||
| from_date_ISO8601 | Yes | ||
| to_date_ISO8601 | Yes | ||
| filterDeliveryMethod | No |
TDQS
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.
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.
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.
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.
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.
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.).CRead-only
Liste des Lister les modes de paiement
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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).CRead-only
Liste des Lister les articles
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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.CRead-only
Liste des Lister les points relais
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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.CRead-only
Liste des Lister les tables
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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.CRead-only
Liste des Lister les utilisateurs
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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.CRead-only
Liste des Lister les dรฉclinaisons
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | json |
TDQS
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.
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.
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.
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.
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.
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 commandeARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| msg | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| payment | No | ||
| deliveryMethod | No | ||
| idtable | No | ||
| idcaisse | No | ||
| numcouverts | No | ||
| publicComment | No | ||
| privateComment | No | ||
| pagerNum | No | ||
| idUser | No | ||
| idClient | No | ||
| client | No | ||
| items | Yes |
TDQS
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.
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.
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.
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.
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.
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.
17 tool updates
v1.0.0- Changed
data_list_cashboxes2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_clients2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_delivery_men2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_delivery_zones2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_department_groups2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_departments2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_discounts2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_orders2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_payments_modes2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_products2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_relay_points2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_tables2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_users2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
data_list_variations2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
order_detail2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
ping2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
- Changed
sale_create2 fields changed- added
Input schema / $schemaAdded value: +"http://json-schema.org/draft-07/schema#" - added
Input schema / additionalPropertiesAdded value: +false
17 tool updates
- First observed
data_list_cashboxes - First observed
data_list_clients - First observed
data_list_delivery_men - First observed
data_list_delivery_zones - First observed
data_list_department_groups - First observed
data_list_departments - First observed
data_list_discounts - First observed
data_list_orders - First observed
data_list_payments_modes - First observed
data_list_products - First observed
data_list_relay_points - First observed
data_list_tables - First observed
data_list_users - First observed
data_list_variations - First observed
order_detail - First observed
ping - First observed
sale_create
TDQS
Scored across 17 tools
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.
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.
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.
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
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
ConnectPlug (CPlug) POS and ERP for restaurants, food service and retail, with the full official RES
Calculate sales tax & VAT, record transactions and refunds, manage products and customers.
Sales force and rep ERP on Mercos via the official API. List orders, customers, products, price tabl
Microvix retail ERP (Linx, part of the Stone group) for store chains and franchises, via the officia
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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.1MIT
- AlicenseAqualityCmaintenanceConnects 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.1728MIT
- MIT
- AlicenseNot gradedqualityAmaintenanceConnects to the Lexware Office API to provide read and write access to accounting data such as invoices, contacts, vouchers, and articles. Enables natural language queries and management operations through an MCP client.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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