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
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"
}
}
}
}
Or using the installed entry point:
{
"mcpServers": {
"lakexpress": {
"command": "lakexpress-mcp",
"env": {
"LAKEXPRESS_PATH": "/path/to/LakeXpress"
}
}
}
}
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 |
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lakexpress_mcp-0.1.0.tar.gz.
File metadata
- Download URL: lakexpress_mcp-0.1.0.tar.gz
- Upload date:
- Size: 29.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13ca52b72640a07b9e39c75e1a733888745e40a709f355956e6cc4552278f236
|
|
| MD5 |
c8c0c756b90d76007f7cad082e52d503
|
|
| BLAKE2b-256 |
2ac13ac4718acccf8f13d3c0aa5b7136231a946d8d3d20671caad6b2178281c1
|
File details
Details for the file lakexpress_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: lakexpress_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 22.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce9aa6bd77dde77dff23430bee18dce28771f53cd72454cbb8333cf71a7ad2d1
|
|
| MD5 |
f590ef737100c5b817b65cdca0829725
|
|
| BLAKE2b-256 |
8d91b6a3499cda2ffc418af130bca87ba7d36b5e8137bf128dbee0a21ed5bb6b
|