lakexpress-mcp について
lakexpress-mcpは、LakeXpressのデータベースからParquetへのエクスポート、同期管理、データレイクへの公開機能をMCPクライアントに提供します。複数のDB、ストレージ、公開先に対応し、コマンドのプレビューとワークフロー提案を備えています。
主な機能
- 0114種のサブコマンドのプレビューと検証
- 025種のソースデータベースに対応
- 036種のストレージバックエンドに対応
- 047種の公開先に対応
- 05認証ファイルの検証
- 06用途に応じたコマンドワークフローの提案
活用シーン
- 01データベースデータのParquet形式へのエクスポート
- 02同期設定とデータレイクへの公開
- 03認証ファイル内の指定auth_idの確認
MCP 対応
MCPクライアントに、LakeXpressコマンドのプレビューと確認後の実行、認証ファイルの検証、機能一覧、ワークフロー提案、バージョン照会を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx lakexpress-mcpLAKEXPRESS_PATHPath to the LakeXpress binary (optional — server runs in preview-only mode without it)LAKEXPRESS_TIMEOUTExecution timeout in seconds (default: 3600)LAKEXPRESS_LOG_DIRDirectory for execution logs (default: ./logs)FASTBCP_DIR_PATHPath to FastBCP binary directory (auto-fills fastbcp_dir_path parameter)LOG_LEVELLogging level: DEBUG, INFO, WARNING, ERROR (default: INFO)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
LakeXpress MCP Server
LakeXpress 向けの Model Context Protocol(MCP)サーバーです。同期管理とデータレイクへの公開機能を備えた、データベースから Parquet へのエクスポートツールです。
機能
- 14 個のサブコマンドに対応:ログデータベース管理、設定管理、同期の実行、ステータス確認、クリーンアップ
- 5 種類のソースデータベース:SQL Server、PostgreSQL、Oracle、MySQL、MariaDB
- 6 種類のログデータベース:SQL Server、PostgreSQL、MySQL、MariaDB、SQLite、DuckDB
- 6 種類のストレージバックエンド:ローカル、S3、S3 互換、GCS、Azure ADLS Gen2、OneLake
- 7 種類の公開先:Snowflake、Databricks、Fabric、BigQuery、MotherDuck、Glue、DuckLake
- 安全確認付きで、実行前にコマンドをプレビュー
- 認証ファイルの検証
- ユースケースに基づくワークフローの提案
インストール
pip install -e ".[dev]"
Claude Code の設定
Claude Code の MCP 設定に追加します:
{
"mcpServers": {
"lakexpress": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "/path/to/lakexpress-mcp",
"env": {
"LAKEXPRESS_PATH": "/path/to/LakeXpress",
"LAKEXPRESS_TIMEOUT": "3600",
"LAKEXPRESS_LOG_DIR": "./logs",
"FASTBCP_DIR_PATH": "/path/to/FastBCP/"
}
}
}
}
または、インストール済みのエントリポイントを使用します:
{
"mcpServers": {
"lakexpress": {
"command": "lakexpress-mcp",
"env": {
"LAKEXPRESS_PATH": "/path/to/LakeXpress",
"FASTBCP_DIR_PATH": "/path/to/FastBCP/"
}
}
}
}
ツール
preview_command
実行せずに、任意の LakeXpress CLI コマンドを構築してプレビューします。すべての 14 個のサブコマンドに対応し、パラメーターを完全に検証します。
execute_command
事前にプレビューしたコマンドを実行します。安全対策として confirmation: true が必要です。
validate_auth_file
認証ファイルが存在し、有効な JSON であることを検証します。必要に応じて、特定の auth_id エントリも確認します。
list_capabilities
対応しているすべてのソースデータベース、ログデータベース、ストレージバックエンド、公開先、圧縮形式、および利用可能なコマンドを一覧表示します。
suggest_workflow
ユースケース(ソース DB の種類、ストレージの保存先、任意の公開先)に基づいて、パラメーターの例とともに LakeXpress コマンドの一連の手順を提案します。
get_version
検出された LakeXpress バイナリのバージョンと機能を報告します。
ワークフローの例
# 1. Initialize the log database (first-time setup)
LakeXpress logdb init -a auth.json --log_db_auth_id export_db
# 2. Create a sync configuration
LakeXpress config create -a auth.json --log_db_auth_id export_db \
--source_db_auth_id prod_db --source_schema_name sales \
--output_dir ./exports --compression_type Zstd
# 3. Execute the sync
LakeXpress sync --sync_id <sync_id>
# 4. Check status
LakeXpress status -a auth.json --log_db_auth_id export_db --sync_id <sync_id>
環境変数
| 変数 | デフォルト | 説明 |
|---|---|---|
LAKEXPRESS_PATH | ./LakeXpress | LakeXpress バイナリへのパス |
LAKEXPRESS_TIMEOUT | 3600 | コマンド実行のタイムアウト(秒) |
LAKEXPRESS_LOG_DIR | ./logs | 実行ログのディレクトリ |
FASTBCP_DIR_PATH | (empty) | FastBCP バイナリディレクトリへのパス(fastbcp_dir_path パラメーターに自動入力) |
LOG_LEVEL | INFO | ログレベル(DEBUG、INFO、WARNING、ERROR) |
開発
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
python -m pytest tests/ -v
# Run with coverage
python -m pytest tests/ -v --cov=src --cov-report=term-missing
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。