Skip to main content

A Model Context Protocol (MCP) server for LakeXpress, enabling database to Parquet export with sync management and data lake publishing.

Project description

LakeXpress MCP Server

PyPI License: MIT MCP Registry

A Model Context Protocol (MCP) server for LakeXpress — a database to Parquet export tool with sync management and data lake publishing.

Features

  • 14 subcommands supported: logdb management, config management, sync execution, status, and cleanup
  • 5 source databases: SQL Server, PostgreSQL, Oracle, MySQL, MariaDB
  • 6 log databases: SQL Server, PostgreSQL, MySQL, MariaDB, SQLite, DuckDB
  • 6 storage backends: Local, S3, S3-compatible, GCS, Azure ADLS Gen2, OneLake
  • 7 publish targets: Snowflake, Databricks, Fabric, BigQuery, MotherDuck, Glue, DuckLake
  • Command preview before execution with safety confirmation
  • Auth file validation
  • Workflow suggestions based on use case

Installation

pip install -e ".[dev]"

Claude Code Configuration

Add to your Claude Code MCP settings:

{
  "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/"
      }
    }
  }
}

Or using the installed entry point:

{
  "mcpServers": {
    "lakexpress": {
      "command": "lakexpress-mcp",
      "env": {
        "LAKEXPRESS_PATH": "/path/to/LakeXpress",
        "FASTBCP_DIR_PATH": "/path/to/FastBCP/"
      }
    }
  }
}

Tools

preview_command

Build and preview any LakeXpress CLI command without executing it. Supports all 14 subcommands with full parameter validation.

execute_command

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

validate_auth_file

Validate that an authentication file exists, is valid JSON, and optionally check for specific auth_id entries.

list_capabilities

List all supported source databases, log databases, storage backends, publishing targets, compression types, and available commands.

suggest_workflow

Given a use case (source DB type, storage destination, optional publish target), suggest the full sequence of LakeXpress commands with example parameters.

get_version

Report the detected LakeXpress binary version and capabilities.

Workflow Example

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

Environment Variables

Variable Default Description
LAKEXPRESS_PATH ./LakeXpress Path to the LakeXpress binary
LAKEXPRESS_TIMEOUT 3600 Command execution timeout in seconds
LAKEXPRESS_LOG_DIR ./logs Directory for execution logs
FASTBCP_DIR_PATH (empty) Path to FastBCP binary directory (auto-fills fastbcp_dir_path parameter)
LOG_LEVEL INFO Logging level (DEBUG, INFO, WARNING, ERROR)

Development

# 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

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lakexpress_mcp-0.1.6.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lakexpress_mcp-0.1.6-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file lakexpress_mcp-0.1.6.tar.gz.

File metadata

  • Download URL: lakexpress_mcp-0.1.6.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lakexpress_mcp-0.1.6.tar.gz
Algorithm Hash digest
SHA256 1f24f48ea63ce98a924008e7b28ec7405f894fa37adaa30057679d6d8a410416
MD5 0de07a1aaeaf771d26672c7db7d27da3
BLAKE2b-256 5227a8016cd7e3874974e9e6a915cee8144cf5e0ada74b5ae4c77276e59e7454

See more details on using hashes here.

Provenance

The following attestation bundles were made for lakexpress_mcp-0.1.6.tar.gz:

Publisher: publish.yml on arpe-io/lakexpress-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lakexpress_mcp-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: lakexpress_mcp-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lakexpress_mcp-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c7bb7a919df04569e8f4384b5c3efb8b1679fa121fd52de3f73f4e0ab2783f4f
MD5 e4c7b6dded6e14bd09bc14339253a06c
BLAKE2b-256 0facfa4be8ec98be7a3ed3ff47c3b98ff7a20a9c479c3c6aeda84b1716a7ea14

See more details on using hashes here.

Provenance

The following attestation bundles were made for lakexpress_mcp-0.1.6-py3-none-any.whl:

Publisher: publish.yml on arpe-io/lakexpress-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page