{"name":"io.github.anivdel/coolftp","slug":"anivdel-coolftp","title":null,"description":"Deploy a site to its SFTP/FTP host from a coding agent. Changed files only, undo, live checks.","url":"https://mcp.market/server/anivdel-coolftp","rating":null,"grade":"A","score":85,"certified":false,"status":"active","category":"devtools","tags":["devtools","ai"],"presence":{"score":27,"stars":0,"forks":0,"downloads_week":56,"last_push_at":"2026-09-11T11:27:57.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/anivdel/coolFTP","website":"https://coolftp.com","version":"0.1.2","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"coolftp","version":"0.1.2","runtimeHint":"npx","transport":{"type":"stdio"},"packageArguments":[{"description":"Start the MCP server over stdio","value":"mcp","type":"positional"}]}],"tools":[{"name":"coolftp_delete","description":"Delete a remote file or directory. Refuses to delete the site root. The coolFTP app asks the user to approve when it is open. …","write_action":true,"price_micros":0,"input_schema":null},{"name":"coolftp_deploy","description":"Upload the project's changed files to its web server. Runs the configured build first. Use dryRun to preview, delete to remove stale remote files, commit to git-commit before deploying. The result says whether the site verified as live; only call it live when verify.ok is true. Previous versions of changed files stay on the server so coolftp_undo can revert.","write_action":true,"price_micros":0,"input_schema":null},{"name":"coolftp_diff","description":"Preview a deploy: which files would be added, changed or are stale on the server. Uploads nothing. Long lists are summarised by folder.","write_action":true,"price_micros":0,"input_schema":null},{"name":"coolftp_download","description":"Download a remote file or directory to a local path. …","write_action":false,"price_micros":0,"input_schema":null},{"name":"coolftp_history","description":"Recent deploys for a site, newest first, with git commit, which agent did it, whether the live checks passed, and whether it can be undone.","write_action":false,"price_micros":0,"input_schema":null},{"name":"coolftp_init","description":"Link a project directory to a site by writing .coolftp.json. Do this once so later deploys need no site argument.","write_action":false,"price_micros":0,"input_schema":null},{"name":"coolftp_ls","description":"List a remote directory. …","write_action":false,"price_micros":0,"input_schema":null},{"name":"coolftp_mkdir","description":"Create a remote directory (and parents). …","write_action":true,"price_micros":0,"input_schema":null},{"name":"coolftp_read","description":"Read a text file from the server (up to 512 KB). …","write_action":false,"price_micros":0,"input_schema":null},{"name":"coolftp_rename","description":"Rename or move a remote path. …","write_action":false,"price_micros":0,"input_schema":null},{"name":"coolftp_rollback","description":"Put the server back to an earlier deploy's git commit. With no target, restores the previous commit that was live for this project. Requires git; for a quick revert of the last deploy without git use coolftp_undo. The coolFTP app asks the user to approve when it is open.","write_action":true,"price_micros":0,"input_schema":null},{"name":"coolftp_sites","description":"List the servers saved in coolFTP (name, host, protocol, remote root). Secrets are never returned.","write_action":false,"price_micros":0,"input_schema":null},{"name":"coolftp_stat","description":"Check whether a remote path exists and get its type, size and date, without downloading it. …","write_action":false,"price_micros":0,"input_schema":null},{"name":"coolftp_status","description":"Show which site the current project deploys to, whether the coolFTP desktop app is running (calls route through it when it is), and live connections.","write_action":false,"price_micros":0,"input_schema":null},{"name":"coolftp_undo","description":"Put back the previous versions the last deploy set aside on the server: overwritten files are restored, files it added are removed, files it deleted come back. Needs no git. Use dryRun to see what it would do. The coolFTP app asks the user to approve when it is open.","write_action":true,"price_micros":0,"input_schema":null},{"name":"coolftp_upload","description":"Upload a local file or directory to a remote path. The server confirms each file's size afterwards, and files inside the project's remote directory are recorded in the deploy manifest so the next deploy does not send them again. …","write_action":true,"price_micros":0,"input_schema":null},{"name":"coolftp_verify","description":"Fetch the project's public URL and the files of the last deploy (or the given paths) and report status codes, plus whether static files are being served with the local bytes. Deploys nothing.","write_action":true,"price_micros":0,"input_schema":null},{"name":"coolftp_write","description":"Write text content to a file on the server, creating parent directories. …","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":85,"grade":"A","scanned_at":"2026-09-19T20:15:41.447Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:15:41.443Z","components":{"code":{"score":20,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 8 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"dist/coolftp.js: …T = (() => { try { return new Function(\"return 2n ** 32n\")(); } catch { …"}],"inputs":{"packages":[{"registryType":"npm","identifier":"coolftp","version":"0.1.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-09-11T02:36:42.186Z","repositoryUrl":"git+https://github.com/anivdel/coolFTP.git","weeklyDownloads":56}],"repo":{"found":true,"owner":"anivdel","repo":"coolFTP","archived":false,"pushedAt":"2026-09-11T11:27:57Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/125169952?v=4","ownerCreatedAt":"2023-02-12T03:15:41Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/125169952?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":0,"forks":0,"downloadsWeek":56,"license":"MIT","lastPushAt":"2026-09-11T11:27:57.000Z","score":27}}}},"grade_history":[],"reviews":[]}