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.

🌟 Fuente Sage MCP

📖 Descripción general

SourceSage es un servidor MCP que visualiza la estructura de directorios de su proyecto en un hermoso formato Markdown. Se implementa en TypeScript y ofrece un alto grado de personalización y capacidades flexibles de exclusión de patrones. También documenta automáticamente el contenido de cada archivo, lo que facilita la comprensión del panorama general del proyecto.

🎯 Características principales

  • Salida de la estructura de directorio en formato Markdown
  • 🎨 Hermosa exhibición de estructura de árbol (arte ASCII)
  • 📝 Documentación automática del contenido del archivo (con resaltado de sintaxis específico del idioma)
  • 🔍 Patrones de exclusión flexibles (.SourceSageignore)
  • 🚀 Una implementación moderna que utiliza ES2022 y el sistema de módulos Node.js.
  • 💫 Alta confiabilidad debido a una estricta verificación de tipos

🛠️ Pila de tecnología

  • 🔷 TypeScript (objetivo ES2022)
  • SDK del protocolo de contexto de modelo (v0.6.0)
  • 🌐 Node.js (sistema de módulos Node 16)
  • 📚 glob (v11.0.0) - Coincidencia de patrones de archivos
  • Ignorar (v6.0.2): funcionalidad flexible de exclusión de archivos

📂 Estructura del proyecto

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

⚙️ Configuración de 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 // ファイル名の大文字小文字を厳格に管理 } }

⚙️ Instalación

Instalar desde npm

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

Construir desde la fuente

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

🔧 Cómo utilizar

Configuración como servidor MCP

  1. Agregue lo siguiente a su archivo de configuración MCP:
{ "mcpServers": { "source-sage": { "command": "node", "args": ["C:/path/to/source-sage/build/index.js"] } } }

🎮 Herramientas disponibles

generar_estructura

Genera una estructura de directorio para su proyecto y proporciona documentación detallada, incluido el contenido de los archivos.

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

Ejemplo de uso

// 絶対パスでの使用(推奨) 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' });

Muestra de salida

Ejemplo de salida de la estructura real del proyecto:

# 📁 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のコンパイル設定

La salida incluye la siguiente información:

  • 📁 Nombre del proyecto e información del sistema operativo
  • 🌳 Estructura del árbol de directorios
  • 📝 Rol y descripción de cada archivo
  • 🔍 Excluye archivos innecesarios con .SourceSageignore

Configuración de .SourceSageignore

Crea un archivo .SourceSageignore en la raíz de tu proyecto y coloca en él los patrones que deseas excluir. De forma predeterminada, se incluyen los siguientes patrones de exclusión:

# バージョン管理システム関連 .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

🔄 Ejemplo de salida

# 📁 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

👨‍💻 Información para desarrolladores

Detalles clave de implementación

  • Clase de servidor : SourceSageServer proporciona la funcionalidad principal del servidor MCP.
  • Edificio del árbol :
    • buildTree analiza recursivamente la estructura del directorio.
    • Ordenar y mostrar correctamente directorios y archivos
  • Filtrado de archivos :
    • Utilice el paquete ignore para la exclusión flexible de archivos
    • Admite una amplia gama de patrones de exclusión predeterminados y configuraciones personalizadas.
  • Generación de contenido :
    • Resaltado de sintaxis adecuado para su tipo de archivo
    • Proporcionar información adicional según el tipo de archivo
  • Procesamiento asincrónico :
    • Escaneo eficiente de archivos usando el paquete glob
    • Apoyo a grandes proyectos con procesamiento asincrónico

Configuración de su entorno de desarrollo

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

Scripts npm disponibles

  • npm run build : compila TypeScript y establece permisos de ejecución
  • npm run prepare : compilación automática durante la instalación
  • npm run watch : compilación automática durante el desarrollo
  • npm run inspector : Inicia el inspector MCP

🤝 Contribuciones

  1. Bifurcar este repositorio
  2. Crea una nueva rama ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m '✨ feat: 素晴らしい機能を追加' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Crear una solicitud de extracción

📄 Licencia

Licencia MIT: consulte el archivo LICENCIA para obtener más detalles.

🔗 Enlaces relacionados

👥 Mantenedores

  • Equipo de Sunwood AI Labs

ID: z62lviqk5q