This Model Context Protocol (MCP) server provides tools for interacting with FTP servers. It allows Claude.app to list directories, download and upload files, create directories, and delete files/directories on FTP servers.
To install mcp-server-ftp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @alxspiker/mcp-server-ftp --client claude
# Clone the repository
git clone https://github.com/alxspiker/mcp-server-ftp.git
cd mcp-server-ftp
# Install dependencies
npm install
# Build the project
npm run build
# Clone the repository
git clone https://github.com/alxspiker/mcp-server-ftp.git
cd mcp-server-ftp
# Run the Windows build helper script
build-windows.bat
The build-windows.bat
script handles dependency installation and building on Windows systems, with fallback options if the TypeScript compiler has issues.
To use this server with Claude for Desktop, add it to your configuration file:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"ftp-server": {
"command": "node",
"args": ["/absolute/path/to/mcp-server-ftp/build/index.js"],
"env": {
"FTP_HOST": "ftp.example.com",
"FTP_PORT": "21",
"FTP_USER": "your-username",
"FTP_PASSWORD": "your-password",
"FTP_SECURE": "false"
}
}
}
}
Edit %APPDATA%\Claude\claude_desktop_config.json
:
{
"mcpServers": {
"ftp-server": {
"command": "node",
"args": ["C:\\path\\to\\mcp-server-ftp\\build\\index.js"],
"env": {
"FTP_HOST": "ftp.example.com",
"FTP_PORT": "21",
"FTP_USER": "your-username",
"FTP_PASSWORD": "your-password",
"FTP_SECURE": "false"
}
}
}
}
If you encounter build issues on Windows:
build-windows.bat
script which handles common build issuesnpx tsc
build
directory by running:
node path\to\mcp-server-ftp\build\index.js
Environment Variable | Description | Default |
---|---|---|
FTP_HOST | FTP server hostname or IP address | localhost |
FTP_PORT | FTP server port | 21 |
FTP_USER | FTP username | anonymous |
FTP_PASSWORD | FTP password | (empty string) |
FTP_SECURE | Use secure FTP (FTPS) | false |
After configuring and restarting Claude for Desktop, you can use natural language to perform FTP operations:
Tool Name | Description |
---|---|
list-directory | List contents of an FTP directory |
download-file | Download a file from the FTP server |
upload-file | Upload a file to the FTP server |
create-directory | Create a new directory on the FTP server |
delete-file | Delete a file from the FTP server |
delete-directory | Delete a directory from the FTP server |
FTP_SECURE=true
if your server supports it.MIT
Seamless access to top MCP servers powering the future of AI integration.