LakeXpress MCP Server
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
Metadata
Release files for lakexpress-mcp 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lakexpress_mcp-0.1.6.tar.gz | 35.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lakexpress_mcp-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.5 kB
Release files / lakexpress_mcp-0.1.6.tar.gz
| Download URL | lakexpress_mcp-0.1.6.tar.gz |
|---|---|
| Size | 35.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1f24f48ea63ce98a924008e7b28ec7405f894fa37adaa30057679d6d8a410416
|
|
BLAKE2b-256 checksum How to use checksums |
5227a8016cd7e3874974e9e6a915cee8144cf5e0ada74b5ae4c77276e59e7454
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 16, 2026.
Transparency logRelease files / lakexpress_mcp-0.1.6-py3-none-any.whl
| Download URL | lakexpress_mcp-0.1.6-py3-none-any.whl |
|---|---|
| Size | 27.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c7bb7a919df04569e8f4384b5c3efb8b1679fa121fd52de3f73f4e0ab2783f4f
|
|
BLAKE2b-256 checksum How to use checksums |
0facfa4be8ec98be7a3ed3ff47c3b98ff7a20a9c479c3c6aeda84b1716a7ea14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 16, 2026.
Transparency log