关于 lakexpress-mcp
lakexpress-mcp 将 LakeXpress 的数据库到 Parquet 导出、同步管理和数据湖发布功能提供给 MCP 客户端,适用于构建数据导出流程的团队。它覆盖多种数据库、存储后端和发布目标,并支持命令预览与工作流建议。
主要功能
- 01预览并校验 14 种子命令
- 02支持五种源数据库
- 03支持六种存储后端
- 04支持七种发布目标
- 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 服务
适用于 LakeXpress 的 Model Context Protocol (MCP) 服务。LakeXpress 是一款数据库导出为 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
根据使用场景(源数据库类型、存储目标、可选的发布目标),提供完整的 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。