Skip to main content
Glama

🌟SourceSage MCP

📖 概述

SourceSage 是一个 MCP 服务器,可以以漂亮的 markdown 格式可视化项目的目录结构。它在 TypeScript 中实现,并提供高度可定制性和灵活的排除模式功能。它还会自动记录每个文件的内容,让您更容易了解项目的全貌。

Related MCP server: Simple Files Vector Store 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) - 灵活的文件排除功能

📂 项目结构

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


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

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

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