内容
ftp
用于FTP/FTPS/SFTP操作的MCP服务器 — 为AI代理提供完整的FileZilla功能集。
## 安装
### OpenCode
将以下内容添加到您的`opencode.json`配置文件中:
```json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ftp-mcp": {
"type": "local",
"command": ["npx", "-y", "github:kemalabuteliyte/ftp-mcp"],
"enabled": true
}
}
}
```
### Claude Code / Claude Desktop
将以下内容配置文件(`~/.claude/settings.json`或Claude Desktop配置文件)中:
```json
{
"mcpServers": "ftp-mcp": "command": "npx",
"args": ["-y", "github:kemalabuteliyte/ftp-mcp"]
}
}
}
```
### Cursor / Windsurf
将以下内容添加到您的MCP设置中:
```json
{
"mcpServers": {
"ftp-mcp": {
"command": "npx",
"args": ["-y", "github:kemalabuteliyte-mcp"]
}
}
```
### 手动安装
```bash
npm install -g github:kemalabuteliyte/ftp-mcp
```
然后在任何MCP客户端配置文件中使用`ftp-mcp`作为命令。
## 功能
**36种工具**,涵盖所有FileZilla操作:
### 连接管理
-_connect` — 连接到FTP/FTPS/SFTP服务器
-_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/自动)
- `ftp_download` — 下载文件
- `ftp_delete` — 删除文件
- `ftp_rename` — 重/目录
- `ftp_move` — 移动文件
- `ftp_copy` — 在服务器上复制- `ftp_read` — 读取远程文件内容
- `ftp_write` — 写入远程文件内容
- `ftp_append` — 追加到远程文件
- `ftp_stat` — 获取文件信息
- `ftp_exists` — 检查路径是否存在
### 目录操作
- `kdir` — 创建目录(递归选项)
- `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 | basic-ftp | 21 |
| FTPS | basic-ftp | 990 |
| SFTP |-sftp-client | ## 多服务器支持
使用同时连接到多个服务器:ftp_connect(name: " 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: "stagingPath: "./dist", remotePath: "/public_html", direction: "local-to-remote")
```
点管理器
将常用连接保存到`~/.ftp-mcp/sites.json`:
```
ftp_add_site(name: "myserver", host: "example.com", protocol: "sftp", username: "deployKeyPath: "~/.ssh/id_rsa")
ftp_connect(name:1", site: "myserver")
```
## 许可证
MIT