rustscp-mcp
Enables AI agents to manage objects in Amazon S3 buckets, including listing, uploading, downloading, and deleting objects using native AWS SigV4 authentication.
Enables AI agents to interact with Backblaze B2 cloud storage via the S3-compatible API, supporting object management operations.
Enables AI agents to manage objects in Cloudflare R2 storage, leveraging the S3-compatible API for listing, uploading, downloading, and deleting objects.
Enables AI agents to manage files and execute commands on remote Linux/Unix servers over SFTP and SSH, including directory listing, file editing, hash computation, and shell command execution.
Enables AI agents to manage objects in MinIO object storage through the S3-compatible API, including bucket and object operations.
Enables AI agents to interact with Wasabi hot cloud storage via the S3-compatible API, supporting object management.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
🌟 Why RustSCP?
For more than two decades, WinSCP set the gold standard for dual-pane file management on Windows. However, modern engineering teams work across macOS, Linux, and Windows, deploy to cloud-native object stores (S3, Cloudflare R2, MinIO), and orchestrate infrastructure through Autonomous AI Agents.
RustSCP reimagines this legacy with modern systems engineering:
🚀 Blazing Native Performance: Built with pure asynchronous Rust (Tokio) and Tauri v2. Consumes under 40 MB of RAM — eliminating the heavy CPU & memory overhead of Electron.
🤖 Native AI Gateway (Model Context Protocol / MCP): An audited, sandboxed bastion server allowing LLM agents (Claude Code, Hermes, Antigravity, OpenClaw, Cursor) to safely query, inspect, edit, and run commands on remote infrastructure — with risk classification and human-in-the-loop approvals — without ever exposing raw credentials, private SSH keys, or certificates.
🛡️ Guaranteed Memory Safety: Zero segfaults, zero memory leaks, and resilient concurrency guaranteed by Rust's ownership model.
⚡ Proactive Dual-Session SSH Architecture: Automatically authenticates an SFTP data channel and an interactive remote shell session during initial login. Execute instantaneous Linux commands (
rm -rf,sha256sum,systemctl) without extra logins or latency.
Related MCP server: MCP SSH Orchestrator
📊 Feature Comparison
Feature | RustSCP 🦀 | WinSCP 🪟 | FileZilla 📁 | Cyberduck 🦆 |
Core Architecture | Safe Rust + Tauri v2 | C++ / VCL | C++ / wxWidgets | Java / Cocoa |
Memory Footprint | ~35 - 45 MB | ~40 - 60 MB | ~80 - 120 MB | ~300 - 500 MB |
Native Multiplatform | macOS, Windows, Linux | Windows Only | macOS, Win, Linux | macOS, Windows |
AI Agent MCP Gateway | Built-in (Native) | ❌ No | ❌ No | ❌ No |
Dual-Pane Commander | Yes (Classic & Modern) | Yes | Split View | ❌ Single Pane |
SSH Dual-Session Shell | Instant (First Login) | Re-login required | ❌ No | ❌ No |
AWS S3 / R2 / MinIO | Native AWS SigV4 | S3 Only | Pro Edition ($) | Yes |
Remote Quick-Delete ( | Yes (Safe fallback) | Scripting only | ❌ Slow file-by-file | ❌ Slow file-by-file |
Visual Unix Chmod Studio | Real-time Octal Matrix | Basic | Basic | Basic |
Built-in Remote Code Editor | Yes ( | External / Basic | External only | External only |
Built-in SSH Terminal | Yes (background, history, assistant) | PuTTY (separate app) | ❌ No | ❌ No |
Smart Context Menu | Edge-aware 60 FPS | Standard | Standard | Standard |
⚡ Key Highlights & Capabilities
🔒 1. Multi-Protocol Engine
SFTP (SSH File Transfer Protocol): Full SSH2 implementation supporting password auth, private keys (
id_rsa,id_ed25519,.pem, PuTTY.ppk), SSH Agent, and chunked high-throughput parallel streaming.SCP (Secure Copy): High-speed channel transfer for legacy servers.
Amazon S3 & Compatible Clouds: Native cryptographic AWS SigV4 engine in HMAC-SHA256. Tested with AWS S3, Cloudflare R2, MinIO, Wasabi, and Backblaze B2.
FTP / FTPS: TLS-encrypted and standard FTP support.
Local Filesystem: Native high-speed local disk operations.
🤖 2. Model Context Protocol (MCP) AI Gateway
RustSCP includes an embedded JSON-RPC 2.0 MCP server (rustscp-mcp) acting as a secure bastion:
Enables AI tools (Claude Code, Hermes, Antigravity, Cursor, OpenClaw) to list directories, read and write files, and run shell commands on the servers you have connected — all through the connection RustSCP already holds.
Enforces granular permission controls, human-in-the-loop approvals, risk classification, and structured audit logs.
Never reveals raw SSH credentials or root passwords to the AI model: the agent works over the session you logged in with (password, key, PuTTY
.ppk, SSH agent, or OpenSSH certificate), and never sees the secret.
Tools exposed to agents. session_list (the connected sessions, no credentials), fs_list_dir, fs_read_file, fs_write_file (approval-gated), fs_search, render_smart_action (renders a vetted command for review, never executes), and run_command — run a shell command on a connected SSH server and get back the exit code, stdout and stderr.
Connecting an agent. The desktop executable doubles as an MCP stdio server: rustscp-desktop --mcp-stdio speaks MCP on stdin/stdout and forwards tool calls to the running RustSCP window over a private, token-protected local channel (a 0600 Unix socket, or loopback TCP on Windows). The exact command for your install is shown in AI gateway (MCP) inside the app, for example:
claude mcp add rustscp -- /Applications/RustSCP.app/Contents/MacOS/rustscp-desktop --mcp-stdioAgents see only the remote sessions connected in the app (never the local disk), and every call lands in the activity log (mcp-audit.log in the RustSCP config folder), shown live in the gateway window.
File writes wait until you click Allow in the app (denied after 2 minutes without an answer); a write the agent cancels leaves the dialog at once.
Commands follow a setting you choose per taste in the gateway window, under Commands on the server:
Off — agents cannot run commands.
Ask (default) — every command shows up for you to allow before it runs.
Auto — ordinary commands run on their own; anything RustSCP classifies as dangerous (
rm -rf,mkfs,dd of=/dev/…,shutdown, a fork bomb, piping a download into a shell, …) still asks.Trusted — full autonomy; every command runs on its own. For throwaway servers only.
Whatever the level, each command is classified (safe / caution / dangerous) and fully recorded. The Allow AI agents switch turns the whole gateway off and on; both choices are kept across restarts.
🔄 3. Dual-Session Proactive SSH Architecture
Unlike traditional tools that disconnect or force a second login prompt when running terminal operations:
RustSCP initializes both the SFTP file subsystem and an authenticated Shell channel on the initial handshake.
Remote operations like calculating recursive directory sizes (
du -sb), generating SHA-256 hashes, running system commands, or performing fast directory removals (rm -rf) execute instantaneously with zero re-authentication overhead.
🖥️ 4. Commander & Explorer Layouts
Dual-Pane (Commander Mode): Fast file movement between Local and Remote (or Remote to Remote) using traditional
Tab,F5(Copy), andF6(Move) workflows.Single-Pane (Explorer Mode): Distraction-free navigation with collapsible folder tree.
Multi-Session Tabs: Open simultaneous connections to multiple servers, clusters, and local drives with automatic reconnection and state recovery.
Session Memory: Remembers the last active remote directory per site/host upon disconnect or app shutdown (configurable in Settings).
📝 5. Built-in Remote Code Editor (F4 / F3)
View (
F3) and Edit (F4) remote server files directly inside the application.Syntax highlighting for over 30 languages (Rust, Go, Python, TypeScript, Shell, JSON, YAML, etc.).
Line numbers, search/replace (
Ctrl+F), and instant remote save (Ctrl+S) over the active SFTP stream.
🛡️ 6. Visual Unix Permissions (chmod) & Hashes
Comprehensive permissions studio (
Alt+Enter): visual checkboxes for Owner, Group, and Public (Read, Write, Execute, Sticky Bit) with bidirectional octal translation (0755,0644,0777).Integrity verification: compute and compare SHA-256 and MD5 hashes remotely or locally with one click.
🧭 7. Next-Gen Context Menu & UX
Dynamic Viewport Edge Mapping: The right-click menu detects screen boundaries; flips upwards when near the bottom of the window, and opens submenus to the left when near the right edge.
Visual Overflow Indicators: Animated "More above" and "More below" indicators with smooth auto-scroll on click.
Zero-Freeze Guarantee: Isolated rendering lifecycle with global dismiss listeners (
Escape, outside click backdrop, window blur).
💻 8. Built-in Terminal (PuTTY-style, beginner-friendly)
Real interactive shell (
xterm-256colorPTY) on an SSH connection of its own, so long commands never compete with transfers. Output streams as it arrives;top,nano,vimand colors work.Keeps running in the background: hide the panel (
Ctrl+`) and the terminals keep going. A slim bar shows each one's state, and a notification (with Show) tells you when a command finishes, fails, or waits for an answer ([Y/n], asudopassword).Local command history that survives logging out of the server: every command (with its exit status, duration and folder) is saved on this computer in a private file, searchable per server. Commands typed with a leading space are not saved, as in bash.
Copy & paste that is easy to see: select to copy (with a "Copied" confirmation), a right-click menu (copy, paste, copy the last command's output, save the output to a file, find), PuTTY's right-click-paste as an option, and a warning before pasting several lines at once.
Command assistant for people new to Linux: describe the task ("disk space", "restart nginx") to get the right command, see what every option of a command does before running it, a second look before destructive commands (
rm -rf /,mkfs,chmod -R 777...), ready-made commands by task (adapted toapt/dnf/apk...), and plain-language hints when a command fails ("not installed: install it", "needs sudo: retry with sudo").Command reporting needs bash on the server (the usual login shell on Linux); other shells get the terminal, the assistant and the history of what is run from the assistant.
Open in system terminal starts Terminal.app (macOS), Windows Terminal/ssh.exe or a Linux terminal already logged in like the site: keys that ssh would refuse (a key downloaded from a cloud console such as Oracle OCI, readable by other users) are used through a private copy, the server's known host key is shared with ssh, and a saved password or key passphrase is handed to ssh once through a one-shot local socket (macOS/Linux, OpenSSH 8.4+), never written to disk.
🏗️ Architecture
RustSCP is designed as a modular workspace ensuring separation of concerns:
graph TD
UI[Frontend: React 19 + TypeScript + Tailwind CSS]
Tauri[Tauri v2 Desktop Bridge - IPC]
subgraph Rust Backend Monorepo
Desktop[apps/rustscp-desktop: Native Window & Shell]
Core[crates/rustscp-core: Multi-Protocol Driver Engine]
Actions[crates/rustscp-actions: Linux Smart Actions Studio]
Cache[crates/rustscp-cache: High-Speed Directory & Hash Cache]
MCP[crates/rustscp-mcp: Model Context Protocol AI Gateway]
end
UI <-->|Tauri IPC Commands & Events| Desktop
Desktop --> Core
Desktop --> Actions
Desktop --> Cache
Desktop --> MCP
Core -->|SFTP / SSH Shell| RemoteLinux[Linux / Unix Servers]
Core -->|AWS SigV4| S3Cloud[AWS S3 / Cloudflare R2 / MinIO]
Core -->|Local I/O| LocalDisk[Local Filesystem]
MCP <-->|JSON-RPC 2.0 / Stdio| AIAgents[Claude / Cursor / Hermes / Antigravity]Crate Breakdown:
crates/rustscp-core: Core networking, connection pooling, SFTP/SCP/S3/FTP abstractions, and dual-session SSH manager.crates/rustscp-actions: Linux Smart Actions catalog, parameter validator, safety level engine (Safe, Warning, Dangerous), and script execution runner.crates/rustscp-cache: In-memory and disk caching for directory listings, connection secrets (OS Keychain integration), and file hashes.crates/rustscp-mcp: Model Context Protocol (MCP) server implementation exposing tool definitions and resources to LLM agents.apps/rustscp-desktop: Tauri v2 application wrapper and React 19 single-page UI.
⌨️ Keyboard Shortcuts
Action | macOS 🍏 | Windows / Linux 🪟🐧 |
Switch Panes |
|
|
View File |
|
|
Edit File |
|
|
Copy Files |
|
|
Move / Rename |
|
|
New Folder |
|
|
Delete (Move to Trash) |
|
|
Permanent Delete |
|
|
Properties & Chmod |
|
|
Quick Terminal Command |
|
|
Show / Hide Terminals |
|
|
New Terminal |
|
|
Copy / Paste in Terminal |
|
|
Navigate Up Directory |
|
|
Save in Editor |
|
|
Close Dialog / Menu |
|
|
🚀 Getting Started & Installation
Pre-built Binaries
Download the latest pre-compiled binaries from the Releases page:
macOS:
.dmginstaller or.appbundle (supports Apple Siliconaarch64and Intelx86_64).Windows:
.msiinstaller or standalone.exe.Linux:
.AppImage,.deb, or.tar.gz.
Building from Source
Prerequisites
Rust: Latest stable toolchain (
rustup update stable).Node.js & pnpm: Node.js 20+ and
pnpm(corepack enable pnpm).Platform Libraries:
macOS: Xcode Command Line Tools (
xcode-select --install).Linux (Ubuntu/Debian):
sudo apt update && sudo apt install -y libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-devWindows: C++ Build Tools and WebView2.
Build Instructions
# 1. Clone the repository
git clone https://github.com/tiagobecker/RustSCP.git
cd RustSCP
# 2. Install UI dependencies
pnpm install
# 3. Run in Desktop Development Mode (with Hot Reload)
pnpm desktop:dev
# 4. Build Optimized Production Release
pnpm release
# 5. Create native installers (.dmg, .msi, .deb, etc.)
pnpm bundle🤝 Contributing
Contributions are warmly welcome! Please check out our Contributing Guidelines and Security Policy before submitting pull requests.
# Run backend test suite
cargo test --all
# Run linting
cargo clippy --workspace --all-targets -- -D warnings
pnpm --dir apps/rustscp-desktop/ui lint
# Build verification
pnpm build📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2026 Tiago Becker.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Scoped, audited SSH exec, sessions, and SFTP on your saved servers without exposing credentials
Manage remote servers, SSH terminals, files, databases and proxies with scoped access and approvals.
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables secure remote access operations through SSH, SFTP, rsync, VPN, and tunneling with enterprise-grade policy enforcement and audit logging. Provides AI assistants with secure, policy-driven access to remote systems while maintaining comprehensive audit trails and zero-trust security.1Apache 2.0
- AlicenseBqualityBmaintenanceProvides policy-driven, auditable SSH access to server fleets for AI assistants with zero-trust security controls, command whitelisting, and comprehensive audit logging to safely manage infrastructure.1330Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to securely execute SSH commands on remote servers with connection pooling, session isolation, and a web audit panel.4MIT
- AlicenseAqualityBmaintenanceEnables AI agents to securely connect to and manage remote servers via SSH, with tools for running commands, file operations, log inspection, service management, and system monitoring under configurable access controls and audit logging.1219 npm1MIT