Skip to main content
Glama

ftp_tool

FTP password management on the selected site (call select_site first). Proxies to /uapi/ftp_password (GET/POST/PUT/DELETE). Requires CP access on the site API key (can_use_cp). Account MCP does not run file FTP (list/read/write/upload) — use files_tool for the site file manager. After ftp_password_set or ftp_password_change the response may include ftp_password in plain text — save it immediately.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesftp_password_get — connection info without password (GET). ftp_password_set — set password when ftp_password_set=0 (POST). ftp_password_change — change existing password when ftp_password_set=1 (PUT). ftp_password_reset — clear password (DELETE; confirm required).
confirmNoRequired for ftp_password_reset after explicit user approval.
passwordNoSynonym for ftp_password (uAPI body field name).
ftp_passwordNoNew FTP password for ftp_password_set / ftp_password_change. [a-zA-Z0-9_-]{6,15}. Synonym: password.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the required authorization ('Requires CP access on the site API key (can_use_cp)'), the upstream endpoint that is proxied, and a critical output trait ('the response may include ftp_password in plain text — save it immediately'). The sensitive-return warning is exactly the kind of context structured fields cannot convey.

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?

Dense but front-loaded: purpose first, then routing, then auth, then the plain-text warning. Each sentence carries distinct information with no filler, though the run-on nature of the first sentence slightly reduces readability.

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

Completeness5/5

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

For a 4-parameter mutation tool with no annotations and no output schema, the description covers prerequisite ordering, authorization, the upstream proxy target, sibling routing, and return-value handling. An agent has everything needed to call it correctly.

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?

Schema description coverage is 100%, so each of the four parameters (including the enum and the password synonym) is already documented. The description reinforces the action semantics and notes the plain-text return for set/change, but adds no syntax or format detail beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific resource and scope ('FTP password management on the selected site') rather than restating the tool name. It explicitly distinguishes itself from siblings by declaring that files_tool, not this tool, handles file FTP operations. An agent can place it against files_tool and select_site without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit prerequisite ('call select_site first') and a clear negative route ('Account MCP does not run file FTP... use files_tool'). The action mapping (set=POST when unset, change=PUT when set, reset=DELETE with confirmation) tells the agent exactly when each mode applies. Nothing is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.