← Package Index
mcp-ftp mcp
v1.0.0 · MCP Tool · networking · registry.pascalai.org
FTP client file operations via Indy TIdFTP. Operations: list (directory listing), get (download file), put (upload file), delete (delete remote file), mkdir (create directory), rename (rename/move file), exists (check existence), info (file size and date). Supports anonymous and authenticated access with passive mode.
ftp file-transfer upload download indy
Input Parameters
Parameter Type Description
operationrequired
string
Operation: list, get, put, delete, mkdir, rename, exists, info One of: list, get, put, delete, mkdir, rename, exists, info.
hostrequired
string
FTP server hostname or IP
portoptional
integer
FTP port (default: 21) Default: 21.
usernameoptional
string
Username (default: anonymous) Default: anonymous.
passwordoptional
string
Password
remotepathoptional
string
Remote file or directory path
localpathoptional
string
Local file path (for get/put)
newnameoptional
string
New remote name/path (for rename)
passiveoptional
boolean
Use passive mode (default: true) Default: True.
Output Fields
Field Type Description
ok
boolean
host
string
path
string
count
integer
size
integer
modified
string
exists
boolean
items
array[object]
Examples
List remote directory
// Input
{
"operation": "list",
"host": "ftp.example.com",
"remotepath": "/pub"
}
// Output
{
"ok": true,
"count": 3,
"items": [
{
"name": "readme.txt",
"type": "file",
"size": 1024
}
]
}
Download a file
// Input
{
"operation": "get",
"host": "ftp.example.com",
"remotepath": "/pub/data.csv",
"localpath": "C:\\Downloads\\data.csv"
}
// Output
{
"ok": true,
"remote_path": "/pub/data.csv",
"local_path": "C:\\Downloads\\data.csv"
}
Install & Discovery
Install
ppm install mcp-ftp
Get JSON Schema
GET /v1/packages/mcp-ftp/1.0.0/schema
Discover by keyword
GET /v1/mcp/discover?q=ftp
Discovery hint: Install with ppm install mcp-ftp or invoke remotely via POST /v1/invoke/mcp-ftp on the MCP Service.
PascalAI Usage
uses toolslib;
var Tool := LoadTool('mcp-ftp');
var R := Tool.Call(JsonObj(['operation','list','host','ftp.example.com','remotepath','/pub']));
Writeln(R['items']);