company_lists-update
Update a company list name or filter and refresh cached matching companies.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the company list to update | |
| __requestBody | Yes | Request body |
Update a company list name or filter and refresh cached matching companies.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | The unique identifier of the company list to update | |
| __requestBody | Yes | Request body |
Changes observed during successful MCP inspections.
Input schema / properties / __requestBody / properties / filter / properties / industries / examplePrevious value: -[
- "Computer Software",
- "Internet"
-]New value: +[
+ "software development",
+ "technology, information and internet"
+]Input schema / properties / __requestBody / properties / filter / properties / industries / descriptionAdded value: +"Filter by industry names"Input schema / properties / __requestBody / properties / filter / properties / location / properties / countryCodes / descriptionAdded value: +"Filter by ISO country codes"Input schema / properties / __requestBody / properties / filter / properties / sizes / descriptionAdded value: +"Filter by company size ranges"Input schema / properties / __requestBody / properties / filter / properties / technologies / descriptionAdded value: +"Filter by technology slugs (companies must use at least one of the specified technologies)"Input schema / properties / __requestBody / properties / name / descriptionAdded value: +"Updated name for the list (1–200 characters)"Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true. The description adds one useful behavioral trait: it refreshes the cached matching companies after the update. However, it does not disclose side effects like whether the existing filter is fully replaced or merged, whether the cache refresh is async and eventual, or whether excluded companies are removed from list membership. With annotations covering little (this is a state-changing tool with only hints that it is non-destructive and idempotent), the description carries some burden and only partially meets it.
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?
One sentence, direct and efficient. The core action and the notable cache-refresh side effect are both included without fluff. Slightly more context on replace-vs-merge behavior would be useful but the sentence is earnestly compact.
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?
The schema is rich and fully documented, which covers parameter formatting. The tool has no output schema, so the agent does not know what the response looks like; the description does not mention the return value or eventual caching behavior. For an update operation this is adequate but not complete: an agent receiving a success/failure response might still not know when the cache refresh completes or how to verify the update took effect.
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 100%, so the baseline is 3. The description adds minimal extra meaning: it makes clear that name and filter are the updatable fields, but the schema already explains each field. It does not clarify how the filter parameter interacts with an existing filter (replace vs merge), which would add real semantic value 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 ('Update'), a specific resource ('a company list'), and the two things being updated ('name or filter'). It also mentions refreshing cached matching companies, which is behavior specific to this tool. Among siblings like company_lists-create/delete/get, it's clearly distinguishable as the update operation.
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 the tool is for updating an existing company list's name or filter, and contrasts with create/delete/get via the verb. However, it provides no explicit when-to-use guidance, no mention that the listId must exist, no note about validation of filter criteria, and no direction to alternatives (e.g., use create for new lists, delete for removal). Minimum viable but thin.
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.