MCP项目打包器
提供项目打包和提取服务的模型上下文协议(MCP)服务器。此工具允许您将整个项目结构导出为JSON格式(遵守.gitignore规则),并将其导入其他地方。
特性
- 出口服务:收集项目中的所有文件和文件夹,遵守.gitignore规范,并将其打包成结构化的JSON格式
- 导入服务:接受JSON输入并在目标目录中提取/重新创建完整的文件结构
- 智能文件处理:自动检测文本与二进制文件,并对其进行适当编码
- Gitignore支持:遵守.gitignore规则以排除不需要的文件
- 可配置的:包含/排除隐藏文件和覆盖现有文件的选项
安装
- 安装所需的依赖项:
pip install -r requirements.txt用法
作为MCP服务器
该服务器可以与任何兼容MCP的LLM工具(如GitHub Copilot)集成:
python src/mcp_server.py可用工具
1.出口工程
将项目目录结构导出为JSON格式。
参数:
project_path(必填):要导出的项目目录的路径include_hidden(可选):是否包含隐藏文件和目录(默认值:false)use_default_ignores(可选):当不存在.gitignore时是否应用默认忽略模式(默认值:true)
例子:
{
"name": "export_project",
"arguments": {
"project_path": "/path/to/your/project",
"include_hidden": false,
"use_default_ignores": true
}
}注: 如果没有 .gitignore 文件存在:
- 随着
use_default_ignores: true(默认):内置模式仍然排除常见文件/目录 - 随着
use_default_ignores: false:所有内容都将被打包(隐藏文件除外,除非include_hidden: true)
2.进口项目
将项目结构从JSON数据导入/提取到目标目录。
参数:
json_data(必填):包含项目结构数据的JSON字符串target_path(必填):提取/导入项目的路径overwrite(可选):是否覆盖现有文件(默认值:false)
例子:
{
"name": "import_project",
"arguments": {
"json_data": "{\"metadata\":{...},\"files\":{...}}",
"target_path": "/path/to/extract",
"overwrite": false
}
}测试
运行测试套件以验证功能:
python tests/test_mcp_server.pyJSON结构
导出的JSON包含:
{
"metadata": {
"export_timestamp": 1635789123.456,
"project_name": "my-project",
"project_path": "/path/to/project",
"include_hidden": false
},
"structure": [
{
"name": "README.md",
"path": "README.md",
"type": "file",
"size": 1234,
"modified": 1635789100.0
}
],
"files": {
"README.md": {
"name": "README.md",
"path": "README.md",
"size": 1234,
"modified": 1635789100.0,
"type": "text",
"content": "# My Project\n...",
"encoding": "utf-8"
}
}
}与GitHub Copilot集成
要将此MCP服务器与GitHub Copilot或其他MCP兼容工具一起使用:
- 启动MCP服务器
- 配置LLM工具以连接到MCP服务器
- 通过自然语言命令使用工具:
- “将当前项目导出为JSON” - “将此项目结构导入新目录”
支持的文件类型
- 文本文件:存储为UTF-8文本内容
- 二进制文件:编码为base64,用于安全的JSON传输
- 错误处理:无法读取的文件会记录错误信息
默认忽略模式
除了.gitignore规则外,默认情况下还会忽略这些模式:
.git/,__pycache__/,*.pyc,.pytest_cache/node_modules/,.vscode/,.idea/,*.log.env,.DS_Store,Thumbs.db,*.tmp
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
安装
- 初始化git(Windows):
跑吧 000_init.bat 文件。
- 创建虚拟环境(Windows):
跑吧 001_env.bat 文件。
- 激活虚拟环境(Windows):
跑吧 002_activate.bat 文件。
- 安装依赖项:
跑吧 003_setup.bat 文件。这将安装中列出的所有软件包 requirements.txt.
- 停用虚拟环境(Windows):
跑吧 008_deactivate.bat 文件。
用法
- 运行主应用程序(Windows):
跑吧 004_run.bat 文件。
\[提供如何使用应用程序的说明。\]
批处理文件(Windows)
此项目包括以下批处理文件,以帮助完成Windows上的常见开发任务:
000_init.bat:初始化了git,也完成了usn和pwd配置设置。001_env.bat:创建名为的虚拟环境venv.002_activate.bat:激活venv虚拟环境。003_setup.bat:安装中列出的Python包requirements.txt使用pip.004_run.bat:执行主Python脚本(main.py).005_run_test.bat:执行pytest脚本(test_main.py).005_run_code_cov.bat:执行代码覆盖率pytest脚本(test_main.py).008_deactivate.bat:停用当前活动的虚拟环境。
贡献
\[解释其他人如何为你的项目做出贡献。\]
许可证
\[指定项目许可证(如果有)。\]
