MCP SFTP Orchestrator
@fkom13
Un serveur MCP stdio pour l'orchestration de tâches distantes avec exécution hybride (synchrone/asynchrone) et configuration flexible.
Overview
What is MCP SFTP Orchestrator?
MCP SFTP Orchestrator is an MCP server that gives an AI agent the ability to execute SSH commands, perform SFTP transfers, and monitor remote servers. It features a persistent job queue, connection pooling, and hybrid synchronous/asynchronous execution. Targeted at developers and ops teams using MCP-compatible clients.
How to use MCP SFTP Orchestrator?
Install via git clone, npm install, then copy .env.example to .env and configure. Connect from any MCP client (e.g., OpenCode, Claude Desktop) by adding a server entry with command: "node" and args: ["/path/to/server.js"]. The server exposes 29 tools for SSH, SFTP, monitoring, and queue management.
Key features of MCP SFTP Orchestrator
- 29 MCP tools for SSH/SFTP/monitoring
- Persistent queue with automatic retry and history
- Hybrid sync/async execution for long-running tasks
- Connection pool with configurable min/max per server
- SFTP transfers with force overwrite and glob patterns
- Interactive SSH with regex-based automated responses
Use cases of MCP SFTP Orchestrator
- Execute long SSH commands (e.g., Docker builds) and retrieve results via background task wait
- Perform SFTP file transfers with recursive folder sync and overwrite control
- Automate interactive SSH sessions (e.g., apt upgrade) with predefined response patterns
- Monitor remote server resources (CPU, RAM, disk) and service status (systemd, Docker, PM2)
- Manage and retry failed tasks through a persistent job queue
FAQ from MCP SFTP Orchestrator
What are the runtime requirements?
Node.js >= 18.0.0 is required. No other runtime dependencies are mentioned.
How is the server configured?
All configuration is through a .env file in the project root. Defaults are provided for a standard use case, including data directory, timeouts, connection pool sizes, and debug logging.
What transport protocol does MCP SFTP Orchestrator use?
Version 9.0.0 explicitly states "transport stdio uniquement" (stdio only). No HTTP or WebSocket transport is mentioned.
How are secrets handled?
At startup, the server logs a warning if servers.json or apis.json contain plaintext passwords or API keys. It recommends using SSH keys instead of passwords and storing API keys in a vault like Vaultwarden. Additionally, escapeShellArg() escapes all URLs and paths before passing them to commands.
Is there a limit on concurrent SSH connections?
Yes, the pool enforces MAX_CONNECTIONS_PER_SERVER (default 5) and MIN_CONNECTIONS_PER_SERVER (default 1). Idle connections are closed after IDLE_TIMEOUT (default 5 minutes).