Fastbcp Mcp

io.github.arpe-io由 GitHub 帳號 arpe-io 發布v0.1.5更新於 Oct 24, 2026

MCP server for FastBCP — high-performance parallel database export to files and cloud

概覽

AI 產生的概覽

封裝 FastBCP 命令列的 MCP 伺服器,讓助理預覽、驗證並執行資料庫平行匯出到檔案或雲端儲存。

可以做什麼
建立並預覽匯出指令,密碼會被遮蔽,並在明確確認後執行;執行前可驗證來源資料庫連線參數。查詢支援的來源資料庫、輸出格式與儲存目標,並依資料庫類型與資料表特性建議平行化方式。回報偵測到的 FastBCP 二進位版本及其支援功能。
適用情境
適合經常需要把 PostgreSQL、SQL Server 等資料庫的資料表匯出成 CSV、Parquet 等格式(本機或上傳到 S3、Azure 儲存),並希望由助理先組裝與檢查 FastBCP 指令再執行的情境。
執行需求
以 stdio 在本機執行,需要 Python 3.10 以上版本,以及另外取得的 FastBCP v0.29 以上版本二進位檔,透過 FASTBCP_PATH 指定;未設定時僅能預覽。可選設定 FASTBCP_LOG_DIR、FASTBCP_TIMEOUT 與 LOG_LEVEL。資料庫憑證與雲端儲存設定以匯出參數傳入。
安裝前請注意
匯出會讀取資料庫資料並寫入檔案或上傳到雲端儲存,執行前應逐筆檢查預覽指令。資料庫密碼與連線字串會經由工具傳遞,輸出與日誌中雖已遮蔽,但仍會進入本機行程及其日誌目錄。建議使用最小權限的資料庫帳號,並確認匯出資料的存放位置。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Fastbcp Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

FastBCP MCP Server

[PyPI] [License: MIT] [MCP Registry]

A Model Context Protocol (MCP) server that exposes FastBCP functionality for exporting data from databases to files (CSV, TSV, JSON, BSON, Parquet, XLSX, Binary) with optional cloud storage targets.

Overview

FastBCP is a high-performance CLI tool for exporting data from databases to files. This MCP server wraps FastBCP 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_export_command

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

2. execute_export

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

3. validate_connection

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

4. list_supported_formats

List all supported source databases, output formats, and storage targets.

5. suggest_parallelism_method

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

6. get_version

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

Installation

Prerequisites

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

Setup

  1. Clone or download this repository:

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

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

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

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

  6. Verify installation:

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

Configuration

Environment Variables

Edit .env to configure:

bash
# Path to FastBCP binary (required)FASTBCP_PATH=./fastbcp/FastBCP
# Execution timeout in seconds (default: 1800 = 30 minutes)FASTBCP_TIMEOUT=1800
# Log directory (default: ./logs)FASTBCP_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
application_intentSQL Server application intent (ReadOnly/ReadWrite)

Output Options

OptionCLI FlagDescription
format--formatOutput format: csv, tsv, json, bson, parquet, xlsx, binary
file_output--fileoutputOutput file path
directory--directoryOutput directory path
storage_target--storagetargetStorage: local, s3, s3compatible, azure_blob, azure_datalake, fabric_onelake
delimiter--delimiterField delimiter (CSV/TSV)
quotes--quotesQuote character
encoding--encodingOutput encoding
no_header--noheaderOmit header row (CSV/TSV)
decimal_separator--decimalseparatorDecimal separator (. or ,)
date_format--dateformatDate format string
bool_format--boolformatBoolean format: TrueFalse, OneZero, YesNo
parquet_compression--parquetcompressionParquet compression: None, Snappy, Gzip, Lz4, Lzo, Zstd
timestamped--timestampedAdd timestamp to output filename
merge--mergeMerge parallel output files

Export Options

OptionCLI FlagDescription
method--methodParallelism method
distribute_key_column--distributeKeyColumnColumn for data distribution
degree--degreeParallelism degree (default: 1)
load_mode--loadmodeAppend or Truncate
batch_size--batchsizeBatch size for export operations
map_method--mapmethodColumn mapping: Position or Name
run_id--runidRun ID for logging
data_driven_query--datadrivenqueryCustom SQL for DataDriven method
settings_file--settingsfileCustom settings JSON file
log_level--loglevelOverride log level (Information/Debug)
no_banner--nobannerSuppress banner output
license_path--licenseLicense file path or URL
cloud_profile--cloudprofileCloud storage profile name

Usage Examples

PostgreSQL to CSV Export

User: "Export the 'orders' table from PostgreSQL (localhost:5432, database: sales_db,       schema: public) to CSV file at /tmp/orders.csv. Use parallel export."
Claude Code will:1. Call suggest_parallelism_method to recommend Ctid for PostgreSQL2. Call preview_export_command with your parameters3. Show the command with masked passwords4. Explain what will happen5. Ask for confirmation6. Execute with execute_export when you approve

Export to Parquet with Compression

User: "Export the 'transactions' table from SQL Server to Parquet format       with Snappy compression, saved to /data/exports/."
Claude Code will use parquet format with parquet_compression set to Snappy.

Export to S3

User: "Export the 'users' table from PostgreSQL to CSV on S3 bucket       s3://my-bucket/exports/ using my AWS profile."
Claude Code will use storage_target=s3 with cloud_profile.

Check Version and Capabilities

User: "What version of FastBCP is installed?"
Claude Code will call get_version and display the detected version,supported source types, output formats, and available features.

Two-Step Safety Process

This server implements a mandatory two-step process:

  1. Preview - Always use preview_export_command first
  2. Execute - Use execute_export 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, --sourceconnectstring, -x, -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 testspython -m pytest tests/ -v
# Run with coveragepython -m pytest tests/ --cov=src --cov-report=html

Project Structure

fastbcp-mcp/  src/    __init__.py    server.py          # MCP server (tool definitions, handlers)    fastbcp.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. FastBCP itself is a separate product from Arpe.io.

Related Links

來源:README.md,提交 0b63a99

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.5最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分