MCP Source Tree Server

Genera una representación JSON del árbol de archivos fuente de un directorio, respetando los patrones de .gitignore.

Documentación

Servidor de Árbol de Fuentes MCP

Es un servidor MCP que genera el árbol de archivos bajo el directorio especificado. Excluye archivos o directorios específicos según los directorios que comienzan con . o las condiciones descritas en .gitignore. Al integrarlo con Claude, Claude puede verificar rápidamente la estructura del proyecto, lo que ayuda a Claude a identificar los archivos que debe editar.

Source Tree Server MCP server

Funciones

  • Obtiene el árbol de archivos bajo el directorio especificado en formato JSON
  • Excluye archivos/directorios según las condiciones de .gitignore
  • Representa la estructura de directorios como JSON jerárquico

Configuración

Requisitos

  • Python 3.10 o superior
  • uv

Instalación

# uvのインストール
$ curl -LsSf https://astral.sh/uv/install.sh | sh

$ cd /path/to/mcp-src-tree
# ライブラリのインストール
$ uv sync

Configuración en Claude for Desktop

Agregue la siguiente configuración a claude_desktop_config.json:

{
    "mcpServers": {
        "src-tree": {
            "command": "uv",
            "args": [
                "--directory",
                "/path/to/mcp-src-tree",  # このプロジェクトディレクトリの絶対パスに書き換えてください
                "run",
                "tree.py"
            ]
        }
    }
}

Ejemplo de uso con Claude

Indique el directorio raíz que está un nivel por encima de src. Si se considera .gitignore, se asume que .gitignore existe directamente bajo el directorio raíz. Funciona si se indica como /Users/xxx/GitHub/xxx/ のソースツリーを確認してください

Responderá de la siguiente manera

はい、ソースツリーを確認させていただきます。
プロジェクトの構造を確認しました。以下のような構成になっています:
src/
└── xxxx/
    ├── __init__.py
    ├── converter.py
    ├── html_converter.py
    ├── image_processor.py
    ├── toc_analyzer.py
    └── utils.py

Con esto, Claude puede verificar rápidamente la estructura del proyecto.

Exclusión de archivos

Los directorios que comienzan con . se excluyen automáticamente. Los archivos o directorios que coinciden con los patrones descritos en .gitignore se excluyen automáticamente del árbol. Por ejemplo, la siguiente configuración de .gitignore es válida:

__pycache__/
node_modules/
*.log