ftp_user_delete
Delete an FTP user by providing its user ID. Removes the FTP account from ISPConfig, revoking access.
Instructions
Delete an FTP user
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | FTP user ID |
Delete an FTP user by providing its user ID. Removes the FTP account from ISPConfig, revoking access.
Delete an FTP user
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | FTP user ID |
Changes observed during successful MCP inspections.
v0.2.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of disclosing that this is a destructive operation. It only says 'Delete an FTP user' and omits permanence, side effects on files/directories, idempotency, and behavior for nonexistent IDs, leaving an agent unable to anticipate consequences.
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 no filler, which is appropriately concise for a one-parameter tool. It loses a point for being so terse that it omits useful cautionary context, though that gap is better reflected in other dimensions.
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 delete tool with no annotations and no output schema, the definition is incomplete: it does not state whether deletion is permanent, what exactly is deleted (account vs. data), what a successful call returns, or how to verify the result. The fully documented parameter mitigates but does not cure the gap.
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%: user_id is already documented as 'FTP user ID'. The description adds no parameter-level information, so the schema carries the semantic weight and a 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 ('Delete') and resource ('FTP user'), making the tool's action and target unambiguous. It also differentiates from sibling tools such as ftp_user_add, ftp_user_update, and ftp_user_list by signalling this is the deletion 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?
There is no explicit guidance about when to use this tool versus alternatives, no mention of prerequisites such as obtaining the user_id from ftp_user_list, and no warning that it should only be used when deletion is intended. The verb conveys the obvious case but does not help an agent select it under real-world conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.