ft-ftp-mcp-stdio
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PYTHONUTF8 | No | Set to "1" to enable UTF-8 mode. | |
| FT_FTP_MCP_CONFIG | No | Alternative path to the configuration file. Default is ~/.ft-ftp-mcp/config.json. | |
| FASTMCP_SHOW_SERVER_BANNER | No | Set to "false" to disable the server banner. |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_serversA | 列出可用逻辑服务器的非敏感摘要;不连接远端、不读取凭据,也不触发 TOFU。 |
| test_connectionA | 验证服务器连接和认证;首次 SFTP 连接可能持久化 TOFU 主机密钥。 |
| list_dirB | 列出虚拟远程目录的下一层条目;首次 SFTP 连接可能持久化 TOFU 状态。 |
| search_filesB | 在虚拟远程目录下按文件名通配符递归搜索,不进入或返回符号链接。 |
| get_file_infoC | 返回单个虚拟远程对象的类型、大小和 UTC 修改时间。 |
| read_text_previewC | 按 UTF-8、UTF-8 BOM 或 GBK 解码远程文件前缀,不返回完整连接信息。 |
| download_fileA | 将单个远程文件下载到本机随机 staging 目录并校验已知大小。 |
| upload_fileA | 通过同目录临时对象安全提交单个本地文件;默认拒绝覆盖。 |
| make_dirB | 在虚拟远程路径创建目录;只读服务器会在连接前拒绝。 |
| renameB | 在同一虚拟远程目录内重命名对象,不覆盖已有目标。 |
| moveA | 在同一逻辑服务器的虚拟路径范围内移动对象,不覆盖已有目标。 |
| deleteA | 删除单个文件或空目录;confirm 必须在运行时明确为 true。 |
| download_dirA | 递归下载目录到随机 staging;逐项报告跳过与失败,不限制文件数量或总字节。 |
| upload_dirA | 逐项上传本地目录。ok=true 仅表示工作流完成;必须检查 status、failed 和 indeterminate,结果不确定时不得整体重试。 |
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 14 tools
Most tools target clearly distinct operations (list_dir vs search_files vs get_file_info, download_file vs download_dir). The only mildly overlapping pair is rename vs move, but their descriptions cleanly separate same-directory rename from cross-path move.
The majority follow a predictable verb_noun pattern (list_servers, test_connection, read_text_preview, download_dir, upload_dir). rename, move, and delete are bare verbs without an object noun, a minor deviation but still readable and conventional.
14 tools is well within a healthy range for an FTP/SFTP client and each one maps to a distinct file-operation concern. Nothing feels redundant or padded.
Strong lifecycle coverage: server discovery, connection test, listing/search, metadata, preview, single and recursive transfer, make_dir, rename, move, and delete. Minor gaps like permission/attribute changes or an explicit existence check are workable around via get_file_info.