io.github.arpe-io/fasttransfer-mcp

平台与服务

by arpe-io

MCP server for FastTransfer — high-performance parallel data transfer between databases

什么是 io.github.arpe-io/fasttransfer-mcp

MCP server for FastTransfer — high-performance parallel data transfer between databases

README

FastTransfer MCP Server

<!-- mcp-name: io.github.arpe-io/fasttransfer-mcp -->

PyPI License: MIT MCP Registry

A Model Context Protocol (MCP) server that exposes FastTransfer functionality for efficient data transfer between various database systems.

Overview

FastTransfer is a high-performance CLI tool for transferring data between databases. This MCP server wraps FastTransfer functionality and provides:

  • Safety-first approach: Preview commands before execution with user confirmation required
  • Password masking: Credentials and connection strings are never displayed in logs or output
  • Intelligent validation: Parameter validation with database-specific compatibility checks
  • Smart suggestions: Automatic parallelism method recommendations
  • Version detection: Automatic binary version detection with capability registry
  • Comprehensive logging: Full execution logs with timestamps and results

MCP Tools

1. preview_transfer_command

Build and preview a FastTransfer command WITHOUT executing it. Shows the exact command with passwords masked. Always use this first.

2. execute_transfer

Execute a previously previewed command. Requires confirmation: true as a safety mechanism.

3. validate_connection

Validate database connection parameters (parameter check only, does not test actual connectivity).

4. list_supported_combinations

List all supported source-to-target database combinations.

5. suggest_parallelism_method

Recommend the optimal parallelism method based on source database type and table characteristics.

6. get_version

Report the detected FastTransfer binary version, supported types, and feature flags.

Installation

Prerequisites

  • Python 3.10 or higher
  • FastTransfer binary v0.16+ (obtain from Arpe.io)
  • Claude Code or another MCP client

Setup

  1. Clone or download this repository:

    bash
    cd /path/to/fasttransfer-mcp
    
  2. Install Python dependencies:

    bash
    pip install -r requirements.txt
    
  3. Configure environment:

    bash
    cp .env.example .env
    # Edit .env with your FastTransfer path
    
  4. Add to Claude Code configuration (~/.claude.json):

    json
    {
      "mcpServers": {
        "fasttransfer": {
          "type": "stdio",
          "command": "python",
          "args": ["/absolute/path/to/fasttransfer-mcp/src/server.py"],
          "env": {
            "FASTTRANSFER_PATH": "/absolute/path/to/fasttransfer/FastTransfer"
          }
        }
      }
    }
    
  5. Restart Claude Code to load the MCP server.

  6. Verify installation:

    code
    # In Claude Code, run:
    /mcp
    # You should see "fasttransfer: connected"
    

Configuration

Environment Variables

Edit .env to configure:

bash
# 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

Connection Options

The server supports multiple ways to authenticate and connect:

ParameterDescription
serverHost:port or host\instance (optional with connect_string or dsn)
user / passwordStandard credentials
trusted_authWindows trusted authentication
connect_stringFull connection string (excludes server/user/password/dsn)
dsnODBC DSN name (excludes server/provider)
providerOleDB provider name
file_inputFile path for data input (source only, excludes query)

Transfer Options

OptionCLI FlagDescription
method--methodParallelism method
distribute_key_column--distributeKeyColumnColumn for data distribution
degree--degreeParallelism degree (0=auto, >0=fixed, <0=CPU adaptive)
load_mode--loadmodeAppend or Truncate
batch_size--batchsizeBatch size for bulk operations
map_method--mapmethodColumn mapping: Position or Name
run_id--runidRun ID for logging
data_driven_query--datadrivenqueryCustom SQL for DataDriven method
use_work_tables--useworktablesIntermediate work tables for CCI
settings_file--settingsfileCustom settings JSON file
log_level--loglevelOverride log level (error/warning/information/debug/fatal)
no_banner--nobannerSuppress banner output
license_path--licenseLicense file path or URL

Usage Examples

PostgreSQL to SQL Server Transfer

code
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

File Import via DuckDB Stream

code
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.

Check Version and Capabilities

code
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.

Two-Step Safety Process

This server implements a mandatory two-step process:

  1. Preview - Always use preview_transfer_command first
  2. Execute - Use execute_transfer with confirmation: true

You cannot execute without previewing first and confirming.

Security

  • Passwords and connection strings are masked in all output and logs
  • Sensitive flags masked: --sourcepassword, --targetpassword, --sourceconnectstring, --targetconnectstring, -x, -X, -g, -G
  • Use environment variables for sensitive configuration
  • Review commands carefully before executing
  • Use minimum required database permissions

Testing

Run the test suite:

bash
# Run all tests
python -m pytest tests/ -v

# Run with coverage
python -m pytest tests/ --cov=src --cov-report=html

Project Structure

code
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

License

This MCP server wrapper is provided as-is. FastTransfer itself is a separate product from Arpe.io.

Related Links

常见问题

io.github.arpe-io/fasttransfer-mcp 是什么?

MCP server for FastTransfer — high-performance parallel data transfer between databases

相关 Skills

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描165.3k

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描165.3k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描23.5k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.1k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
79.9k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
71.9k

评论