项目简介
SourceSage MCP 是一个 MCP 服务器,它能够扫描项目目录,并以 Markdown 格式生成项目目录结构的概览文档。这个文档不仅展示了清晰的目录树,还能够自动提取并包含项目文件中代码内容,方便用户快速了解项目结构和代码概况。SourceSage 通过 Model Context Protocol (MCP) 与客户端通信,提供结构化和标准化的项目信息。
主要功能点
- 目录结构可视化: 以美观的 Markdown 树形结构展示项目目录。
- 文件内容文档: 自动提取项目文件中代码内容,并以代码块形式包含在文档中,支持语法高亮。
- 灵活的排除规则: 支持 '.SourceSageignore' 文件,允许用户自定义需要排除扫描的文件和目录。
- MCP 服务器: 基于 Model Context Protocol 构建,可以通过 MCP 客户端进行调用和管理。
- 工具集成: 提供 'generate_structure' 工具,通过 MCP 协议调用即可生成项目结构文档。
安装步骤
-
通过 npm 安装 (推荐)
打开终端,运行以下命令全局安装 SourceSage MCP 服务器:
npm install -g @sunwood-ai-labs/source-sage-mcp-server -
从源代码构建
如果你希望从源代码构建,请按照以下步骤操作:
git clone https://github.com/Sunwood-ai-labs/source-sage-mcp-server.git cd source-sage-mcp-server npm install npm run build构建完成后,可执行文件将位于 'build' 目录下。
服务器配置
要将 SourceSage MCP 服务器配置到 MCP 客户端,你需要在客户端的 MCP 服务器配置文件中添加以下 JSON 配置。请根据你的实际安装路径修改 'args' 中的路径。
{ "mcpServers": { "source-sage": { "command": "node", "args": ["/path/to/source-sage/build/index.js"] } } }
配置参数说明:
- 'server name': 'source-sage' (MCP 服务器的名称,用于在客户端配置中引用。)
- 'command': 'node' (启动 MCP 服务器的命令,这里使用 Node.js 运行。)
- 'args': '["/path/to/source-sage/build/index.js"]' (传递给 'command' 的参数数组。这里指定了 SourceSage 服务器主程序 'index.js' 的绝对路径。你需要将 '/path/to/source-sage/build/index.js' 替换为你实际的安装路径。如果你是全局安装,可能需要找到全局 npm 包的安装目录,然后定位到 '@sunwood-ai-labs/source-sage-mcp-server/build/index.js'。如果是从源码构建,则替换为项目 'build' 目录下的 'index.js' 文件的绝对路径。)
请务必将 '/path/to/source-sage/build/index.js' 替换为 SourceSage 服务器 'index.js' 文件的真实绝对路径。
基本使用方法
配置完成后,你可以通过 MCP 客户端调用 'source-sage' 服务器提供的 'generate_structure' 工具来生成项目目录文档。
以下是一个基本的使用示例,展示了如何调用 'generate_structure' 工具,并获取生成的 Markdown 文档内容:
// 假设你已经配置好了 MCP 客户端,并且可以与 MCP 服务器通信 async function generateProjectStructure() { try { const result = await mcpClient.callTool('source-sage', 'generate_structure', { path: '/path/to/your/project', // 替换为你的项目目录的绝对路径 ignorePath: '/path/to/your/project/.SourceSageignore' // 可选:自定义 .SourceSageignore 文件的绝对路径 }); if (result && result.content && result.content[0].type === 'text') { console.log(result.content[0].text); // 打印生成的 Markdown 文档 // 你可以将 result.content[0].text 保存到 .md 文件中 } else { console.error('生成项目结构失败或返回内容格式不正确'); } } catch (error) { console.error('调用 generate_structure 工具时发生错误:', error); } } generateProjectStructure();
使用步骤总结:
- 确保 MCP 客户端已正确配置并连接到 'source-sage' MCP 服务器。
- 使用 MCP 客户端调用 'source-sage' 服务器的 'generate_structure' 工具。
- 在调用 'generate_structure' 工具时,提供要分析的项目目录的绝对路径作为 'path' 参数。
- (可选)可以提供自定义 '.SourceSageignore' 文件的绝对路径作为 'ignorePath' 参数,以指定额外的排除规则。
- 从 MCP 服务器的响应中获取生成的 Markdown 格式的项目目录文档。
通过以上步骤,你就可以使用 SourceSage MCP 服务器来快速生成项目目录结构文档,方便项目理解和代码概览。
信息
分类
开发者工具