/install ftp-client
FTP Client
Full-featured FTP/FTPS client skill for OpenClaw. Connect to remote FTP servers and manage files directly.
Environment Variable
Set FTP_CONNECTION in the OpenClaw skill management panel. Format (comma-separated, last 3 fields optional):
host:port,username,password,active/passive,ftp/ftps,explicit/implicit
Examples:
ftp.example.com:21,myuser,mypassword
ftp.example.com:21,myuser,mypassword,passive
ftp.example.com:990,myuser,mypassword,passive,ftps,implicit
Field definitions:
- Field 1 (required):
host:port— FTP server address and port - Field 2 (required):
username— FTP login username - Field 3 (required):
password— FTP login password - Field 4 (optional):
activeorpassive— connection mode (default:passive) - Field 5 (optional):
ftporftps— protocol (default:ftp) - Field 6 (optional):
explicitorimplicit— TLS mode for FTPS (default: not used; only meaningful when field 5 isftps)
Note: If your password contains commas, replace them with
%2C(URL-encoded). The parser will decode it.
List directory
node {baseDir}/scripts/list.mjs
node {baseDir}/scripts/list.mjs "/remote/path"
node {baseDir}/scripts/list.mjs "/" --long
Options:
--longor-l: Show detailed file info (size, date, permissions)
Download file
node {baseDir}/scripts/download.mjs "/remote/file.txt"
node {baseDir}/scripts/download.mjs "/remote/file.txt" --out "/local/path/file.txt"
node {baseDir}/scripts/download.mjs "/remote/dir" --dir
Options:
--out \x3Cpath>or-o \x3Cpath>: Local destination path (default: temp directory)--diror-d: Download entire directory recursively
Upload file
node {baseDir}/scripts/upload.mjs "/local/file.txt"
node {baseDir}/scripts/upload.mjs "/local/file.txt" --to "/remote/path/file.txt"
node {baseDir}/scripts/upload.mjs "/local/dir" --dir --to "/remote/dir"
Options:
--to \x3Cpath>or-t \x3Cpath>: Remote destination path (default: FTP root/)--diror-d: Upload entire directory recursively
Delete file or directory
node {baseDir}/scripts/delete.mjs "/remote/file.txt"
node {baseDir}/scripts/delete.mjs "/remote/dir" --dir
Options:
--diror-d: Remove directory recursively (including all contents)
Move / Rename
node {baseDir}/scripts/move.mjs "/remote/old-name.txt" "/remote/new-name.txt"
node {baseDir}/scripts/move.mjs "/remote/file.txt" "/remote/subdir/file.txt"
Copy file
node {baseDir}/scripts/copy.mjs "/remote/source.txt" "/remote/dest.txt"
FTP protocol does not natively support copy. This downloads the file to a temp location and re-uploads it.
Create directory
node {baseDir}/scripts/mkdir.mjs "/remote/new-dir"
node {baseDir}/scripts/mkdir.mjs "/remote/path/to/deep/dir"
Creates the directory and all intermediate directories as needed.
Read file content
node {baseDir}/scripts/read.mjs "/remote/file.txt"
node {baseDir}/scripts/read.mjs "/remote/file.txt" --encoding utf8
Options:
--encoding \x3Cenc>: File encoding (default:utf8). Supports:utf8,ascii,latin1,base64
File info (size, date)
node {baseDir}/scripts/info.mjs "/remote/file.txt"
Returns file size and last modification date.
Notes
- Requires
nodeand uses thebasic-ftpnpm package (auto-installed via package.json). - Set
FTP_CONNECTIONenv var before use. - Passive mode is recommended for most NAT/firewall scenarios.
- For FTPS, the skill supports both explicit (port 21 typical) and implicit (port 990 typical) TLS.
- Large file transfers show progress output.
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install ftp-client - After installation, invoke the skill by name or use
/ftp-client - Provide required inputs per the skill's parameter spec and get structured output
What is Ftp Client?
FTP/FTPS client skill. Connect to FTP servers and perform file operations (list, upload, download, delete, move, copy, mkdir, read). Supports FTP and FTPS (e... It is an AI Agent Skill for Claude Code / OpenClaw, with 318 downloads so far.
How do I install Ftp Client?
Run "/install ftp-client" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Ftp Client free?
Yes, Ftp Client is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Ftp Client support?
Ftp Client is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Ftp Client?
It is built and maintained by erayai (@erayai); the current version is v0.1.0.