This wraps the FastTransfer CLI tool for moving data between database systems at scale. You get six tools: preview commands before execution, execute transfers with mandatory confirmation, validate connection parameters, list supported database pairs, get parallelism recommendations based on source type, and check binary version capabilities. It handles PostgreSQL, SQL Server, DuckDB streams, and other databases with intelligent suggestions for methods like Ctid partitioning or DataDriven queries. All passwords are masked in logs and output. The two-step preview-then-execute pattern prevents accidental transfers. Reach for this when you need Claude to orchestrate complex database migrations or ETL jobs without exposing credentials or running commands blindly.
A Model Context Protocol (MCP) server that exposes FastTransfer functionality for efficient data transfer between various database systems.
FastTransfer is a high-performance CLI tool for transferring data between databases. This MCP server wraps FastTransfer functionality and provides:
preview_transfer_commandBuild and preview a FastTransfer command WITHOUT executing it. Shows the exact command with passwords masked. Always use this first.
execute_transferExecute a previously previewed command. Requires confirmation: true as a safety mechanism.
validate_connectionValidate database connection parameters (parameter check only, does not test actual connectivity).
list_supported_combinationsList all supported source-to-target database combinations.
suggest_parallelism_methodRecommend the optimal parallelism method based on source database type and table characteristics.
get_versionReport the detected FastTransfer binary version, supported types, and feature flags.
Clone or download this repository:
cd /path/to/fasttransfer-mcp
Install Python dependencies:
pip install -r requirements.txt
Configure environment:
cp .env.example .env
# Edit .env with your FastTransfer path
Add to Claude Code configuration (~/.claude.json):
{
"mcpServers": {
"fasttransfer": {
"type": "stdio",
"command": "python",
"args": ["/absolute/path/to/fasttransfer-mcp/src/server.py"],
"env": {
"FASTTRANSFER_PATH": "/absolute/path/to/fasttransfer/FastTransfer"
}
}
}
}
Restart Claude Code to load the MCP server.
Verify installation:
# In Claude Code, run:
/mcp
# You should see "fasttransfer: connected"
Edit .env to configure:
# Path to FastTransfer binary (required)
FASTTRANSFER_PATH=./fasttransfer/FastTransfer
# Execution timeout in seconds (default: 1800 = 30 minutes)
FASTTRANSFER_TIMEOUT=1800
# Log directory (default: ./logs)
FASTTRANSFER_LOG_DIR=./logs
# Log level (default: INFO)
LOG_LEVEL=INFO
The server supports multiple ways to authenticate and connect:
| Parameter | Description |
|---|---|
server | Host:port or host\instance (optional with connect_string or dsn) |
user / password | Standard credentials |
trusted_auth | Windows trusted authentication |
connect_string | Full connection string (excludes server/user/password/dsn) |
dsn | ODBC DSN name (excludes server/provider) |
provider | OleDB provider name |
file_input | File path for data input (source only, excludes query) |
| Option | CLI Flag | Description |
|---|---|---|
method | --method | Parallelism method |
distribute_key_column | --distributeKeyColumn | Column for data distribution |
degree | --degree | Parallelism degree (0=auto, >0=fixed, <0=CPU adaptive) |
load_mode | --loadmode | Append or Truncate |
batch_size | --batchsize | Batch size for bulk operations |
map_method | --mapmethod | Column mapping: Position or Name |
run_id | --runid | Run ID for logging |
data_driven_query | --datadrivenquery | Custom SQL for DataDriven method |
use_work_tables | --useworktables | Intermediate work tables for CCI |
settings_file | --settingsfile | Custom settings JSON file |
log_level | --loglevel | Override log level (error/warning/information/debug/fatal) |
no_banner | --nobanner | Suppress banner output |
license_path | --license | License file path or URL |
User: "Copy the 'orders' table from PostgreSQL (localhost:5432, database: sales_db,
schema: public) to SQL Server (localhost:1433, database: warehouse, schema: dbo).
Use parallel transfer and truncate the target first."
Claude Code will:
1. Call suggest_parallelism_method to recommend Ctid for PostgreSQL
2. Call preview_transfer_command with your parameters
3. Show the command with masked passwords
4. Explain what will happen
5. Ask for confirmation
6. Execute with execute_transfer when you approve
User: "Import /data/export.parquet into the SQL Server 'staging' table
using DuckDB stream."
Claude Code will use duckdbstream source type with file_input parameter.
User: "What version of FastTransfer is installed?"
Claude Code will call get_version and display the detected version,
supported source/target types, and available features.
This server implements a mandatory two-step process:
preview_transfer_command firstexecute_transfer with confirmation: trueYou cannot execute without previewing first and confirming.
--sourcepassword, --targetpassword, --sourceconnectstring, --targetconnectstring, -x, -X, -g, -GRun the test suite:
# Run all tests
python -m pytest tests/ -v
# Run with coverage
python -m pytest tests/ --cov=src --cov-report=html
fasttransfer-mcp/
src/
__init__.py
server.py # MCP server (tool definitions, handlers)
fasttransfer.py # Command builder, executor, suggestions
validators.py # Pydantic models, enums, validation
version.py # Version detection and capabilities registry
tests/
__init__.py
test_command_builder.py
test_validators.py
test_version.py
.env.example
requirements.txt
CHANGELOG.md
README.md
This MCP server wrapper is provided as-is. FastTransfer itself is a separate product from Arpe.io.
FASTTRANSFER_PATHPath to the FastTransfer binary (optional — server runs in preview-only mode without it)
FASTTRANSFER_TIMEOUTExecution timeout in seconds (default: 1800)
FASTTRANSFER_LOG_DIRDirectory for execution logs (default: ./logs)
LOG_LEVELLogging level: DEBUG, INFO, WARNING, ERROR (default: INFO)
com.mcparmory/google-sheets
domdomegg/google-sheets-mcp
henilcalagiya/google-sheets-mcp
cct15/war-dashboard-data
moooonad/mcp-google-sheets-full
io.github.br0ski777/csv-to-json