Update customer
update_customerRename a customer or change its external_id or metadata.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Customer id | |
| name | No | ||
| metadata | No | Up to 50 string values | |
| external_id | No | Your id for them; unique per account |
update_customerRename a customer or change its external_id or metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Customer id | |
| name | No | ||
| metadata | No | Up to 50 string values | |
| external_id | No | Your id for them; unique per account |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false. The description adds no further behavioral context—it does not explain what gets destroyed, whether metadata updates replace or merge, or any permission requirements. It merely restates the modifiable fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with zero waste. It immediately conveys the action and scope without any filler.
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 destructive mutation tool with nested metadata and no output schema, the description is inadequate. It omits important behavioral details such as whether metadata is merged or replaced, what happens on external_id conflicts, and whether partial updates are supported.
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 75%, so the schema already documents most parameters. The description lists the same three updatable fields (name, external_id, metadata), adding marginal meaning by implying they are the only fields that can be changed, but without syntax or uniqueness details 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 states a specific verb (rename/change) and resource (customer) with the exact fields that can be modified. It distinguishes from a generic update by naming customer-specific fields like external_id and metadata, but does not explicitly contrast with siblings such as update_contact.
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 only states what the tool does, with no guidance on when to use it versus alternatives (e.g., update_contact, upsert_contact, or bulk_update_contacts). It also omits any prerequisites or when-not-to-use conditions.
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.