Work with a remote host over FTP/FTPS/SFTP, SSH, and MySQL.
MCPpedia last refreshed this data
io.github.Chris221/ftp-ssh-mcp is an MCP server that work with a remote host over FTP/FTPS/SFTP, SSH, and MySQL. Its tool list has not been published yet over stdio, sse and http, requires no API key, and scores 89/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"remote": {
"args": [
"-y",
"ftp-ssh-mcp@1"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP server for working with a single remote host over FTP, FTPS, SFTP, and SSH — the kind of host a typical shared-hosting plan or a plain VPS gives you, not a cloud provider's API. It groups its tools into three capability classes: file transfer (list, upload, download, mkdir, delete), shell execution over SSH, and a MySQL query wrapper that also runs over SSH. File transfer is the only capability enabled by default — shell execution and database access are both opt-in and stay off until you
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'ftp-ssh-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked ftp-ssh-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in data
Manage Supabase projects — databases, auth, storage, and edge functions
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
An official Qdrant Model Context Protocol (MCP) server implementation
DataForSEO API modelcontextprotocol server
MCP Security Weekly
Get CVE alerts and security updates for io.github.Chris221/ftp-ssh-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server for working with a single remote host over FTP, FTPS, SFTP, and SSH — the kind of host a typical shared-hosting plan or a plain VPS gives you, not a cloud provider's API. It groups its tools into three capability classes: file transfer (list, upload, download, mkdir, delete), shell execution over SSH, and a MySQL query wrapper that also runs over SSH. File transfer is the only capability enabled by default — shell execution and database access are both opt-in and stay off until you explicitly turn them on. Treat those two as equally dangerous: mysql_query runs arbitrary SQL on a production database and can escape to a shell, so it is not the milder of the pair.
Published to npm and run with npx — there is nothing to clone or build. Requires Node 20 or newer. Works on Windows, macOS and Linux.
On Windows, use the
cmd /cform shown for each client below. Most clients spawncommanddirectly rather than through a shell, andnpxon Windows is a.cmdshim that cannot be executed that way — the server simply fails to start, usually with no useful error. Treat this as the rule on Windows, not an edge case.
.mcp.json in the project root{
"mcpServers": {
"remote": { "command": "npx", "args": ["-y", "ftp-ssh-mcp@1"] }
}
}
Windows:
{
"mcpServers": {
"remote": { "command": "cmd", "args": ["/c", "npx", "-y", "ftp-ssh-mcp@1"] }
}
}
claude_desktop_config.json| OS | Path |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Same mcpServers shape as Claude Code. Claude Desktop has no project directory, so set MCP_ENV_FILE to an absolute path — see step 2.
.cursor/mcp.json (project) or ~/.cursor/mcp.json (global)Same mcpServers shape as Claude Code.
.vscode/mcp.json (workspace), or MCP: Open User Configuration for globalVS Code uses servers, not mcpServers:
{
"servers": {
"remote": { "command": "npx", "args": ["-y", "ftp-ssh-mcp@1"] }
}
}
~/.codex/config.toml, or .codex/config.toml in a trusted projectCodex uses TOML with a snake_case mcp_servers table:
[mcp_servers.remote]
command = "npx"
args = ["-y", "ftp-ssh-mcp@1"]
Windows:
[mcp_servers.remote]
command = "cmd"
args = ["/c", "npx", "-y", "ftp-ssh-mcp@1"]
Or add it from the shell: codex mcp add remote -- npx -y ftp-ssh-mcp@1
Create a .env file in your project root. The server reads it from the working directory, which is the project root for project-scoped clients:
REMOTE_HOST=ftp.example.com
REMOTE_USER=deploy
REMOTE_PASSWORD=your-password
REMOTE_BASE_DIR=/home/deploy/public_html
That is enough for the six file tools over FTPS. Keep this file out of version control — add .env and .env.* to .gitignore. Getting credentials out of a tracked config file is the rea