SFTP for VS Code
io.github.adverstm/sftp-mcp
SFTP-only file access for AI: browse, edit, transfer and sync files, no shell access needed.
client:VS Code
transport:stdio
runtime:npm
Install SFTP in VS Code
.vscode/mcp.json
{
"inputs": [
{
"type": "promptString",
"id": "sftp-host",
"description": "SFTP_HOST",
"password": true
},
{
"type": "promptString",
"id": "sftp-port",
"description": "SFTP_PORT",
"password": true
},
{
"type": "promptString",
"id": "sftp-user",
"description": "SFTP_USER",
"password": true
},
{
"type": "promptString",
"id": "sftp-password",
"description": "SFTP_PASSWORD",
"password": true
},
{
"type": "promptString",
"id": "sftp-private-key",
"description": "SFTP_PRIVATE_KEY",
"password": true
},
{
"type": "promptString",
"id": "sftp-passphrase",
"description": "SFTP_PASSPHRASE",
"password": true
},
{
"type": "promptString",
"id": "sftp-servers-file",
"description": "SFTP_SERVERS_FILE",
"password": true
},
{
"type": "promptString",
"id": "sftp-read-only",
"description": "SFTP_READ_ONLY",
"password": true
},
{
"type": "promptString",
"id": "sftp-allow-destructive",
"description": "SFTP_ALLOW_DESTRUCTIVE",
"password": true
},
{
"type": "promptString",
"id": "sftp-allowed-write-prefix",
"description": "SFTP_ALLOWED_WRITE_PREFIX",
"password": true
},
{
"type": "promptString",
"id": "sftp-allowed-read-prefix",
"description": "SFTP_ALLOWED_READ_PREFIX",
"password": true
}
],
"servers": {
"sftp-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"sftp-mcp"
],
"env": {
"SFTP_HOST": "${input:sftp-host}",
"SFTP_PORT": "${input:sftp-port}",
"SFTP_USER": "${input:sftp-user}",
"SFTP_PASSWORD": "${input:sftp-password}",
"SFTP_PRIVATE_KEY": "${input:sftp-private-key}",
"SFTP_PASSPHRASE": "${input:sftp-passphrase}",
"SFTP_SERVERS_FILE": "${input:sftp-servers-file}",
"SFTP_READ_ONLY": "${input:sftp-read-only}",
"SFTP_ALLOW_DESTRUCTIVE": "${input:sftp-allow-destructive}",
"SFTP_ALLOWED_WRITE_PREFIX": "${input:sftp-allowed-write-prefix}",
"SFTP_ALLOWED_READ_PREFIX": "${input:sftp-allowed-read-prefix}"
}
}
}
}
VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs