带有MCP封装的数据转换工具包
一个小型、可投入生产的工具包,用于在SQL和JSON之间进行转换,具备严格的验证和清晰的日志记录,所有功能均通过mcp封装,以便用户可以直接在Claude Desktop中试用该服务
快速入门
使用两个MCP工具在SQL和JSON之间进行转换:
sql_file_converter → 读取.sql文件并按表生成.jsonl文件
nosql_file_converter → 读取一个.jsonl文件并生成一个单独的.sql脚本
要求
Python 3.10及以上版本
SQLite(标准库 sqlite3)
没有第三方pip依赖
(可选)Claude Desktop 或 MCP 客户端
(可选)使用Ollama运行本地大型语言模型(LLM)
设置 git clone(克隆) 切换目录 创建 Python 虚拟环境并激活:\python -m venv .venv && source .venv/bin/activate\ # Windows 系统下:\.venv\\Scripts\\activate\ 如果不存在,则创建目录:mkdir -p uploads
1) 与Claude桌面版(MCP)一起使用
前往 Claude Desktop -> 设置 -> 开发者 -> 编辑配置: ~/.claude/config.json:
{
"mcpServers": {
"data-migration": {
"command": "/Path/To/Your/Data_migration/src/.venv/bin/python",
"args": ["/Path/To/Your/Data_migration/src/mcp/stdio_entry.py"],
"env": {
"SQL2NOSQL_PATH": "/Path/To/Your/Data_migration/src/backend/manager/sql_converter_manager.py",
"SQL2NOSQL_FUNC": "convert_sql_to_nosql",
"NOSQL2SQL_PATH": "/Path/To/Your/Data_migration/src/backend/manager/nosql_converter_manager.py",
"NOSQL2SQL_FUNC": "convert_nosql_to_sql",
"SQL_FILE_CONVERTER_PATH": "/Path/To/Your/Data_migration/src/backend/manager/sql_file_converter_manager.py",
"SQL_FILE_CONVERTER_FUNC": "sql_file_to_jsonl",
"NOSQL_FILE_CONVERTER_PATH": "/Path/To/Your/Data_migration/src/backend/manager/nosql_file_converter_manager.py",
"NOSQL_FILE_CONVERTER_FUNC": "nosql_file_to_csv"
}
}
}
}启动Claude桌面版 → 工具将显示为:
sql_file_converter(参数:输入文件名,可选目标,默认选项)
nosql_file_converter(参数:输入文件名,可选输出文件名,方言,选项)
2) 与Ollama(本地大型语言模型)一起使用
启动Ollama:
ollama 服务 Ollama 拉取 llama3.1
In terminal 1: 进入 src/mcp 目录 运行 python3 stdio_entry.py
In terminal 2: 进入src/host目录 运行 python3 ollama_host.py
从这里开始,你可以通过将输入文件放入/uploads文件夹中,来调用工具,并指定将其转换为你想要的格式
示例:
使用 sql_file_converter 并传入 {"input_name":"multi_blocks.sql"}
使用 \nosql_file_converter\ 工具,配置为:\{"input_name":"sample.jsonl","output_name":"result.sql"}\
注释
将输入文件放在uploads/目录下。
验证过程严格,对于错误的扩展名或缺失的文件会快速失败:
SQL运行器仅接受.sql文件。
NoSQL runner 仅接受 .jsonl 格式。
