mcpField
F
fasttransfer-mcp

fasttransfer-mcp

本地服务
github.com/arpe-io数据库132 周前更新

关于 fasttransfer-mcp

fasttransfer-mcp 将 FastTransfer 的数据库传输能力封装为 MCP 服务,适用于需要在数据库间迁移数据的团队。它通过预览后确认执行、参数校验和敏感信息屏蔽来管理传输操作。

主要功能

  1. 01预览传输命令并确认后执行
  2. 02校验连接参数与数据库兼容性
  3. 03列出支持的源和目标组合
  4. 04建议并行传输方式
  5. 05检测版本并查看能力
  6. 06日志中屏蔽密码和连接字符串

适用场景

  1. 01预览 PostgreSQL 到 SQL Server 的表传输
  2. 02将文件数据导入 SQL Server
  3. 03检查 FastTransfer 版本与支持能力

MCP 相关

向 MCP 客户端提供 FastTransfer 命令预览与执行、连接参数校验、能力查询和并行方式建议等工具。执行需先预览并提供确认。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"arpe-io-fasttransfer": {
"command": "uvx",
"args": [
"fasttransfer-mcp"
],
"env": {
"FASTTRANSFER_PATH": "<FASTTRANSFER_PATH>",
"FASTTRANSFER_TIMEOUT": "<FASTTRANSFER_TIMEOUT>",
"FASTTRANSFER_LOG_DIR": "<FASTTRANSFER_LOG_DIR>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
启动命令uvx fasttransfer-mcp
需要配置的环境变量
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)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypifasttransfer-mcp0.1.6

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

FastTransfer MCP 服务

PyPI License: MIT MCP Registry

一个 Model Context Protocol(MCP) 服务,用于提供 FastTransfer 功能,以便在各种数据库系统之间高效传输数据。

概述

FastTransfer 是一款用于在数据库之间传输数据的高性能命令行工具。此 MCP 服务封装了 FastTransfer 的功能,并提供:

  • 安全优先:执行前预览命令,并要求用户确认
  • 密码遮蔽:日志或输出中绝不会显示凭据和连接字符串
  • 智能验证:验证参数,并检查特定数据库的兼容性
  • 智能建议:自动推荐并行处理方法
  • 版本检测:自动检测二进制文件版本,并提供功能注册表
  • 全面日志记录:提供包含时间戳和结果的完整执行日志

MCP 工具

1. preview_transfer_command

构建并预览 FastTransfer 命令,但不执行。显示密码已遮蔽的准确命令。请始终先使用此工具。

2. execute_transfer

执行先前预览的命令。出于安全考虑,需要设置 confirmation: true。

3. validate_connection

验证数据库连接参数(仅检查参数,不测试实际连接)。

4. list_supported_combinations

列出所有支持的源数据库到目标数据库的组合。

5. suggest_parallelism_method

根据源数据库类型和表特征推荐最佳并行处理方法。

6. get_version

报告检测到的 FastTransfer 二进制文件版本、支持的类型和功能标志。

安装

前置条件
  • Python 3.10 或更高版本
  • FastTransfer 二进制文件 v0.16+(从 Arpe.io 获取)
  • Claude Code 或其他 MCP 客户端
设置
  1. 克隆或下载此仓库:

    cd /path/to/fasttransfer-mcp
    
  2. 安装 Python 依赖项:

    pip install -r requirements.txt
    
  3. 配置环境:

    cp .env.example .env
    # Edit .env with your FastTransfer path
    
  4. 添加到 Claude Code 配置(~/.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"
          }
        }
      }
    }
    
  5. 重启 Claude Code以加载 MCP 服务。

  6. 验证安装:

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

配置

环境变量

编辑 .env 以进行配置:

# 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

连接选项

此服务支持多种身份验证和连接方式:

参数描述
server主机:端口或主机\实例(与 connect_string 或 dsn 一起使用时可选)
user / password标准凭据
trusted_authWindows 可信身份验证
connect_string完整连接字符串(不能与 server/user/password/dsn 一起使用)
dsnODBC DSN 名称(不能与 server/provider 一起使用)
providerOleDB provider 名称
file_input数据输入文件路径(仅限源端,不能与 query 一起使用)

传输选项

选项CLI 标志描述
method--method并行处理方法
distribute_key_column--distributeKeyColumn数据分发列
degree--degree并行度(0=自动,>0=固定,<0=根据 CPU 自适应)
load_mode--loadmode追加或截断
batch_size--batchsize批量操作的批次大小
map_method--mapmethod列映射:按位置或按名称
run_id--runid用于日志记录的运行 ID
data_driven_query--datadrivenqueryDataDriven 方法的自定义 SQL
use_work_tables--useworktables用于 CCI 的中间工作表
settings_file--settingsfile自定义设置 JSON 文件
log_level--loglevel覆盖日志级别(error/warning/information/debug/fatal)
no_banner--nobanner禁止显示横幅
license_path--license许可证文件路径或 URL

使用示例

从 PostgreSQL 传输到 SQL Server
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
通过 DuckDB 流导入文件
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.

两步安全流程

此服务采用强制性的两步流程:

  1. 预览 - 始终先使用 preview_transfer_command
  2. 执行 - 使用 execute_transfer 并设置 confirmation: true

必须先预览并确认,才能执行。

安全

  • 所有输出和日志中的密码及连接字符串都会被遮蔽
  • 以下敏感标志会被遮蔽:--sourcepassword、--targetpassword、--sourceconnectstring、--targetconnectstring、-x、-X、-g、-G
  • 对敏感配置使用环境变量
  • 执行前仔细检查命令
  • 使用所需的最低数据库权限

测试

运行测试套件:

# 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

许可证

此 MCP 服务封装按原样提供。FastTransfer 本身是 Arpe.io 的独立产品。

相关链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。