项目简介

SourceSage MCP 是一个 MCP 服务器,它能够扫描项目目录,并以 Markdown 格式生成项目目录结构的概览文档。这个文档不仅展示了清晰的目录树,还能够自动提取并包含项目文件中代码内容,方便用户快速了解项目结构和代码概况。SourceSage 通过 Model Context Protocol (MCP) 与客户端通信,提供结构化和标准化的项目信息。

主要功能点

  • 目录结构可视化: 以美观的 Markdown 树形结构展示项目目录。
  • 文件内容文档: 自动提取项目文件中代码内容,并以代码块形式包含在文档中,支持语法高亮。
  • 灵活的排除规则: 支持 '.SourceSageignore' 文件,允许用户自定义需要排除扫描的文件和目录。
  • MCP 服务器: 基于 Model Context Protocol 构建,可以通过 MCP 客户端进行调用和管理。
  • 工具集成: 提供 'generate_structure' 工具,通过 MCP 协议调用即可生成项目结构文档。

安装步骤

  1. 通过 npm 安装 (推荐)

    打开终端,运行以下命令全局安装 SourceSage MCP 服务器:

    npm install -g @sunwood-ai-labs/source-sage-mcp-server
  2. 从源代码构建

    如果你希望从源代码构建,请按照以下步骤操作:

    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();

使用步骤总结:

  1. 确保 MCP 客户端已正确配置并连接到 'source-sage' MCP 服务器。
  2. 使用 MCP 客户端调用 'source-sage' 服务器的 'generate_structure' 工具。
  3. 在调用 'generate_structure' 工具时,提供要分析的项目目录的绝对路径作为 'path' 参数。
  4. (可选)可以提供自定义 '.SourceSageignore' 文件的绝对路径作为 'ignorePath' 参数,以指定额外的排除规则。
  5. 从 MCP 服务器的响应中获取生成的 Markdown 格式的项目目录文档。

通过以上步骤,你就可以使用 SourceSage MCP 服务器来快速生成项目目录结构文档,方便项目理解和代码概览。

信息

分类

开发者工具