🌟SourceSage MCP
📖 概述
SourceSage 是一个 MCP 服务器,可以以漂亮的 markdown 格式可视化项目的目录结构。它在 TypeScript 中实现,并提供高度可定制性和灵活的排除模式功能。它还会自动记录每个文件的内容,让您更容易了解项目的全貌。
Related MCP server: Markdown Sidecar MCP Server
🎯 主要特点
📁 Markdown 格式的目录结构输出
🎨 漂亮的树形结构显示(ASCII 艺术)
📝 文件内容的自动记录(使用特定于语言的语法突出显示)
🔍 灵活的排除模式(.SourceSageignore)
🚀 使用 ES2022 和 Node.js 模块系统的现代实现
💫 严格的类型检查确保了高可靠性
🛠️ 技术栈
🔷 TypeScript(ES2022 目标)
📦模型上下文协议 SDK(v0.6.0)
🌐 Node.js(Node 16 模块系统)
📚 glob (v11.0.0) - 文件模式匹配
🎭 ignore (v6.0.2) - 灵活的文件排除功能
📂 项目结构
⚙️ TypeScript 设置
⚙️ 安装
从 npm 安装
从源代码构建
🔧 如何使用
设置为 MCP 服务器
将以下内容添加到您的 MCP 配置文件中:
🎮 可用工具
生成结构
它为您的项目生成目录结构并提供包括文件内容在内的详细文档。
使用示例
输出示例
实际项目结构的示例输出:
输出包括以下信息:
📁 项目名称和操作系统信息
🌳 目录树结构
📝 每个文件的作用和描述
🔍 使用 .SourceSageignore 排除不必要的文件
📝 .SourceSage 忽略设置
在项目根目录中创建一个.SourceSageignore文件,并将您想要排除的模式放入其中。默认情况下,包含以下排除模式:
🔄 示例输出
👨💻开发者信息
关键实施细节
服务器类:
SourceSageServer类提供 MCP 服务器的核心功能。树的构建:
buildTree方法递归分析目录结构。正确排序和显示目录和文件
文件过滤:
使用
ignore包进行灵活的文件排除支持多种默认排除模式和自定义配置
内容生成:
适合您的文件类型的语法突出显示
根据文件类型提供附加信息
异步处理:
使用
glob包进行高效的文件扫描通过异步处理支持大型项目
设置开发环境
可用的 npm 脚本
npm run build:编译 TypeScript 并设置执行权限npm run prepare:安装期间自动构建npm run watch:开发过程中自动编译npm run inspector:启动 MCP 检查器
🤝 贡献
Fork此存储库
创建新分支(
git checkout -b feature/amazing-feature)提交您的更改(
git commit -m '✨ feat: 素晴らしい機能を追加')推送到分支(
git push origin feature/amazing-feature)创建拉取请求
📄 许可证
MIT 许可证 - 有关详细信息,请参阅LICENSE文件。
🔗 相关链接
👥 维护者
Sunwood AI Labs团队