Content
# Hostinger FTP MCP Server
An MCP (Model Context Protocol) server that gives Claude direct FTP access to your Hostinger hosting — upload, download, list remote files, and deploy changes without leaving your Claude session.
## Tools Available
| Tool | Description |
|------|-------------|
| `ftp_set_config` | Save FTP credentials and path mappings |
| `ftp_check_config` | Test the FTP connection |
| `ftp_upload_file` | Upload a single file to Hostinger |
| `ftp_upload_multiple` | Upload multiple files in one operation |
| `ftp_list_remote` | List files in a remote directory |
| `ftp_download_file` | Download a file from Hostinger |
## Setup
### 1. Install dependencies
```bash
pip install mcp
```
### 2. Configure credentials
Copy the example config and fill in your FTP details:
```bash
cp config.example.json config.json
```
Edit `config.json` with your Hostinger FTP credentials (found in Hostinger hPanel → FTP Accounts).
### 3. Add to Claude Code settings
In your `~/.claude/settings.json`:
```json
{
"mcpServers": {
"hostinger-ftp": {
"command": "python3",
"args": ["/path/to/hostinger-ftp/server.py"]
}
}
}
```
Or use `ftp_set_config` tool directly from Claude to configure credentials on first use.
## Usage
Once configured, Claude can:
```
Upload this file to Hostinger: /home/user/project/index.php
List what's in /public_html/wp-content/themes/
Download /public_html/.htaccess so I can review it
```
## Path Mapping
The server automatically maps local paths to remote paths based on `local_root` and `remote_root` in your config.
Example: `/home/user/project/css/style.css` → `/public_html/css/style.css`
You can always override by specifying `remote_path` explicitly.