ftp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ftp_connectB | Connect to an FTP/FTPS/SFTP server using credentials or a saved site name |
| ftp_disconnectA | Disconnect a named connection |
| ftp_list_connectionsA | List all active connections with status |
| ftp_connection_infoC | Get detailed info about a specific connection |
| ftp_add_siteC | Save a connection profile to the site manager |
| ftp_remove_siteA | Remove a saved site from the site manager |
| ftp_list_sitesA | List all saved connection profiles |
| ftp_edit_siteB | Update specific fields of a saved site profile |
| ftp_pwdA | Print the current working directory on the remote server |
| ftp_cdB | Change the remote working directory |
| ftp_listA | List directory contents with details (permissions, size, date, type) |
| ftp_treeA | Recursively list directory tree structure with depth limit |
| ftp_uploadB | Upload a local file to the remote server |
| ftp_downloadB | Download a remote file to a local path |
| ftp_deleteB | Delete a remote file |
| ftp_renameC | Rename a remote file or directory |
| ftp_moveB | Move a remote file to a new location |
| ftp_copyA | Copy a remote file (downloads then re-uploads to new location) |
| ftp_readB | Read the contents of a remote text file |
| ftp_writeC | Write content directly to a remote file |
| ftp_appendA | Append content to an existing remote file |
| ftp_statB | Get file or directory info (size, modified date, permissions, type) |
| ftp_existsB | Check if a remote path exists |
| ftp_mkdirB | Create a remote directory |
| ftp_rmdirC | Remove a remote directory |
| ftp_dir_sizeC | Calculate the total size of a remote directory recursively |
| ftp_upload_directoryB | Upload an entire local directory to the remote server recursively |
| ftp_download_directoryB | Download an entire remote directory to a local path recursively |
| ftp_syncB | Synchronize local and remote directories (like FileZilla synchronized browsing) |
| ftp_mirrorB | Mirror a remote directory to local or vice versa (one-way sync with delete) |
| ftp_chmodC | Change file or directory permissions (e.g., 755, 644) |
| ftp_chownA | Change file ownership (SFTP only) |
| ftp_findA | Search for files by name pattern (glob) recursively on the remote server |
| ftp_grepB | Search for text content within remote files (downloads and searches each file) |
| ftp_compareC | Compare local and remote directories to find differences |
| ftp_checksumB | Calculate checksum of a remote file for integrity verification |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 36 tools
Several tools have overlapping purposes, notably ftp_move vs ftp_rename, ftp_sync vs ftp_mirror, and ftp_exists vs ftp_stat. While descriptions clarify some differences, the boundaries between move/rename and sync/mirror remain ambiguous enough to cause misselection.
The vast majority of tools follow a consistent ftp_<verb>_<noun> snake_case pattern, such as ftp_add_site, ftp_upload_directory, and ftp_list_connections. Minor deviations like ftp_pwd, ftp_cd, ftp_tree, and ftp_connection_info break the verb_noun convention, but the overall pattern is predictable.
With 36 tools, the server is over-scoped for an FTP MCP. Many functions overlap, and the count exceeds the 25+ threshold where the tool set becomes heavy and harder to navigate, even though FTP supports a wide range of operations.
The tool surface covers the core FTP lifecycle well: connection management, site profiles, navigation, file/directory CRUD, uploads/downloads, sync, permissions, search, and integrity checks. A notable gap is the lack of a recursive directory delete operation, which would require manual traversal with list/delete.