mcp-folder-scout
This server lets you inspect a local folder's contents by name, size, and timestamps — metadata only — to find what's there, what's stale, and what's taking space.
scan_folder: get a rollup of a folder — type breakdown, age bands, largest subfolders, and counts of excluded or protected items.list_files: list individual files filtered by age (not opened for N days), minimum size, file type/extension, or immediate subfolder, sorted by size or date.Both tools return metadata only: names, sizes, and timestamps; file contents are never read.
Protected files matching identity, legal, tax, or medical naming are marked and never suggested for deletion.
Cloud-synced folders, system folders, app bundles, and build directories are excluded, and exclusions are reported.
Scans can be refreshed to bypass a five-minute cache, with configurable depth (default 3 levels) and limits up to 100 rows.
The server cannot delete, move, or rename anything — it only reports and leaves actions to you.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-folder-scoutWhat's in my Downloads folder, and what haven't I opened in over a year?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
claude mcp add --scope user folder-scout -- uvx mcp-folder-scoutFor Claude Desktop, add this to claude_desktop_config.json and restart:
{
"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 and Python 3.10+. Works with any MCP client.
Related MCP server: disk-clean-mcp
Tools
Tool | What it does |
| Rollup of a folder: type breakdown, age bands, largest subfolders. |
| 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
Available Tools
2 toolslist_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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| limit | No | ||
| sort_by | No | size | |
| file_type | No | ||
| max_depth | No | ||
| subfolder | No | ||
| min_size_mb | No | ||
| not_opened_days | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| max_depth | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
list_files - First observed
scan_folder
TDQS
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage files and folders directly from your workspace. Read and write files, list directories, cre…
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Securely search and manage workspace context files for AI agents and teams.
Query and audit AppSheet apps in natural language via Knotrik's pre-scanned definitions.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAnalyzes file access times, duplicates, and sizes to identify rarely used files and suggest cleanup for folder restructuring.-
- AlicenseBqualityCmaintenanceEnables read-only analysis of local disk usage to identify cleanup targets by size, type, recency, and duplicates.6171MIT
- FlicenseAqualityCmaintenanceEnables real-time Windows storage analysis, deep folder scanning, safety tiering, and protected cleanup operations through natural language.41-
- AlicenseNot gradedqualityBmaintenanceEnables 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.10MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dharani0804/mcp-folder-scout'
If you have feedback or need assistance with the MCP directory API, please join our Discord server