The FTP client your coding agent can drive. You write code with Claude Code, Cursor, or Codex. The last step is still dragging files into a 2006-era FTP window. coolFTP fixes the last step. Your agent runs coolftp deploy, and you watch every file land on your server, live.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
claude mcp add coolftp -- npx -y coolftp{
"mcpServers": {
"coolftp": {
"command": "npx",
"args": ["-y", "coolftp"]
}
}
}Resumen de MCP Servers
# coolFTP
**The FTP client your coding agent can drive.** A desktop SFTP / FTPS / FTP client for Windows, plus a CLI and an MCP server, built for people who write code with Claude Code, Codex, or Cursor and still have to get files onto a web server.
Say "deploy this". The agent calls coolFTP. Only files whose content changed go up, the git commit is recorded next to the deploy, the site is fetched afterward to prove it answers, and you watch every step live in the app. If it went wrong, `coolftp undo` puts the previous version back, no git needed. Works with any host that speaks SFTP or FTP: Hostinger, HostGator, Bluehost, GoDaddy, any cPanel box, your own VPS. Free and MIT. Website: [coolftp.com](https://coolftp.com).

Agents ask before they delete anything:

## Why
Every FTP client assumes a human is clicking. coolFTP assumes a human is watching and an agent is doing.
- **Hash-based deploys.** A manifest on the server records the SHA-256 of every deployed file. Timestamps lie; hashes do not.
- **Undo, no git needed.** Every deploy moves the files it overwrites or deletes into a backup folder on the server first. `coolftp undo` puts them back, even from a dirty tree.
- **Deploy history with git.** Each deploy stores the commit, branch, dirty flag, message, byte count, which agent ran it, and whether the site verified live.
- **One-command rollback.** `coolftp rollback` restores the previous live commit through a temporary git worktree.
- **Verification.** Give a site its public URL and every deploy fetches the changed pages, compares static files byte for byte with what you uploaded, and exits non-zero when the site does not answer. `coolftp verify` does the same on demand.
- **Live agent feed and approval dialog.** Deletes, `--delete` deploys, rollbacks and undos wait for your click while the app is open. Deploys show as a progress card, and a Windows notification tells you how they ended.
- **Safety by default.** Pinned SSH host keys, passwords encrypted with your Windows account, a first-deploy guard that refuses to delete files it never uploaded, changed files swapped into place rather than overwritten, sizes confirmed by the server, resumable deploys.
```
packages/core shared TypeScript library: transports, sites, hash manifest, sync, deploy
packages/cli `coolftp` command line + `coolftp mcp` MCP server for agents
packages/app Electron desktop app (two-pane browser, transfer queue, live agent feed)
site/ landing page for coolftp.com
scripts/ build + end-to-end test
```
## Install
The CLI and the MCP server run anywhere Node 18 or newer does: Windows, macOS, Linux, a headless box, CI.
```bash
npm i -g coolftp
coolftp --version
```
No install at all: `npx coolftp ...` runs the same thing.
The desktop app is Windows for now: the installer, a portable `.exe` and the Claude Desktop extension (`.mcpb`) are on the [download page](https://coolftp.com/#download) with their SHA-256s.
### Build from source
```bash
npm install
npm run build
npm run app # opens the desktop app
node packages/cli/dist/coolftp.js --help
```
To get a global `coolftp` command from this checkout instead of npm: `cd packages/cli && npm link`.
## Add a server
```bash
# SFTP with your existing ~/.ssh key or the ssh-agent
coolftp site add coolftp.com --host coolftp.com --user deploy --root /var/www/html
# FTPS with a password (shared hosts)
coolftp site add oldhost --host ftp.oldhost.net --user me --protocol ftps --password '...' --root /public_html
coolftp site test coolftp.com
```
Or use the **Sites** button in the app. Sites live in `%APPDATA%\coolftp\sites.json` on Windows and `~/.config/coolftp/sites.json` elsewhere. On Windows, passwords in that file are encrypted with DPAPI under your account; on macOS and Linux they are stored as-is until a keychain backend lands, so prefer keys for SFTP there.
## Link a project and deploy
```bash
cd my-site
coolftp init coolftp.com --local-dir dist --build "npm run build"
coolftp diff # preview
coolftp deploy -m "first deploy"
coolftp deploy --delete # also remove remote files deleted locally
coolftp deploy --commit -m "msg" # git add -A, git commit, then deploy
coolftp undo # put the previous versions back
coolftp verify # re-run the live checks
coolftp history
```
Exit codes: 0 deployed (and verified, when the site has a URL), 1 something failed before or during the upload, 3 the files landed but the live checks did not pass. `-q` drops progress and per-file output and keeps the result line, warnings, errors and the checks. Deploys of more than 20 files print one progress line every few seconds instead of a line per file, and long plans are summarised by folder.
`coolftp init` writes `.coolftp.json`:
```json
{ "site": "coolftp.com", "localDir": "dist", "build": "npm run build", "ignore": ["*.map"] }
```
Commit it. Add a `.coolftpignore` (gitignore syntax) for anything that must never go up. `.git`, `node_modules`, `.env*`, `*.log` and the coolFTP files are always excluded.
When a site's FTP root is not the web root (shared hosts often log you in one level above `public_html`), point the project at the right folder and tell coolFTP where it is served:
```bash
coolftp init myhost --remote-root /public_html --url https://example.com
```
Every command then works relative to that folder: `coolftp push js/app.js js/app.js`, `coolftp ls`, `coolftp stat`, `coolftp cat`, `coolftp rm` all resolve against `/public_html`, the same place `deploy` writes to. Paths starting with `/` are still absolute on the server. The `url` makes the changed-file URLs and the post-deploy check point at `https://example.com/js/app.js` rather than at the FTP path.
A push confirms the uploaded size with the server, reports any folder it had to create (with a warning when a single file opens a new top-level folder, which is what a stale `public_html/` prefix looks like), and records a file pushed inside the project's remote directory in the deploy manifest, so the next deploy does not send it again.
Git Bash rewrites arguments that start with `/` into Windows paths before any program sees them. coolFTP undoes that when it recognises the Git install prefix and refuses anything else that looks like a drive path, so `coolftp ls /public_html` works from Git Bash too. If you hit the refusal, use a relative path or set `MSYS_NO_PATHCONV=1`.
## Let Claude Code drive it
MCP (recommended, gives Claude typed tools). With the CLI installed from npm, on macOS and Linux:
```bash
claude mcp add --scope user coolftp -- coolftp mcp
```
On Windows, npm installs `coolftp` as a `.cmd` shim, so go through `cmd`:
```bash
claude mcp add --scope user coolftp -- cmd /c coolftp mcp
```
Without a global install: `claude mcp add --scope user coolftp -- npx -y coolftp mcp` (again behind `cmd /c` on Windows). `--scope user` registers it for every project on the machine; drop it to register for the current project only.
Cursor, Windsurf and other MCP clients take the same server in their `mcp.json`:
```json
{ "mcpServers": { "coolftp": { "command": "coolftp", "args": ["mcp"] } } }
```
From a source checkout instead of npm, point at the built file:
```bash
claude mcp add coolftp -- node "C:\path\to\cool FTP\packages\cli\dist\coolftp.js" mcp
```
Tools exposed: `coolftp_sites`, `coolftp_status`, `coolftp_init`, `coolftp_diff`, `coolftp_deploy`, `coolftp_undo`, `coolftp_verify`, `coolftp_rollback`, `coolftp_history`, `coolftp_ls`, `coolftp_stat`, `coolftp_read`, `coolftp_write`, `coolftp_upload`, `coolftp_download`, `coolftp_mkdir`, `coolftp_delete`, `coolftp_rename`. Results are summarised for an agent: counts and a folder breakdown instead of thousands of paths, a `live` verdict on every deploy, and the transfer log collapsed after 20 files. The server checks on every call whether the desktop app is running, so the app can be opened and closed during a session.
## Use it from the Claude Desktop app
The same MCP server ships as a Claude Desktop extension. `npm run mcpb` packs it into `release/coolFTP-<version>.mcpb` (the download page carries the built one); open that file in Claude Desktop and hit Install. Claude gets the `coolftp_*` tools, and every call still routes through the desktop app while it is open, so deploys show up there and deletes, undos and rollbacks wait for your click. A chat has no working directory, so set **Default project folder** in the extension's settings or name the folder in the chat; a project's own `.coolftp.json` is found either way. The bundle is unsigned for now, which the install dialog points out.
`server.json` describes the server for the [MCP Registry](https://github.com/modelcontextprotocol/registry) twice over: as the `coolftp` npm package (run with `npx coolftp mcp`) and as the `.mcpb` bundle. `npm run mcpb` keeps the versions and the bundle hash current. The release steps, npm publish included, are in [docs/PUBLISHING.md](docs/PUBLISHING.md).
## Safety rails for agent-driven deploys
- **Approval dialog.** While the desktop app is open, an agent call that deletes a path, deploys with `--delete`, rolls back, or undoes a deploy pops a dialog in the app and waits for your click. No answer within two minutes is a deny. There is a checkbox to auto-approve for the rest of the session.
- **First-deploy delete guard.** Before a manifest exists on the server, `--delete` is refused if the target folder contains files coolFTP never uploaded. Pass `--delete-untracked` to override.
- **Undo.** Before a deploy overwrites or deletes a file, the live copy is renamed into `.coolftp/backup/<deployId>/` on the server, so nothing extra is transferred. `coolftp undo` restores those versions, removes the files that deploy added, and is itself undoable; `--dry-run` shows the work first, `--to <deployId>` reveLo que la gente pregunta sobre coolFTP
¿Qué es anivdel/coolFTP?
+
anivdel/coolFTP es mcp servers para el ecosistema de Claude AI. The FTP client your coding agent can drive. You write code with Claude Code, Cursor, or Codex. The last step is still dragging files into a 2006-era FTP window. coolFTP fixes the last step. Your agent runs coolftp deploy, and you watch every file land on your server, live. Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-09-11.
¿Cómo se instala coolFTP?
+
Puedes instalar coolFTP clonando el repositorio (https://github.com/anivdel/coolFTP) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar anivdel/coolFTP?
+
Nuestro agente de seguridad ha analizado anivdel/coolFTP y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene anivdel/coolFTP?
+
anivdel/coolFTP es mantenido por anivdel. La última actividad registrada en GitHub es del 2026-09-11, con 0 issues abiertos.
¿Hay alternativas a coolFTP?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega coolFTP en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/anivdel-coolftp)<a href="https://claudewave.com/repo/anivdel-coolftp"><img src="https://claudewave.com/api/badge/anivdel-coolftp" alt="Featured on ClaudeWave: anivdel/coolFTP" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!