Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Ftp

FreeNot checked

Enables AI agents to perform FTP/FTPS/SFTP file operations including upload, download, sync, and directory management with multi-server support.

GitHubEmbed

About

Enables AI agents to perform FTP/FTPS/SFTP file operations including upload, download, sync, and directory management with multi-server support.

README

MCP server for FTP/FTPS/SFTP operations — full FileZilla feature set for AI agents.

Installation

OpenCode

Add to your opencode.json config:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ftp-mcp": {
      "type": "local",
      "command": ["npx", "-y", "github:kemalabuteliyte/ftp-mcp"],
      "enabled": true
    }
  }
}

Claude Code / Claude Desktop

Add to your MCP config (~/.claude/settings.json or Claude Desktop config):

{
  "mcpServers": {
    "ftp-mcp": {
      "command": "npx",
      "args": ["-y", "github:kemalabuteliyte/ftp-mcp"]
    }
  }
}

Cursor / Windsurf

Add to your MCP settings:

{
  "mcpServers": {
    "ftp-mcp": {
      "command": "npx",
      "args": ["-y", "github:kemalabuteliyte/ftp-mcp"]
    }
  }
}

Manual install

npm install -g github:kemalabuteliyte/ftp-mcp

Then use ftp-mcp as the command in any MCP client config.

Features

36 tools covering all FileZilla operations:

Connection Management

  • ftp_connect — Connect to FTP/FTPS/SFTP server
  • ftp_disconnect — Close a connection
  • ftp_list_connections — List active connections
  • ftp_connection_info — Get connection details

Site Manager

  • ftp_add_site — Save connection profile
  • ftp_remove_site — Delete saved site
  • ftp_list_sites — List saved profiles
  • ftp_edit_site — Update site config

Navigation

  • ftp_pwd — Print working directory
  • ftp_cd — Change directory
  • ftp_list — List directory (permissions, size, date)
  • ftp_tree — Recursive tree view

File Operations

  • ftp_upload — Upload file (binary/ascii/auto)
  • ftp_download — Download file
  • ftp_delete — Delete file
  • ftp_rename — Rename file/directory
  • ftp_move — Move file
  • ftp_copy — Copy file on server
  • ftp_read — Read remote file contents
  • ftp_write — Write content to remote file
  • ftp_append — Append to remote file
  • ftp_stat — Get file info
  • ftp_exists — Check if path exists

Directory Operations

  • ftp_mkdir — Create directory (recursive option)
  • ftp_rmdir — Remove directory (recursive option)
  • ftp_dir_size — Calculate directory size

Bulk Transfers

  • ftp_upload_directory — Upload entire directory
  • ftp_download_directory — Download entire directory
  • ftp_sync — Sync local/remote directories
  • ftp_mirror — Mirror directories (one-way sync with delete)

Permissions

  • ftp_chmod — Change permissions (recursive option)
  • ftp_chown — Change ownership (SFTP only)

Search & Compare

  • ftp_find — Search files by name pattern
  • ftp_grep — Search file contents on server
  • ftp_compare — Compare local vs remote directories
  • ftp_checksum — File checksum verification

Protocols

Protocol Library Default Port
FTP basic-ftp 21
FTPS basic-ftp 990
SFTP ssh2-sftp-client 22

Multi-Server Support

Connect to multiple servers simultaneously with named connections:

ftp_connect(name: "prod", host: "prod.example.com", protocol: "sftp", ...)
ftp_connect(name: "staging", host: "staging.example.com", protocol: "ftp", ...)
ftp_list(connection: "prod", path: "/var/www")
ftp_sync(connection: "staging", localPath: "./dist", remotePath: "/public_html", direction: "local-to-remote")

Site Manager

Save frequently used connections to ~/.ftp-mcp/sites.json:

ftp_add_site(name: "myserver", host: "example.com", protocol: "sftp", username: "deploy", privateKeyPath: "~/.ssh/id_rsa")
ftp_connect(name: "session1", site: "myserver")

License

MIT

from github.com/kemalabuteliyte/ftp-mcp

Installing Ftp

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/kemalabuteliyte/ftp-mcp

FAQ

Is Ftp MCP free?

Yes, Ftp MCP is free — one-click install via Unyly at no cost.

Does Ftp need an API key?

No, Ftp runs without API keys or environment variables.

Is Ftp hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Ftp in Claude Desktop, Claude Code or Cursor?

Open Ftp on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Ftp with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs