FileScopeMCP 使用说明

项目简介

FileScopeMCP (Model Context Protocol) Server 是一个基于 TypeScript 开发的工具,旨在帮助 LLM 应用更好地理解和分析代码库。它通过扫描代码库,分析文件之间的依赖关系,并根据文件的重要程度进行排序,最终将这些信息以结构化的方式提供给 LLM 客户端,作为代码上下文信息。此外,FileScopeMCP 还支持为文件添加摘要,方便快速理解文件功能,并能生成 Mermaid 图表可视化文件关系。

主要功能点

  • 文件重要性分析:根据文件在代码库中的依赖关系和特征,自动计算并排序文件的重要性,帮助 LLM 快速定位关键文件。
  • 依赖关系跟踪:双向跟踪文件之间的依赖关系,包括本地依赖和包依赖,支持多种编程语言。
  • 文件摘要:允许用户为文件添加人工或 AI 生成的摘要,方便 LLM 快速理解文件内容概要。
  • 可视化:生成 Mermaid 格式的图表,直观展示文件依赖关系和目录结构。
  • 多项目支持:支持管理多个代码库的文件树,方便在不同项目间切换。
  • 持久化存储:所有分析数据自动保存到 JSON 文件,支持快速加载和复用。

安装步骤

  1. 克隆仓库

    git clone https://github.com/admica/FileScopeMCP.git
    cd FileScopeMCP
  2. 构建项目

    根据您的操作系统,运行相应的构建脚本:

    Windows:

    build.bat

    Linux/macOS:

    build.sh

    构建脚本会自动安装 Node.js 依赖并生成 'mcp.json' 配置文件。

  3. 配置 MCP 服务器

    将生成的 'mcp.json' 配置文件复制到您的项目的 '.cursor' 目录下。如果您的项目没有 '.cursor' 目录,请手动创建。

    '.cursor/mcp.json' 文件的内容示例如下:

    {
      "mcpServers": {
        "FileScopeMCP": {
          "command": "node",
          "args": ["yourpath/to/FileScopeMCP/dist/mcp-server.js"],
          "transport": "stdio"
        }
      }
    }

    配置参数说明:

    • '"FileScopeMCP"': MCP 服务器的名称,您可以自定义。
    • '"command"': 启动 MCP 服务器的命令,这里使用 'node' 运行 JavaScript 代码。
    • '"args"': 启动命令的参数,指向 'mcp-server.js' 文件的路径。请将 '"yourpath/to/FileScopeMCP"' 替换为您实际的 FileScopeMCP 仓库的路径。
    • '"transport"': 指定 MCP 服务器使用的传输协议,这里使用 'stdio' 标准输入输出。

基本使用方法

配置完成后,您的 MCP 客户端(如 Cursor 编辑器)应该能够自动检测到 FileScopeMCP 服务器。您可以通过客户端提供的界面或命令来调用 FileScopeMCP 提供的工具,例如:

  • 创建文件树: 'create_file_tree(filename: "my-project.json", baseDirectory: "/path/to/project")' 为指定目录创建文件树分析。
  • 查找重要文件: 'find_important_files(limit: 5, minImportance: 5)' 查找重要性评分在 5 分以上的 top 5 文件。
  • 获取文件信息: 'get_file_importance(filepath: "/path/to/project/src/main.ts")' 获取指定文件的详细信息,包括依赖关系和重要性评分。
  • 设置文件摘要: 'set_file_summary(filepath: "/path/to/project/src/main.ts", summary: "文件摘要内容")' 为指定文件添加摘要信息。
  • 生成 Mermaid 图表: 'generate_diagram(style: "dependency", outputFile: "diagram.mmd")' 生成依赖关系图,并保存到 diagram.mmd 文件。

更多工具和详细使用方法请参考仓库 README 文档和工具的描述信息。

信息

分类

开发者工具