local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Provides project directory structure visualization, excluding Git-related files and directories through built-in .SourceSageignore patterns to prevent unnecessary Git metadata from appearing in the structure output.
Enables visualization of GitHub repositories with automatic handling of GitHub-specific files through customizable ignore patterns, while providing badges that link back to the GitHub repository's license, issues, and pull requests.
Offers Node.js project visualization with special handling for Node.js module structures and automatic documentation of Node.js-specific configuration files.
🌟SourceSage MCP
📖 概述
SourceSage 是一个 MCP 服务器,可以以漂亮的 markdown 格式可视化项目的目录结构。它在 TypeScript 中实现,并提供高度可定制性和灵活的排除模式功能。它还会自动记录每个文件的内容,让您更容易了解项目的全貌。
🎯 主要特点
- 📁 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团队
You must be authenticated.
Tools
基于 TypeScript 的服务器,以 Markdown 格式可视化项目目录结构,自动使用语法高亮记录文件内容,并支持可定制的排除模式。
- 📖 概要
- 🎯 主な特徴
- 🛠️ 技術スタック
- 📂 プロジェクト構造
- ⚙️ TypeScript設定
- ⚙️ インストール
- 🔧 使用方法
- 📝 .SourceSageignoreの設定
- 🔄 出力例
- 👨💻 開発者向け情報
- 🤝 コントリビューション
- 📄 ライセンス
- 🔗 関連リンク
- 👥 メンテナー