mcp-folder-scout
# mcp-folder-scout
Ask Claude what's in a folder, what's gone stale, and where the space went.
Points at one folder on your machine and reports names, sizes, and dates. It cannot read file contents, and it cannot move or delete anything.
```
> 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.
```
## Install
```bash
claude mcp add --scope user folder-scout -- uvx mcp-folder-scout
```
For Claude Desktop, add this to `claude_desktop_config.json` and restart:
```json
{
"mcpServers": {
"folder-scout": {
"command": "uvx",
"args": ["mcp-folder-scout"]
}
}
}
```
The config file lives at `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS and `%APPDATA%\Claude\claude_desktop_config.json` on Windows.
Requires [uv](https://docs.astral.sh/uv/) and Python 3.10+. Works with any MCP client.
## Tools
| Tool | What it does |
|---|---|
| `scan_folder` | Rollup of a folder: type breakdown, age bands, largest subfolders. |
| `list_files` | Individual files filtered by age, size, type, or subfolder. |
Both return metadata only.
## What it will not do
**It cannot delete, move, or rename anything.** There is no write path in the code. Suggestions go to you; you act on them yourself in Finder.
**It cannot read your files.** Only names, sizes, and timestamps leave your machine.
**It will not recommend removing your documents.** Files and folders matching identity, legal, tax, or medical naming — passport, visa, W2, insurance, marriage, deed, and others — are counted in the totals and marked, but never offered as cleanup candidates. That protection inherits downward, so a file called `scan1.pdf` inside `Passport Renewal/` is covered too.
Cloud-synced folders (iCloud, Dropbox, OneDrive) are skipped rather than handled, because their sizes and timestamps are meaningless on disk. System folders, app bundles, and build directories are skipped too. Every scan reports what it excluded.
## Known limits
Last-access time is a hint, not a fact. Spotlight, backups, and antivirus can all bump it, and some volumes stop tracking it entirely. When the server detects that access times aren't being maintained, it says so and falls back to modified dates.
Old and untouched describes archived tax records as accurately as it describes junk. That's what the protected list is for, and it will not catch everything. Review before you delete.
APFS clones and hard links share blocks on disk. Files sharing an inode are counted once, so totals don't double-count, but deleting one copy of a cloned file may free less than its listed size.
Scans stop at 50,000 files and descend three levels by default. Results are cached for five minutes; pass `refresh` to force a rescan.
Screenshot piles and near-duplicate images are not detected yet. Exact-duplicate detection is planned.
## License
MIT
mcp-name: io.github.dharani0804/mcp-folder-scout
mcp-name: io.github.dharani0804/mcp-folder-scout
TDQS
Scored across 2 tools
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.
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.
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.
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.