Code Merge MCP 是一个基于 Model Context Protocol (MCP) 的服务器实现,专为代码文件内容提取、合并和分析而设计。它提供了一套强大的工具,帮助大语言模型(如GPT、Claude)更有效地处理和分析代码库。
- 文件树生成:生成项目文件结构的树状视图
- 代码合并:将多个文件的内容合并为单一输出
- 代码分析:提供代码统计信息,如行数和函数数量
- 智能过滤:支持 .gitignore 规则和自定义黑名单
本项目基于 Model Context Protocol (MCP) SDK 构建,使用 Node.js 实现。主要组件包括:
- MCP 服务器:处理客户端请求并提供工具功能
- 工具模块:实现各种代码处理功能
- 核心库:提供文件系统操作和过滤功能
生成项目文件结构的树状视图,支持多种过滤选项。
参数:
path
:目标目录路径use_gitignore
:是否使用 .gitignore 规则(可选)ignore_git
:是否忽略 .git 目录(可选)custom_blacklist
:自定义黑名单项目(可选)
示例输出:
project/
├── src/
│ ├── main.js
│ └── utils/
│ └── helper.js
├── tests/
│ └── test.js
└── README.md
将多个文件的内容合并为单一输出,适合准备用于大语言模型的代码分析。
参数:
path
:目标文件或目录路径compress
:是否压缩输出(可选)use_gitignore
:是否使用 .gitignore 规则(可选)ignore_git
:是否忽略 .git 目录(可选)custom_blacklist
:自定义黑名单项目(可选)
输出:包含合并后的文件内容和统计信息
分析代码文件并提供统计信息,如行数和函数数量。
参数:
path
:目标文件或目录路径language
:可选的语言过滤器countLines
:是否统计代码行数countFunctions
:是否统计函数数量
输出:包含代码分析结果的统计信息
- Node.js (v16.x 或更高版本推荐)
- npm (通常随 Node.js 一起安装)
# 克隆仓库
git clone https://github.com/yourusername/code-merge-mcp.git
cd code-merge-mcp
# 安装依赖
npm install
在 VS Code 的 mcp_settings.json 中添加:
{
"mcpServers": {
"code-merge": {
"command": "node",
"args": [
"<项目完整路径>/src/main.js"
],
}
}
}
将 <项目完整路径>
替换为实际路径,例如 C:\Users\username\code-merge-mcp
。
code-merge-mcp/
├── bin/ # 可执行文件目录
│ ├── cli.js # 命令行入口点
│ └── mcp-server.js # MCP服务器入口点
├── src/
│ ├── core/ # 核心功能模块
│ │ ├── compressor.js # 内容压缩
│ │ ├── file-lister.js # 文件列表生成
│ │ ├── file-reader.js # 文件读取
│ │ └── filter.js # 文件过滤
│ ├── tools/ # 工具实现
│ │ ├── analyze_code.js # 代码分析工具
│ │ ├── get_file_tree.js # 文件树生成工具
│ │ └── merge_content.js # 内容合并工具
│ ├── main.js # 主入口点
│ └── mcp-server.js # MCP 服务器实现
├── package.json # 项目配置
└── README.md # 项目文档
欢迎提交 Issue 和 Pull Request 来改进这个工具。在提交代码前,请确保:
- 代码符合项目的编码规范
- 添加适当的测试用例
- 更新相关文档
MIT License
本项目基于 TownBoats/codeMerge 开发,感谢原作者的贡献。