ssh_sync
Synchronize files between local and remote systems using rsync for automated deployment and backup workflows.
Instructions
Synchronize files/folders between local and remote via rsync
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| server | Yes | Server name from configuration | |
| source | Yes | Source path (use "local:" or "remote:" prefix) | |
| destination | Yes | Destination path (use "local:" or "remote:" prefix) | |
| exclude | No | Patterns to exclude from sync | |
| dryRun | No | Perform dry run without actual changes | |
| delete | No | Delete files in destination not in source | |
| compress | No | Compress during transfer | |
| verbose | No | Show detailed progress | |
| checksum | No | Use checksum instead of timestamp for comparison | |
| timeout | No | Timeout in milliseconds (default: 30000) |
Implementation Reference
- src/tool-registry.js:14-20 (registration)The tool 'ssh_sync' is listed in the 'core' group of TOOL_GROUPS. This registry is used centrally for conditional MCP tool registration based on user configuration from tool-config-manager.js.core: [ 'ssh_list_servers', 'ssh_execute', 'ssh_upload', 'ssh_download', 'ssh_sync' ],
- tests/test-tool-registry.js:114-114 (helper)Test file expects 'ssh_sync' as part of core tools, validating the tool registry.const expectedCore = ['ssh_list_servers', 'ssh_execute', 'ssh_upload', 'ssh_download', 'ssh_sync'];