mcpField
F
fastbcp-mcp

fastbcp-mcp

ローカル
github.com/arpe-ioデータベース232 週間前に更新

fastbcp-mcp について

fastbcp-mcp は MCP サーバーを通じて、Claude Code などのクライアントに FastBCP のデータベースエクスポート機能を提供します。ファイルやクラウドストレージへの出力に、コマンドの事前確認、実行確認、パラメーター検証、認証情報のマスキングを加えます。

主な機能

  1. 01実行前のエクスポートコマンド確認
  2. 02実行時の確認必須化
  3. 03データベースパラメーターの検証
  4. 04複数形式へのエクスポート
  5. 05設定済みクラウドストレージへの出力
  6. 06並列処理方式の提案

活用シーン

  1. 01データベーステーブルを CSV や Parquet に出力
  2. 02エクスポートファイルを設定済みクラウドストレージへ送信
  3. 03エクスポート前に接続パラメーターを確認

MCP 対応

エクスポートのプレビューと実行、パラメーター検証、対応形式と保存先の一覧表示、並列処理方式の提案、FastBCP の機能確認ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"arpe-io-fastbcp": {
"command": "uvx",
"args": [
"fastbcp-mcp"
],
"env": {
"FASTBCP_PATH": "<FASTBCP_PATH>",
"FASTBCP_TIMEOUT": "<FASTBCP_TIMEOUT>",
"FASTBCP_LOG_DIR": "<FASTBCP_LOG_DIR>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
起動コマンドuvx fastbcp-mcp
設定が必要な環境変数
FASTBCP_PATHPath to the FastBCP binary (optional — server runs in preview-only mode without it)
FASTBCP_TIMEOUTExecution timeout in seconds (default: 1800)
FASTBCP_LOG_DIRDirectory for execution logs (default: ./logs)
LOG_LEVELLogging level: DEBUG, INFO, WARNING, ERROR (default: INFO)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypifastbcp-mcp0.1.5

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

FastBCP MCP サーバー

PyPI License: MIT MCP Registry

データベースからファイル(CSV、TSV、JSON、BSON、Parquet、XLSX、Binary)へのデータエクスポート機能を、任意のクラウドストレージの出力先とともに提供する FastBCP の機能を公開する Model Context Protocol (MCP) サーバーです。

概要

FastBCP は、データベースからファイルにデータをエクスポートする高性能な CLI ツールです。この MCP サーバーは FastBCP の機能をラップし、次の機能を提供します。

  • 安全性を最優先:実行前にコマンドをプレビューし、ユーザーの確認を必須とします
  • パスワードのマスキング:認証情報と接続文字列は、ログや出力に表示されません
  • インテリジェントな検証:データベース固有の互換性チェックを含むパラメーター検証
  • スマートな提案:並列処理方式を自動で推奨します
  • バージョン検出:機能レジストリを使用してバイナリのバージョンを自動検出します
  • 包括的なログ記録:タイムスタンプと結果を含む完全な実行ログ

MCP ツール

1. preview_export_command

FastBCP のエクスポートコマンドを作成してプレビューしますが、実行はしません。パスワードをマスキングした正確なコマンドが表示されます。必ず最初にこのツールを使用してください。

2. execute_export

事前にプレビューしたコマンドを実行します。安全対策として、confirmation: true が必要です。

3. validate_connection

ソースデータベースの接続パラメーターを検証します(パラメーターチェックのみで、実際の接続はテストしません)。

4. list_supported_formats

サポートされているすべてのソースデータベース、出力形式、ストレージの出力先を一覧表示します。

5. suggest_parallelism_method

ソースデータベースの種類とテーブルの特性に基づいて、最適な並列処理方式を推奨します。

6. get_version

検出された FastBCP バイナリのバージョン、サポートされている種類、機能フラグを報告します。

インストール

前提条件
  • Python 3.10 以降
  • FastBCP バイナリ v0.29+(Arpe.io から入手)
  • Claude Code またはその他の MCP クライアント
セットアップ
  1. このリポジトリをクローンまたはダウンロードします:

    cd /path/to/fastbcp-mcp
    
  2. Python の依存関係をインストールします:

    pip install -r requirements.txt
    
  3. 環境を設定します:

    cp .env.example .env
    # Edit .env with your FastBCP path
    
  4. Claude Code の設定に追加します(~/.claude.json):

    {
      "mcpServers": {
        "fastbcp": {
          "type": "stdio",
          "command": "python",
          "args": ["/absolute/path/to/fastbcp-mcp/src/server.py"],
          "env": {
            "FASTBCP_PATH": "/absolute/path/to/FastBCP"
          }
        }
      }
    }
    
  5. Claude Code を再起動して MCP サーバーを読み込みます。

  6. インストールを確認します:

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

設定

環境変数

.env を編集して設定します。

# 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

接続オプション

このサーバーでは、複数の方法で認証と接続を行えます。

パラメーター説明
serverホスト:ポートまたはホスト\インスタンス(connect_string または dsn を指定する場合は省略可能)
user / password標準の認証情報
trusted_authWindows の信頼済み認証
connect_string完全な接続文字列(server/user/password/dsn とは併用できません)
dsnODBC DSN 名(server/provider とは併用できません)
providerOleDB プロバイダー名
application_intentSQL Server のアプリケーションインテント(ReadOnly/ReadWrite)

出力オプション

オプションCLI フラグ説明
format--format出力形式:csv、tsv、json、bson、parquet、xlsx、binary
file_output--fileoutput出力ファイルのパス
directory--directory出力ディレクトリのパス
storage_target--storagetargetストレージ:local、s3、s3compatible、azure_blob、azure_datalake、fabric_onelake
delimiter--delimiterフィールド区切り文字(CSV/TSV)
quotes--quotes引用符
encoding--encoding出力エンコーディング
no_header--noheaderヘッダー行を省略(CSV/TSV)
decimal_separator--decimalseparator小数点記号(. または ,)
date_format--dateformat日付形式の文字列
bool_format--boolformatブール値の形式:TrueFalse、OneZero、YesNo
parquet_compression--parquetcompressionParquet の圧縮方式:None、Snappy、Gzip、Lz4、Lzo、Zstd
timestamped--timestamped出力ファイル名にタイムスタンプを追加
merge--merge並列出力ファイルをマージ

エクスポートオプション

オプションCLI フラグ説明
method--method並列処理方式
distribute_key_column--distributeKeyColumnデータ分散に使用する列
degree--degree並列処理の度合い(デフォルト:1)
load_mode--loadmode追加または切り捨て
batch_size--batchsizeエクスポート操作のバッチサイズ
map_method--mapmethod列のマッピング:Position または Name
run_id--runidログ記録用の実行 ID
data_driven_query--datadrivenqueryDataDriven 方式用のカスタム SQL
settings_file--settingsfileカスタム設定 JSON ファイル
log_level--loglevelログレベルを上書き(Information/Debug)
no_banner--nobannerバナー出力を抑制
license_path--licenseライセンスファイルのパスまたは URL
cloud_profile--cloudprofileクラウドストレージのプロファイル名

使用例

PostgreSQL から CSV へのエクスポート
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 PostgreSQL
2. Call preview_export_command with your parameters
3. Show the command with masked passwords
4. Explain what will happen
5. Ask for confirmation
6. Execute with execute_export when you approve
圧縮して Parquet にエクスポート
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.
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.
バージョンと機能の確認
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.

2 段階の安全プロセス

このサーバーでは、必須の 2 段階プロセスを実装しています。

  1. プレビュー - 必ず最初に preview_export_command を使用します
  2. 実行 - confirmation: true を指定して execute_export を使用します

最初にプレビューを行い、確認しなければ実行できません。

セキュリティ

  • パスワードと接続文字列は、すべての出力とログでマスキングされます
  • 機密性の高いフラグはマスキングされます:--sourcepassword、--sourceconnectstring、-x、-g
  • 機密性の高い設定には環境変数を使用してください
  • 実行前にコマンドを慎重に確認してください
  • 必要最小限のデータベース権限を使用してください

テスト

テストスイートを実行します。

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

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

プロジェクト構成

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

ライセンス

この MCP サーバーラッパーは現状のまま提供されます。FastBCP は Arpe.io の別製品です。

関連リンク

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。