Ftp MCP Server

Model Context Protocol server for FTP access

Local serverstdioTypeScript

What is the Ftp MCP server?

Most file and storage access work still happens through a UI a human drives. Ftp MCP server moves it into the conversation instead. Model Context Protocol server for FTP access.

The short version

This Model Context Protocol (MCP) server provides tools for interacting with FTP servers. It allows Claude.app to list directories, download and upload files, create directories, and delete files/directories on FTP servers.

  • List Directory Contents — View files and folders on the FTP server
  • Download Files — Retrieve file content from the FTP server
  • Upload Files — Create new files or update existing ones
  • Create Directories — Make new folders on the FTP server
  • Delete Files/Directories — Remove files or directories

Getting it running

@smithery/cli on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

The tools it exposes

The server publishes 12 tools. What each one is for:

  • list-directory — List contents of an FTP directory
  • download-file — Download a file from the FTP server (binary files are returned base64-encoded)
  • upload-file — Upload a file to the FTP server (pass encoding: "base64" for binary content)
  • create-directory — Create a new directory on the FTP server
  • delete-file — Delete a file from the FTP server
  • delete-directory — Delete a directory from the FTP server
  • rename-file — Rename or move a file or directory on the FTP server
  • edit-file — Replace an exact string in a text file without re-uploading the whole file content
  • append-file — Append content to a file (creates it if missing)
  • Prerequisites — The Prerequisites tool exposed by this server
  • Windows — The Windows tool exposed by this server
  • Authentication — SFTP supports two authentication methods, chosen automatically:

What it needs from you

Configuration is passed through the environment: FTP_HOST, FTP_PORT, FTP_USER, FTP_PASSWORD, FTP_SECURE, FTP_PROTOCOL, FTP_PRIVATE_KEY_PATH, FTP_PASSPHRASE. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Node.js 16 or higher - Claude for Desktop (or other MCP-compatible client)

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 12 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Ftp.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

How it compares

Plenty of file and storage access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Ftp's toolset — list-directory, download-file, upload-file and 9 more — is a fair guide to whether it matches your workflow. It is maintained by alxspiker; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Available tools

ToolWhat it does
list-directoryList contents of an FTP directory
download-fileDownload a file from the FTP server (binary files are returned base64-encoded)
upload-fileUpload a file to the FTP server (pass encoding: "base64" for binary content)
create-directoryCreate a new directory on the FTP server
delete-fileDelete a file from the FTP server
delete-directoryDelete a directory from the FTP server
rename-fileRename or move a file or directory on the FTP server
edit-fileReplace an exact string in a text file without re-uploading the whole file content
append-fileAppend content to a file (creates it if missing)
PrerequisitesThe Prerequisites tool exposed by this server.
WindowsThe Windows tool exposed by this server.
AuthenticationSFTP supports two authentication methods, chosen automatically:

How to install the Ftp MCP server

{
  "mcpServers": {
    "ftp-server": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server-ftp/build/index.js"],
      "env": {
        "FTP_HOST": "ftp.example.com",
        "FTP_PORT": "21",
        "FTP_USER": "your-username",
        "FTP_PASSWORD": "your-password",
        "FTP_SECURE": "false"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Node.js 16 or higher - Claude for Desktop (or other MCP-compatible client)
VariableDescriptionRequired
FTP_HOSTEndpoint or connection string the server talks to.Optional
FTP_PORTConfiguration value read at startup.Optional
FTP_USERConfiguration value read at startup.Optional
FTP_PASSWORDConfiguration value read at startup.Optional
FTP_SECUREConfiguration value read at startup.Optional
FTP_PROTOCOLConfiguration value read at startup.Optional
FTP_PRIVATE_KEY_PATHCredential the server authenticates with.Yes
FTP_PASSPHRASEConfiguration value read at startup.Optional

Example prompts to try

  • Use Ftp to list-directory.
  • Use Ftp to download-file.
  • Use Ftp to upload-file.

Frequently asked questions

It connects Ftp to MCP-compatible AI assistants such as Claude and Cursor, exposing 12 tools (list-directory, download-file, upload-file, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Ftp directly.