Skip to main content
Glama

SourceSage MCP

🌟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团队

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

基于 TypeScript 的服务器,以 Markdown 格式可视化项目目录结构,自动使用语法高亮记录文件内容,并支持可定制的排除模式。

  1. 📖 概述
    1. 🎯 主要特点
      1. 🛠️ 技术栈
        1. 📂 项目结构
          1. ⚙️ TypeScript 设置
            1. ⚙️ 安装
              1. 从 npm 安装
              2. 从源代码构建
            2. 🔧 如何使用
              1. 设置为 MCP 服务器
              2. 🎮 可用工具
              3. 使用示例
              4. 输出示例
            3. 📝 .SourceSage 忽略设置
              1. 🔄 示例输出
                1. 👨‍💻开发者信息
                  1. 关键实施细节
                  2. 设置开发环境
                  3. 可用的 npm 脚本
                2. 🤝 贡献
                  1. 📄 许可证
                    1. 🔗 相关链接
                      1. 👥 维护者

                        Related MCP Servers

                        • A
                          security
                          A
                          license
                          A
                          quality
                          TypeScript-based MCP server designed to enhance code editing experiences by providing features such as hover information, code completion, and diagnostics.
                          Last updated -
                          3
                          13
                          MIT License
                          • Apple
                        • A
                          security
                          A
                          license
                          A
                          quality
                          MCP server for collecting code from files and directories into a single markdown document.
                          Last updated -
                          2
                          4
                          Python
                          MIT License
                        • -
                          security
                          F
                          license
                          -
                          quality
                          This TypeScript-based server implements a simple notes system, allowing users to create and manage text notes and generate summaries, showcasing core MCP concepts.
                          Last updated -
                          2
                          7
                          TypeScript
                          • Apple
                        • -
                          security
                          A
                          license
                          -
                          quality
                          A TypeScript-based MCP server that provides tools for making precise line-based edits to text files within allowed directories.
                          Last updated -
                          18
                          TypeScript
                          MIT License
                          • Apple

                        View all related MCP servers

                        MCP directory API

                        We provide all the information about MCP servers via our MCP API.

                        curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sunwood-ai-labs/source-sage-mcp-server'

                        If you have feedback or need assistance with the MCP directory API, please join our Discord server