Skip to main content
Glama
dharani0804

mcp-folder-scout

by dharani0804

mcp-folder-scout

Claude に、フォルダの中身、古くなったファイル、そして容量がどこに消えたのかを尋ねてください。

このツールは、あなたのマシン上の1つのフォルダを対象に、名前・サイズ・日付を報告します。ファイルの中身を読むことはできませんし、移動や削除もできません。

> What's in my Downloads folder, and what haven't I opened in over a year?
771 files, 43.0 GB. Video is 96% of it.

Not opened in over a year: 102 files, 15.3 GB, almost all of it
video — Barclay lake (27 clips, ~12 GB) and Big (2 clips, 2.5 GB).
If those are backed up elsewhere, they're the obvious candidates.

76 files matched identity, legal, tax, or medical naming and were
excluded from the suggestions above.

インストール

claude mcp add --scope user folder-scout -- uvx mcp-folder-scout

Claude Desktop では、claude_desktop_config.json に設定を追加して、再起動してください。

{
  "mcpServers": {
    "folder-scout": {
      "command": "uvx",
      "args": ["mcp-folder-scout"]
    }
  }
}

設定ファイルは、macOS では ~/Library/Application Support/Claude/claude_desktop_config.json に、Windows では %APPDATA%\Claude\claude_desktop_config.json にあります。

uv と Python 3.10+ が必要です。どの MCP クライアントでも動作します。

Related MCP server: WinDirStat MCP Server

ツール

ツール

機能

scan_folder

フォルダの集計: 種類別の内訳、年齢層、最大サイズのサブフォルダ。

list_files

年齢・サイズ・種類・サブフォルダで絞り込んだ個々のファイル。

どちらもメタデータのみを返します。

しないこと

削除・移動・名前変更は一切できません。 コードには書き込み経路がありません。提案はあなたに届くだけで、実行するのはあなた自身が Finder 上で行います。

ファイルの中身を読むことはできません。 あなたのマシンから送信されるのは、名前・サイズ・タイムスタンプだけです。

書類の削除を提案することはありません。 本人確認書類、法定書類、納税書類、医療に関連する名前(パスポート、ビザ、W2、保険、婚姻、権利証など)に一致するファイルとフォルダは、合計に含めてマークされますが、クリーンアップ候補としては提案されません。この保護は下位にも継承されるため、Passport Renewal/ 内の scan1.pdf のようなファイルも対象です。

クラウド同期フォルダ(iCloud、Dropbox、OneDrive)は、扱うのではなくスキップします。ディスク上でのサイズとタイムスタンプがあてにならないためです。システムフォルダ、アプリのバンドル、ビルドディレクトリもスキップされます。毎回のスキャンで、何を除外したかが報告されます。

既知の制限

最終アクセス時刻は、事実ではなく手がかりです。Spotlight、バックアップ、ウイルス対策ソフトがそれを更新することがあります。また、一部のボリュームでは記録自体が停止していることもあります。このサーバーは、アクセス時刻が管理されていないことを検出すると、その旨を通知し、更新日時にフォールバックします。

「古い・未使用」という条件は、保存済みの納税記録にもゴミと同じように正確に当てはまります。それを防ぐのが保護リストですが、すべてを捕捉できるとは限りません。削除する前に目検をしてください。

APFS のクローンとハードリンクはディスク上のブロックを共有します。同じ inode を共有するファイルは1回だけ数えるため、合計が倍増することはありません。ただし、クローンの1コピーを削除しても、表示されているサイズ分の空き領域は増えない場合があります。

スキャンはデフォルトで50,000ファイルで停止し、階層は3レベルまで降下します。結果は5分間キャッシュされます。強制的に再スキャンするには refresh を渡します。

スクリーンショットの山やほぼ同じ画像の検出はまだ行われていません。完全一致の重複検出は計画中です。

ライセンス

MIT

Available Tools

2 tools
list_filesA

List individual files in a folder, filtered by age, size, type, or subfolder.

Use after scan_folder to see the actual files behind a summary line, for example the ones not opened in over a year, or the largest videos.

Each row is: age since last opened, size, and path relative to the folder. A leading asterisk marks a protected file (identity, legal, tax, or medical naming). Report those if the user asked to see them, but never put them forward as something to delete or move.

Returns metadata only. This tool never reads file contents.

path: absolute path to the folder. not_opened_days: only files untouched for at least this many days. 0 for all. min_size_mb: only files at least this large. 0 for all. file_type: one of documents, spreadsheets, images, video, audio, archives, installers, code, other. Or a bare extension such as png. Empty for all. subfolder: restrict to one immediate subfolder by name. Empty for all. sort_by: size, oldest (least recently opened), or newest. Default size. limit: rows to return, capped at 100. Default 25.

NameRequiredDescriptionDefault
pathYes
limitNo
sort_byNosize
file_typeNo
max_depthNo
subfolderNo
min_size_mbNo
not_opened_daysNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully carries the behavioral-disclosure burden, and it does so well: 'Returns metadata only. This tool never reads file contents.' It also discloses an important edge case: protected files are flagged with an asterisk and must never be suggested for deletion or moving. That is exactly the kind of behavior an agent needs to know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense without being bloated. Every block served a clear purpose: what the tool does, when to use it, row format, protected-file caveat, safety guarantee, and parameter meanings. The transition to parameters is efficient and the usage guidance is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool's output schema relieves it from covering the return shape, and the description covers the workflow context, row layout, and protected-file handling. The main completeness gap is the undocumented 'max_depth' parameter, which could affect the scope of a listing and deserves clarification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While schema description coverage is 0%, the description adds substantial semantics for most parameters: defaults, unit semantics for 'not_opened_days' and 'min_size_mb', allowed categories for 'file_type', and the cap at 100 for 'limit'. However, 'max_depth' appears in the schema but is not described at all, so the compensation is incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and a clear resource ('individual files in a folder'), then enumerates the four filters: age, size, type, and subfolder. It distinguishes itself from scan_folder by positioning itself as the drill-down step 'to see the actual files behind a summary line'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly tells the agent when to use this tool: 'Use after scan_folder to see the actual files behind a summary line.' It even gives concrete examples, such as 'the ones not opened in over a year, or the largest videos,' which makes the selection condition unambiguous relative to its sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_folderA

Summarize a folder: what dominates it, how old everything is, and where the bulk sits.

Call this first. It returns a rollup rather than a file list, so it stays cheap on folders with tens of thousands of files. Follow with list_files to see individual files matching whatever the summary suggests is worth looking at.

Two things to keep in mind. Size does not imply disposability: large media is often what the user most wants to keep, so age matters more than size. And files matching identity, legal, tax, or medical naming are counted here but marked protected; never suggest removing them.

Cloud-synced folders, system folders, app bundles, and build directories are excluded; the output reports how many were skipped.

path: absolute path to the folder, for example /Users/you/Downloads max_depth: how many levels of subfolder to descend. Default 3.

NameRequiredDescriptionDefault
pathYes
max_depthNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries full behavioral disclosure. It states the tool returns an aggregated rollup, remains cheap for large folders, skips specific folder types and reports how many were skipped, and counts protected files without exposing them as removable. This goes well beyond the input schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient, with the primary purpose captured in a single opening sentence, added guidance in short dense paragraphs, and parameter documentation at the end. Every sentence contributes a concrete behavioral or usage detail; there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and sibling list_files is named, the description provides all necessary context: when to invoke it, what to do after, what is excluded, how protected files are handled, and full parameter semantics. An agent has enough to select and invoke it correctly without further inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate fully, and it does. It explains path with a realistic example and describes max_depth as 'how many levels of subfolder to descend' along with its default, which gives an agent actionable meaning beyond the bare schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Starts with a specific verb-resource pairing, 'Summarize a folder', and names what is summarized: what dominates, how old the contents are, and where data sits. It also distinguishes itself from the sibling list_files by stating it returns a rollup rather than a file list, so an agent can tell which tool fits.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description is explicit: 'Call this first' and 'Follow with list_files' to inspect what the summary flags. It also gives rejection criteria — protected files should never be suggested for removal and certain folders are excluded — making usage boundaries and downstream actions clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 2 tool updatesv0.1.0
    • First observedlist_files
    • First observedscan_folder

TDQS

A4.9/5.0

Scored across 2 tools

Disambiguation5/5

scan_folder and list_files have cleanly distinct purposes: one summarizes the whole folder, the other enumerates specific files. They form a clear two-step workflow with no boundary ambiguity.

Naming Consistency5/5

Question: scan_folder and list_files both follow a predictable verb_noun snake_case pattern, with imperative verbs and noun objects. Naming styles are perfectly aligned across both tool names.

Tool Count4/5

Question: two tools is a bit below the typical robust set size, but for a metadata-only folder inspector the prior pair covers the two natural tasks at equal scope, so the count is reasonable.

Completeness5/5

The domain is folder inspection, and the set covers both approximate information: list_files lets you go from a summary clue to the difficult actual matching set. The two tools form a complete read-only scanning lifecycle.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables natural-language queries about disk usage by driving WizTree scans and analyzing cached CSV snapshots. Users can find large files, duplicate data, folder breakdowns, and more without repeatedly rescanning the disk.
    17
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Enables read-only analysis of local unstructured documents by scanning a folder, extracting text and structural metadata, and passing content with truncation and error-awareness to an LLM for summarization.
    9
    1
    -