SourceSage MCP

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) - 灵活的文件排除功能

📂 项目结构

source-sage/ ├── assets/ │ └── header.svg # プロジェクトヘッダー画像 ├── src/ │ └── index.ts # メインサーバー実装 ├── build/ # コンパイル済みJavaScriptファイル ├── .gitignore # Gitの除外設定 ├── .SourceSageignore # SourceSage固有の除外設定 ├── package.json # プロジェクト設定・依存関係 ├── README.md # プロジェクトドキュメント └── tsconfig.json # TypeScript設定

⚙️ TypeScript 设置

{ "compilerOptions": { "target": "ES2022", // 最新のECMAScript機能を活用 "module": "Node16", // Node.js 16の最新モジュールシステムを使用 "moduleResolution": "Node16", "outDir": "./build", // コンパイル済みファイルの出力先 "rootDir": "./src", // ソースファイルのルートディレクトリ "strict": true, // 厳格な型チェックを有効化 "esModuleInterop": true, // CommonJSモジュールとの相互運用性を確保 "skipLibCheck": true, // 型定義ファイルのチェックをスキップ "forceConsistentCasingInFileNames": true // ファイル名の大文字小文字を厳格に管理 } }

⚙️ 安装

从 npm 安装

npm install -g @sunwood-ai-labs/source-sage-mcp-server

从源代码构建

git clone https://github.com/sunwood-ai-labs/source-sage-mcp-server.git cd source-sage-mcp-server npm install npm run build

🔧 如何使用

设置为 MCP 服务器

  1. 将以下内容添加到您的 MCP 配置文件中:
{ "mcpServers": { "source-sage": { "command": "node", "args": ["C:/path/to/source-sage/build/index.js"] } } }

🎮 可用工具

生成结构

它为您的项目生成目录结构并提供包括文件内容在内的详细文档。

interface GenerateStructureArgs { // 構造を生成するディレクトリのパス(必須) // 必ず絶対パスで指定してください path: string; // .SourceSageignoreファイルのパス(オプション) // 指定する場合は絶対パスで指定してください ignorePath?: string; }

使用示例

// 絶対パスでの使用(推奨) const result = await mcpClient.callTool('source-sage', 'generate_structure', { path: 'C:/Users/your-name/path/to/your-project', ignorePath: 'C:/Users/your-name/path/to/your-project/.SourceSageignore' });

输出示例

实际项目结构的示例输出:

# 📁 Project: source-sage ## 🌳 ディレクトリ構造 OS: win32 Directory: C:\Users\your-name\source-sage └─ source-sage/ ├─ src/ │ └─ index.ts # MCPサーバーの主要な実装 ├─ package.json # プロジェクトの依存関係と設定 ├─ README.md # プロジェクトの詳細な説明 └─ tsconfig.json # TypeScriptのコンパイル設定

输出包括以下信息:

  • 📁 项目名称和操作系统信息
  • 🌳 目录树结构
  • 📝 每个文件的作用和描述
  • 🔍 使用 .SourceSageignore 排除不必要的文件

📝 .SourceSage 忽略设置

在项目根目录中创建一个.SourceSageignore文件,并将您想要排除的模式放入其中。默认情况下,包含以下排除模式:

# バージョン管理システム関連 .git .gitignore # キャッシュファイル __pycache__ .pytest_cache **/__pycache__/** *.pyc # ビルド・配布関連 build dist *.egg-info # 一時ファイル・出力 output output.md test_output .SourceSageAssets .SourceSageAssetsDemo # アセット *.png *.svg assets # その他 LICENSE example folder package-lock.json

🔄 示例输出

# 📁 Project: my-project ## 🌳 ディレクトリ構造 OS: win32 Directory: C:\path\to\my-project └─ my-project/ ├─ src/ │ ├─ index.ts │ └─ utils/ │ └─ helper.ts └─ package.json ## 📄 ファイル内容 ### 📝 `src/index.ts` **Type**: TypeScript Source File

👨‍💻开发者信息

关键实施细节

  • 服务器类SourceSageServer类提供 MCP 服务器的核心功能。
  • 树的构建
    • buildTree方法递归分析目录结构。
    • 正确排序和显示目录和文件
  • 文件过滤
    • 使用ignore包进行灵活的文件排除
    • 支持多种默认排除模式和自定义配置
  • 内容生成
    • 适合您的文件类型的语法突出显示
    • 根据文件类型提供附加信息
  • 异步处理
    • 使用glob包进行高效的文件扫描
    • 通过异步处理支持大型项目

设置开发环境

# リポジトリのクローン git clone https://github.com/sunwood-ai-labs/source-sage-mcp-server.git # 依存関係のインストール npm install # 開発用ビルド npm run build # 開発サーバーの起動 npm run inspector

可用的 npm 脚本

  • npm run build :编译 TypeScript 并设置执行权限
  • npm run prepare :安装期间自动构建
  • npm run watch :开发过程中自动编译
  • npm run inspector :启动 MCP 检查器

🤝 贡献

  1. Fork此存储库
  2. 创建新分支( git checkout -b feature/amazing-feature
  3. 提交您的更改( git commit -m '✨ feat: 素晴らしい機能を追加'
  4. 推送到分支( git push origin feature/amazing-feature
  5. 创建拉取请求

📄 许可证

MIT 许可证 - 有关详细信息,请参阅LICENSE文件。

🔗 相关链接

👥 维护者

  • Sunwood AI Labs团队

ID: z62lviqk5q