FTP操作服务器

提供FTP/FTPS/SFTP操作的全功能服务器,支持AI代理进行文件管理、传输和同步等操作。

  • by kemalabuteliyte
  • TypeScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 kemalabuteliyte/ftp-mcp

使用说明

ftp mcp

用于FTP/FTPS/SFTP操作的MCP服务器——为AI代理提供完整的FileZilla功能集。

安装

开源代码

添加到您的 opencode.json 配置:

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

克劳德代码/克劳德桌面

添加到MCP配置(~/.claude/settings.json 或Claude桌面配置):

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

光标/风帆

添加到MCP设置中:

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

手动安装

npm install -g github:kemalabuteliyte/ftp-mcp

然后使用 ftp-mcp 作为任何MCP客户端配置中的命令。

特征

36工具 涵盖所有FileZilla业务:

连接管理

  • ftp_connect --连接到FTP/FTPS/SFTP服务器
  • ftp_disconnect --关闭连接
  • ftp_list_connections --列出活动连接
  • ftp_connection_info --获取连接详细信息

现场经理

  • ftp_add_site --保存连接配置文件
  • ftp_remove_site --删除已保存的网站
  • ftp_list_sites --列出已保存的配置文件
  • ftp_edit_site --更新站点配置

导航

  • ftp_pwd --打印工作目录
  • ftp_cd --更改目录
  • ftp_list --列出目录(权限、大小、日期)
  • ftp_tree --递归树视图

文件操作

  • ftp_upload --上传文件(二进制/ascii/auto)
  • ftp_download --下载文件
  • ftp_delete --删除文件
  • ftp_rename --重命名文件/目录
  • ftp_move --移动文件
  • ftp_copy --在服务器上复制文件
  • ftp_read --读取远程文件内容
  • ftp_write --将内容写入远程文件
  • ftp_append --附加到远程文件
  • ftp_stat --获取文件信息
  • ftp_exists --检查路径是否存在

目录操作

  • ftp_mkdir --创建目录(递归选项)
  • ftp_rmdir --删除目录(递归选项)
  • ftp_dir_size --计算目录大小

批量转移

  • ftp_upload_directory --上传整个目录
  • ftp_download_directory --下载整个目录
  • ftp_sync --同步本地/远程目录
  • ftp_mirror --镜像目录(单向同步删除)

权限

  • ftp_chmod --更改权限(递归选项)
  • ftp_chown --更改所有权(仅限SFTP)

搜索和比较

  • ftp_find --按名称模式搜索文件
  • ftp_grep --在服务器上搜索文件内容
  • ftp_compare --比较本地与远程目录
  • ftp_checksum --文件校验和验证

协议

协议 库 默认端口
FTP 基本FTP 21
FTPS 基本ftp 990
SFTP ssh2 SFTP客户端 22

多服务器支持

使用命名连接同时连接到多个服务器:

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")

现场经理

将常用连接保存到 ~/.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")

许可证

麻省理工学院