使用说明
项目简介
Code Merge MCP 服务器是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在帮助大语言模型(LLM)更好地理解和处理代码库。它提供了一系列工具,可以生成项目文件结构树、合并多个代码文件内容、分析代码统计信息等,从而为LLM提供更丰富的上下文信息,提升代码相关的应用效果,例如代码理解、代码审查、代码生成等。
主要功能点
- 生成项目文件树:快速生成项目目录结构的可视化树状图,方便LLM理解项目的文件组织。
- 合并代码文件内容:将多个代码文件的内容合并成一个文本,并添加文件路径分隔符,适用于为LLM提供集中的代码上下文。
- 代码分析统计:分析代码文件,提供代码行数、函数数量等统计信息,帮助LLM快速了解代码规模和复杂度。
- 智能文件过滤:支持 '.gitignore' 规则和自定义黑名单,灵活控制需要处理的代码文件范围,排除无关文件,例如node_modules、.git等。
安装步骤
- 环境准备:确保已安装 Node.js (v16.x 或更高版本) 和 npm。
- 获取项目代码:使用 Git 克隆仓库到本地:
git clone https://github.com/yy1588133/code-merge-mcp.git cd code-merge-mcp - 安装依赖:在项目根目录下运行 npm 命令安装项目依赖:
npm install
服务器配置
MCP 服务器需要配置在 MCP 客户端中才能使用。以 VS Code 为例,需要在 'mcp_settings.json' 文件中配置服务器信息。以下是 Code Merge MCP 服务器的配置示例:
{ "mcpServers": { "code-merge": { "command": "node", "args": [ "<项目完整路径>/bin/mcp-server.js" ], "serverDisplayName": "Code Merge MCP Server", "description": "提供代码文件处理功能的MCP服务器" } } }
配置参数说明:
- 'server name' (code-merge):服务器名称,可以自定义,用于在客户端中标识和选择服务器。
- 'command' (node):启动服务器的命令,这里使用 Node.js 运行时。
- 'args' ([<项目完整路径>/bin/mcp-server.js]):启动命令的参数,指向服务器入口文件 'bin/mcp-server.js' 的绝对路径。请将 '<项目完整路径>' 替换为实际的项目本地绝对路径,例如 'C:\Users\username\code-merge-mcp' 或 '/home/username/code-merge-mcp'。
- 'serverDisplayName' (Code Merge MCP Server):在客户端界面上显示的服务器名称,方便用户识别。
- 'description' (提供代码文件处理功能的MCP服务器):服务器的简短描述,帮助用户了解服务器的功能。
注意:
- 确保 'args' 中的路径是服务器入口文件 'bin/mcp-server.js' 的绝对路径。
- MCP 客户端会通过 Stdio (标准输入输出) 与 MCP 服务器进行通信,无需额外配置端口或协议。
基本使用方法
-
启动 MCP 服务器:
- 客户端 (如 VS Code) 根据 'mcp_settings.json' 中的配置,在需要时自动启动 Code Merge MCP 服务器。
- 或者,您也可以手动在项目根目录下运行 'bin/mcp-server.js' 或 'bin/cli.js' 来启动服务器。
-
在 MCP 客户端中使用工具和 Prompt:
- 连接到 Code Merge MCP 服务器后,您可以在 MCP 客户端中找到以下工具 (Tools):
- 'get_file_tree': 生成文件树,参数包括 'path' (目录路径)、'use_gitignore' (是否使用 .gitignore)、'ignore_git' (是否忽略 .git 目录)、'custom_blacklist' (自定义黑名单)。
- 'merge_content': 合并文件内容,参数包括 'path' (文件或目录路径)、'compress' (是否压缩)、'use_gitignore'、'ignore_git'、'custom_blacklist'、'use_cache' (是否使用缓存)、'use_streams' (是否使用流处理)、'max_files' (最大文件数)。
- 'analyze_code': 代码分析,参数包括 'path' (文件或目录路径)、'language' (语言过滤器)、'countLines' (是否统计行数)、'countFunctions' (是否统计函数数)。
- 以及以下 Prompt (提示词模板):
- 'code-merge': 代码合并提示,参数 'files' (要合并的文件列表)。
- 'code-review': 代码审查提示,参数 'code' (要审查的代码)。
- 'code-explain': 代码解释提示,参数 'code' (要解释的代码)。
- 连接到 Code Merge MCP 服务器后,您可以在 MCP 客户端中找到以下工具 (Tools):
-
根据需要调用工具或使用 Prompt:
- 在 MCP 客户端中,根据您的需求选择合适的工具或 Prompt,并填写相应的参数,客户端会将请求发送到 Code Merge MCP 服务器,服务器处理后返回结果。
- 例如,您可以使用 'get_file_tree' 工具获取项目文件树,使用 'merge_content' 工具合并指定目录下的所有代码文件,或使用 'analyze_code' 工具分析代码库的代码统计信息。
通过 Code Merge MCP 服务器提供的工具和 Prompt,您可以方便地为 LLM 应用提供代码库的上下文信息和代码处理能力,提升 LLM 在代码相关任务中的性能。
信息
分类
开发者工具