Skip to main content
Glama
MCP Source Tree Server

MCP Source Tree Server

by owayo

MCP Source Tree Server

It is an MCP server that generates a file tree under a specified directory. It excludes certain files and directories, such as directories starting with . or conditions in .gitignore . By incorporating it into Claude, it helps Claude to quickly see the structure of the project and identify the files that Claude should edit.

function

  • Gets the file tree under the specified directory in JSON format.

  • Exclude files/directories according to .gitignore conditions

  • Represents the directory structure as hierarchical JSON

Related MCP server: MCP Git Explorer

set up

Prerequisites

  • Python 3.10 or later

  • uv

install

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

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

Claude for Desktop Settings

Add the following to claude_desktop_config.json :

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

Claude usage example

Please specify the root directory one level above src. When considering .gitignore , it is assumed that .gitignore exists directly under the root directory. It will work if you specify something like /Users/xxx/GitHub/xxx/ のソースツリーを確認してください

It responds as follows:

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

This allows Claude to quickly see the project structure.

File Exclusions

Directories beginning with . are automatically excluded. Files and directories that match a pattern in .gitignore are automatically excluded from the tree. For example, the following .gitignore configuration is valid:

__pycache__/
node_modules/
*.log

Available Tools

1 tool
get_src_treeC

Generate a file tree for the specified directory, filtering files based on .gitignore. Traverses the filesystem and generates a JSON-formatted tree structure that preserves hierarchy.

Inputs: directory (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined and distinct by default.

    Naming Consistency5/5

    A single tool inherently has perfect naming consistency, as there are no other tools to compare against. The name 'get_src_tree' follows a clear verb_noun pattern.

    Tool Count2/5

    A single tool is too few for most practical server purposes, as it severely limits functionality and flexibility. This server appears to offer only basic directory tree generation, which feels thin and under-scoped.

    Completeness2/5

    The server's domain seems to be file system or source tree operations, but with only one tool for generating a tree, there are significant gaps. Missing operations might include filtering by other criteria, updating trees, or handling file contents, making the surface incomplete for typical agent workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers