How to setup the SFTP MCP Server
1. Clone the Repository
Prerequisites:Ensure that Docker is installed on your machine and is actively running. You can verify this by running docker --version
in your terminal. If it's not installed, refer to the official Docker documentation for setup instructions.
Once Docker is confirmed to be running, begin by cloning the SFTP MCP server repository to your local machine using Git. This will give you access to the project files needed to proceed with the setup.
git clone https://github.com/filepulse/sftp-mcp-server
cd sftp-mcp-server
2. Build the Container (or Pull from Docker Hub)
You have two options to get the SFTP MCP server container up and running: you can either build the Docker image locally or pull a prebuilt version from a Docker registry, depending on your preference and environment setup.
Option A: Build Locally
docker build -t sftp-mcp-server .
This command builds a Docker image named sftp-mcp-server
using the Dockerfile
included in the cloned repository. This approach is useful if you want full control over the build process or need to customize the image.
Option B: Pull from Docker Registry
To save time and skip the local build, you can pull a prebuilt image directly from Docker Hub or your organization’s private registry:
docker pull filepulse/sftp-mcp-server
This method is ideal for quickly getting started without modifying the image.
3. Update the Claude Desktop Configuration
Open the Claude desktop application, navigate to the Settings, and select the "Edit config" option under the Developer tab. This action will generate an empty configuration file located at:
Mac OS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json


Next, copy the configuration settings below into the newly created file. Be sure to replace the placeholder values with your actual credentials and server details to ensure proper connectivity.
If you don’t currently have access to an SFTP server, you can easily set one up for free by signing up here.
{
"mcpServers": {
"sftp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SFTP_HOST",
"-e",
"SFTP_USERNAME",
"-e",
"SFTP_PASSWORD",
"filepulse/sftp-mcp-server"
],
"env": {
"SFTP_HOST": "HOSTNAME",
"SFTP_USERNAME": "USERNAME",
"SFTP_PASSWORD": "PASSWORD"
}
}
}
}
After updating the file, save it and restart claude desktop.
Connecting using an SSH Keyfile
Alternatively you can access the sftp server using a SSH keyfile. Make sure to update PATH_TO_KEY_FILE and to remove the SFTP_PASSWORD environmental variable.
{
"mcpServers": {
"sftp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"PATH_TO_KEY_FILE:/root/.ssh/id_rsa:ro",
"-e",
"SFTP_HOST",
"-e",
"SFTP_USERNAME",
"-e",
"SSH_KEY_PATH",
"filepulse/sftp-mcp-server"
],
"env": {
"SFTP_HOST": "HOSTNAME",
"SFTP_USERNAME": "USERNAME",
"SSH_KEY_PATH": "/root/.ssh/id_rsa"
}
}
}
}
4. Try it out!
If everything worked correctly, you should now see the MCP tool and resources in the Claude desktop interface.
