Skip to main content
Glama

ftp_user_add

Creates an FTP user on ISPConfig with the specified client, server, and domain settings, providing hosting clients with file access credentials.

Instructions

Create an FTP user

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYesFTP user params (server_id, parent_domain_id, username, password, etc.)
client_idYesClient ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It states that an FTP user is created, but does not explain side effects, required permissions, whether the operation is reversible, or what happens if the username already exists. This is minimal behavioral information for a mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: a single five-word sentence with no filler or redundancy. It is front-loaded with the essential action. However, its brevity borders on under-specification, since it omits useful context that could fit in one or two more sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has nested parameters, no output schema, and no annotations, yet the description only states the basic action. An agent has no information about required nested fields like server_id or parent_domain_id, the response format, or any constraints. For a user-creation operation with this complexity, the description is not complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes both parameters: client_id and a params object with an example list of FTP user properties. Schema description coverage is 100%, so the description adds no additional parameter meaning. The 'etc.' in the schema leaves the nested fields partially open, but the description provides no compensation for that ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action and resource: 'Create an FTP user.' It identifies the operation (create) and object (FTP user), distinguishing it from sibling operations like ftp_user_update, ftp_user_delete, and ftp_user_list. However, it does not explicitly differentiate it from other creation tools such as shell_user_add or clarify which sibling is the alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not state when to use this tool versus alternatives, nor does it mention any prerequisites, such as needing an existing server or domain. The agent must infer intended usage solely from the verb 'Create'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.