✨ 立即理解并可视化您的代码库结构和依赖关系!✨
<!-- 添加徽章(例如,许可证、版本、构建状态) --> <!-- 添加其他徽章 -->这是一个基于TypeScript的工具,用于根据重要性对代码库中的文件进行排名,跟踪依赖关系,并提供摘要以帮助理解代码结构。
此MCP服务器分析您的代码库,根据依赖关系确定最重要的文件。它为每个文件生成重要性评分(0-10),跟踪双向依赖关系,并允许您为文件添加自定义摘要。所有这些信息都通过Cursor的模型上下文协议提供给AI工具。
🚀 增强您的代码理解能力! FileScopeMCP向您的AI助手提供见解:
🎯 文件重要性分析
🔗 依赖关系追踪
📊 可视化
📝 文件摘要
📚 多项目支持
💾 持久存储
克隆此仓库
构建项目:
构建脚本将安装所有node依赖项并为您生成mcp.json。
Windows:
build.bat
将生成的mcp.json配置复制到项目的.cursor目录中:
{
"mcpServers": {
"FileScopeMCP": {
"command": "node",
"args": ["<构建脚本设置>/mcp-server.js","--base-dir=C:/Users/admica/my/project/base"],
"transport": "stdio",
"disabled": false,
"alwaysAllow": []
}
}
}
Linux: (Cursor在Windows中,但您的项目在Linux WSL中,则将MCP放在Linux中并构建)
build.sh
{
"mcpServers": {
"FileScopeMMCP": {
"command": "wsl",
"args": ["-d", "Ubuntu-24.04", "/home/admica/FileScopeMCP/run.sh"],
"transport": "stdio",
"disabled": false,
"alwaysAllow": []
}
}
}
更新参数路径 --base-dir 到您的项目基本路径。
该工具扫描源代码中的导入语句和其他特定语言模式:
import 和 from ... import 语句import 语句和 require() 调用#include 指令use 和 mod 语句require 语句@import 指令using 指令import 语句文件根据加权公式分配重要性评分(0-10),考虑以下因素:
src/ 的文件权重更高)一个对代码库至关重要的文件(被许多文件导入)将具有更高的分数。
系统采用三阶段方法生成有效的Mermaid语法:
这确保所有图表具有有效的语法并正确渲染。HTML输出包括:
系统处理各种路径格式以确保一致的文件识别:
所有文件树数据存储在具有以下结构的JSON文件中:
MCP服务器公开以下工具:
.mmd)或带嵌入渲染的HTML最简单的方法是启用此mcp并在cursor中告诉它自行解决并使用。一旦mcp启动,它会构建初始的json树。告诉LLM为所有重要文件制作摘要,并使用mcp的set_file_summary将其添加进去。
为您的项目创建文件树:
create_file_tree(filename: "my-project.json", baseDirectory: "/path/to/project")
查找最重要的文件:
find_important_files(limit: 5, minImportance: 5)
获取特定文件的详细信息:
get_file_importance(filepath: "/path/to/project/src/main.ts")
读取文件内容以理解它:
read_file_content(filepath: "/path/to/project/src/main.ts")
为文件添加摘要:
set_file_summary(filepath: "/path/to/project/src/main.ts", summary: "主入口点,初始化应用程序,设置路由并启动服务器。")
后续检索摘要:
get_file_summary(filepath: "/path/to/project/src/main.ts")
创建基本项目结构图表:
generate_diagram(style: "directory", maxDepth: 3, outputPath: "diagrams/project-structure", outputFormat: "mmd")
生成带有依赖关系的HTML图表:
generate_diagram(style: "hybrid", maxDepth: 2, minImportance: 5, showDependencies: true, outputPath: "diagrams/important-files", outputFormat: "html")
自定义图表布局:
generate_diagram(style: "dependency", layout: { direction: "LR", nodeSpacing: 50, rankSpacing: 70 }, outputPath: "diagrams/dependencies", outputFormat: "html")
为您的项目启用文件监控:
toggle_file_watching()
检查当前文件监控状态:
get_file_watching_status()
更新文件监控配置:
update_file_watching_config(config: {
debounceMs: 500,
autoRebuildTree: true,
watchForNewFiles: true,
watchForDeleted: true,
watchForChanged: true
})
现在包含了一个测试框架(Vitest)。初步单元测试涵盖了路径规范化、glob-to-regexp转换以及特定平台的路径处理。
运行测试和检查覆盖率:
npm test
npm run coverage
.venv)和其他常见的不需要的目录。这有助于保持依赖图干净且相关。本项目根据GNU通用公共许可证v3(GPL-3.0)授权。查看LICENSE文件获取完整的许可证文本。