contact_lists-update
Rename a saved contact list without changing its stored contact snapshot.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the contact list | |
| __requestBody | Yes | Request body |
Rename a saved contact list without changing its stored contact snapshot.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the contact list | |
| __requestBody | Yes | Request body |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds valuable behavioral context by stating that the stored contact snapshot is unaffected, clarifying exactly what side effects the rename operation does not have. It does not discuss permissions or error conditions, but the added constraint is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence—'Rename a saved contact list without changing its stored contact snapshot.' Every clause adds meaning, with no filler or repetition, 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?
For a simple rename mutation with full schema coverage, helpful annotations, and a precise one-sentence behavior description, the tool is largely well-specified. The lack of an output schema and no mention of return value or error behavior is a minor gap, but the operational contract is otherwise clear.
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 provides complete descriptions for both parameters: listId as 'The unique identifier of the contact list' and name as 'New display name for the contact list' with an example and maxLength. The description adds no additional parameter-level detail beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Rename') and resource ('saved contact list'), and further scopes the action with 'without changing its stored contact snapshot.' This clearly distinguishes it from sibling tools like contact_lists-create, contact_lists-delete, or contact_lists-get_contacts, and leaves no ambiguity about 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 clearly states the tool is for renaming a list and explicitly notes the snapshot is unchanged, giving strong context for when to use it. However, it does not explicitly name alternative tools to use for other operations (e.g., modifying contacts in the list) or provide 'use this instead' guidance.
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.
Many tools have overlapping purposes, such as signals-firmographics vs companies-enrich_firmographics, findEmail vs contacts-enrich_work_email, and monitors vs signal_subscriptions vs market_signals. While descriptions add some context, an agent could easily select the wrong tool due to the high similarity in function.
Most tools use a resource_subresource-action pattern, but there are inconsistent separators: underscores within some names, hyphens in others (e.g., scoring-assignment-bulk-create), and several camelCase exceptions (findEmail, findEmailBatchGet, getContactResearchByExternalID). This mixed convention makes the tool set feel unpredictable.
With 119 tools, this server vastly exceeds the typical well-scoped range. Even for a comprehensive B2B data platform, the sheer number creates cognitive overload and increases the risk of incorrect tool selection.
The server covers an extensive range of operations: enrichment, lists, contacts, signals, subscriptions, monitors, and scoring. Nearly every resource has create, read, update, and delete or lifecycle equivalents, leaving very few practical gaps for the intended use case.