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.

ftpfile-transferuploaddownloadindy

Input Parameters

ParameterTypeDescription
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

FieldTypeDescription
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']);