Cloudhop Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Cloudhop Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An MCP (Model Context Protocol) server that connects Claude to CloudHop, letting you control cloud file transfers through natural language.
Instead of clicking through a wizard, you just tell Claude what to move and where.
CloudHop is a free, open-source app that copies files between cloud storage services (Google Drive, OneDrive, Dropbox, etc.) using rclone as its engine.
CloudHop MCP is a bridge that lets Claude talk to CloudHop. It translates your requests into API calls so Claude can start transfers, check progress, pause/resume, and more.
You (natural language)
--> Claude (understands intent)
--> CloudHop MCP (translates to API calls)
--> CloudHop (runs on localhost:8787)
--> rclone (moves the files)
--> Cloud providers (Google Drive, OneDrive, etc.)The MCP server is a separate package. It does not modify CloudHop or add any dependencies to it. CloudHop stays exactly as it is: simple, offline, free.
You: what cloud accounts do I have in CloudHop?
Claude: You have 3 accounts configured:
- onedrive (OneDrive)
- gdrive (Google Drive)
- dropbox (Dropbox)
You: how big is my OneDrive?
Claude: Scanning... Your OneDrive has 1,247 files totaling 12.3 GB.
You: copy everything to Google Drive, but skip node_modules and .git folders
Claude: Transfer started: OneDrive -> Google Drive
1,247 files, 12.3 GB, excluding node_modules and .git
Using 8 parallel transfers, no bandwidth limit.
You: how's it going?
Claude: 45% complete - 5.6 GB transferred at 23 MB/s. ETA ~5 minutes.
Currently transferring: Photos/vacation-2024/IMG_4521.jpg
You: slow it down to 10 megabytes per second
Claude: Done - bandwidth limited to 10 MB/s. Transfer continues at reduced speed.
You: actually stop it completely
Claude: Transfer cancelled. 5.6 GB of 12.3 GB were transferred.
You can resume later from where it stopped, or start fresh.
You: show me my transfer history
Claude: You have 3 past transfers:
1. OneDrive -> Google Drive (12.3 GB, completed Mar 21)
2. Dropbox -> OneDrive (3.1 GB, completed Mar 19)
3. Local -> Google Drive (890 MB, completed Mar 18)The MCP server exposes 13 tools that Claude can call:
Lists all cloud storage accounts configured in CloudHop.
Returns: Remote names (e.g. gdrive, onedrive), whether rclone is installed, home directory path.
Browse files and folders on a cloud storage account.
| Parameter | Type | Required | Description |
|---|---|---|---|
remote | string | yes | Remote name, e.g. onedrive or gdrive |
path | string | no | Folder path within the remote (empty = root) |
Scan a source to see how many files and how much data will be transferred, before actually starting.
| Parameter | Type | Required | Description |
|---|---|---|---|
source | string | yes | Source path, e.g. onedrive: or gdrive:Documents |
Returns: File count and total size. Times out after 90 seconds for very large sources.
Start copying files from one cloud to another.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
source | string | yes | Source path, e.g. onedrive: or gdrive:Photos | |
dest | string | yes | Destination path, e.g. gdrive:Backup or dropbox:Archive | |
transfers | int | no | 8 | Parallel file transfers (1-128) |
excludes | string | no | "" | Comma-separated patterns to skip, e.g. node_modules,.git,*.tmp |
bw_limit | string | no | "" | Bandwidth limit, e.g. 10M, 1G, 500K (empty = unlimited) |
checksum | bool | no | false | Verify files with checksums after transfer |
Returns: Success/failure message. Fails if a transfer is already running.
Get real-time progress of the current transfer.
Returns: Speed (bytes/sec), bytes transferred, total bytes, ETA, completion percentage, list of files currently being transferred, recently completed files, and any error messages.
Pause the currently running transfer. The transfer can be resumed later from where it stopped.
Resume a previously paused transfer.
View all past transfers with their details (source, destination, file count, size).
Check if CloudHop is running and ready. Call this first before any other tool.
Returns: rclone version, server status.
Permanently cancel the current transfer. Use this when the user wants to abort completely. For temporary pauses (user wants to resume later), use pause_transfer instead.
Change bandwidth limit on a running transfer.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | string | yes | Speed limit: "5M", "500K", "1G", "0" for unlimited |
Verify integrity of a completed transfer by comparing source and destination checksums. Only works after a transfer has finished.
View error log for the current or most recent transfer. Call this when transfer_status shows errors > 0.
MCP resources provide read-only data that Claude can access automatically.
Currently configured cloud storage accounts. Same data as list_remotes() but available as a resource.
Current transfer status if any transfer is active.
Usage guide that helps Claude use the tools effectively. Includes recommended workflow, rules (e.g. always preview before transfer), and formatting guidelines.
MCP prompts provide guided workflows for common tasks.
Guided backup workflow: health check, preview, confirm, transfer, verify.
Usage: "Use the backup prompt to copy my OneDrive photos to Google Drive"
Guided migration with sync mode, including explicit deletion warnings.
Usage: "Use the migrate prompt to sync my Dropbox to OneDrive"
pip install cloudhop # PyPI
brew install cloudhop # Homebrew (macOS)Or download from CloudHop Releases.
cloudhop and use the wizard to connect your cloud providers.pip install cloudhop-mcpgit clone https://github.com/ozymandiashh/cloudhop-mcp
cd cloudhop-mcp
pip install -e .cloudhop-mcp --helpOr test that it imports correctly:
python -c "from cloudhop_mcp.server import mcp; print('OK')"Add the following to your ~/.claude.json file, inside the mcpServers object:
"cloudhop": {
"type": "stdio",
"command": "cloudhop-mcp",
"args": [],
"env": {}
}Then restart Claude Code. You should see the CloudHop tools available.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"cloudhop": {
"command": "cloudhop-mcp",
"args": []
}
}
}Then restart Claude Desktop.
CloudHop defaults to port 8787. If it uses a different port (8788-8791 when 8787 is busy), set the CLOUDHOP_PORT environment variable:
"cloudhop": {
"type": "stdio",
"command": "cloudhop-mcp",
"args": [],
"env": {
"CLOUDHOP_PORT": "8788"
}
}Claude CloudHop MCP CloudHop rclone
| | | |
|-- "list accounts" -->| | |
| |-- GET /api/wizard/status -->| |
| |<-- {remotes: [...]} --| |
|<-- "You have 3..." --| | |
| | | |
|-- "copy OneDrive | | |
| to GDrive" ------>| | |
| |-- POST /api/wizard/start -->| |
| | {source, dest, ...} | |
| | |-- rclone copy ---->|
| |<-- {ok: true} ------| |
|<-- "Transfer started"| | |
| | | |
|-- "progress?" ------>| | |
| |-- GET /api/status -->| |
| |<-- {speed, eta, ...}| |
|<-- "45% done, 5m" --| | |localhost. The MCP server connects to 127.0.0.1 only.CloudHop is not running. Start it first:
cloudhopOr launch the CloudHop app.
CloudHop is running but something is blocking the connection. Check that nothing else is using port 8787:
lsof -i :8787~/.claude.json for Claude Code)cloudhop-mcp is on your PATH: which cloudhop-mcpcloudhop and use the wizardtransfer_status to check)MIT License - see LICENSE for details.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.