list_clients
Lister les clients (CRM)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Lister les clients (CRM)
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description's addition of '(CRM)' is minimal. No further behavioral traits (e.g., default ordering, pagination) are disclosed, but the annotations cover safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise phrase that is front-loaded. It contains no unnecessary words, but could benefit from slight expansion to improve 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 no parameters, no output schema, and comprehensive annotations, the description is minimally complete for a simple list operation. It does not specify return format or ordering, but that is acceptable for a basic 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?
No parameters exist, so the description adds nothing beyond the schema, which is 100% covered. Baseline for 0 parameters is 4, and no additional parameter info is needed.
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 'Lister les clients (CRM)' clearly states the action (list) and resource (clients), specifying the CRM domain. This distinguishes it from sibling tools like get_client (single client) and create_client, but does not differentiate from other list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_client or search. It lacks context for optimal usage, such as explaining that it returns a list of all clients without filtering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Most tools target distinct resources and actions (e.g., create_client vs. list_clients). However, generic tools like eyeot_call overlap with many specific tools, and there's potential confusion between convert_opportunity_to_quote, create_quote, and accept_quote, though descriptions help distinguish them.
The majority follow verb_noun pattern (create_client, list_invoices), but there are outliers like eyeot_call, eyeot_help, stock_dashboard, dashboard_kpis, whoami, and search. The mix of French and English is consistent but slight inconsistency in structure.
33 tools cover multiple ERP modules (CRM, HR, inventory, sales, IT). While on the higher end, each module has necessary operations. The presence of generic eyeot_call suggests the tool surface could be larger, but the count is still reasonable for the scope.
Only clients have update and no deletes exist. Many resources (products, employees, orders, quotes, invoices, opportunities, tickets) lack update/delete operations. This creates dead ends for agents that need to modify or remove data.