list_drives
Read onlyShow every drive with total, used and free space. Start here to see which drive is filling up.
diskscout-mcp lets your AI assistant scan drives, rank the biggest folders and files, and clear safe-to-delete caches. You approve every change.
git clone https://github.com/ToxinNozaki/diskscout-mcp.git && cd diskscout-mcp && npm installIllustrative example of what a scan surfaces. Numbers are made up.
Disk analyzers are built for people to look at. This one is built for an assistant to call, so you can just ask.
A parallel scanner measures a folder or whole drive and keeps the result in memory. Follow up questions are instant.
Biggest folders with their share of the total, biggest files, and filters for file type, age and size. No guessing.
Known cache locations come with risk levels. Every change is a dry run first, and protected locations are refused in code.
Illustrative conversation.
Requires Node.js 22 or newer. Windows, macOS and Linux.
git clone https://github.com/ToxinNozaki/diskscout-mcp.git
cd diskscout-mcp
npm install
npm install also builds the server. Run npm test if you want to verify it.
{
"mcpServers": {
"diskscout": {
"command": "node",
"args": ["C:\\path\\to\\diskscout-mcp\\dist\\src\\index.js"]
}
}
}
Add to %APPDATA%\Claude\claude_desktop_config.json and restart.
claude mcp add diskscout -- node C:\path\to\diskscout-mcp\dist\src\index.js
Other clients: run node dist/src/index.js. It speaks MCP over stdio.
Try: "Scan my C drive and tell me what is using the most space."
15 tools. This reference is generated from the code, so it always matches the server.
list_drivesShow every drive with total, used and free space. Start here to see which drive is filling up.
scan_folderScan a folder or whole drive and remember the result so other tools answer instantly. Large drives can take a few minutes. The call waits up to wait_seconds, then reports progress. Call it again with the same path to keep waiting or to read the result. Read only.
path string requiredwait_seconds integer default 30rescan boolean default falseengine string default "auto"top_foldersList the biggest folders inside a scanned path, largest first, with each folder's share of the total. Needs a finished scan that covers the path. Read only.
path string requireddepth integer default 1limit integer default 25min_size_mb number default 0top_filesList the largest files in a scanned path, optionally filtered by extension, age or minimum size. Only the 5000 largest files of each scan are kept, so small file filters may return fewer rows than asked. Needs a finished scan. Read only.
path string optionallimit integer default 25extensions string[] optionalolder_than_days number optionalmin_size_mb number default 0cleanup_candidatesMeasure well known places that are normally safe to clear: temp folders, browser and package manager caches, crash dumps and similar. Each result has a risk level (safe, caution, review, system) and an id. Items marked clearable can be emptied with clear_cleanup_target. Does not need a scan. Read only.
min_size_mb number default 50clear_cleanup_targetPermanently delete the contents of one clearable target from cleanup_candidates, for example user-temp or npm-cache. The folders are kept, only what is inside is removed. Files in use are skipped. Defaults to a dry run that only reports what would happen. Only ids from cleanup_candidates are accepted.
id string requireddry_run boolean default truemove_to_recycle_binSend specific files or folders to the Windows Recycle Bin. Windows only. System folders, drive roots and standard user folders are refused. Defaults to a dry run. Space is only freed after the Recycle Bin is emptied, and Windows may delete items larger than the Recycle Bin limit permanently, so check sizes first.
paths string[] requireddry_run boolean default truefind_dev_artifactsFind folders that projects can rebuild: node_modules, Python virtual environments and caches, Gradle, Next.js and similar build caches. Shows size, how long since each was touched and how to restore it. Needs a finished scan. Read only. To remove one, use move_to_recycle_bin.
path string optionalmin_size_mb number default 50older_than_days number optionallimit integer default 40find_foldersFind folders by name anywhere in a scanned path, with sizes. Names are case insensitive and may use * and ? wildcards, for example ["cache*", "temp"]. Needs a finished scan. Read only.
names string[] requiredpath string optionalmin_size_mb number default 0older_than_days number optionallimit integer default 30find_duplicatesFind identical large files among the biggest files of a scan. Files are grouped by size, then compared by content hash, so this reads file contents. Needs a finished scan. Stops after about 40 seconds and says so. Read only. Review the groups before removing any copy.
path string optionalmin_size_mb number default 10limit integer default 20save_snapshotSave the folder sizes of a finished scan to disk so a later scan can be compared against it. Keeps folders of 10 MB or more, four levels deep. Stored in ~/.diskscout/snapshots. Writes one small file, never touches your data.
path string optionalname string optionalcompare_snapshotShow which folders grew or shrank since a saved snapshot. Needs a fresh finished scan that covers the snapshot's folder. Call without a name to list saved snapshots. Read only.
name string optionalmin_change_mb number default 50limit integer default 20recycle_bin_infoShow how many items are in the Windows Recycle Bin and roughly how much space they use. Windows only. Read only.
empty_recycle_binPermanently empty the Windows Recycle Bin on all drives. Items cannot be recovered afterwards. Windows only. Defaults to a dry run that only reports what is in it. Set dry_run to false only after the user agreed.
dry_run boolean default truescan_statusList the scans held in memory with their progress, speed and age. Optionally cancel a running scan. Read only apart from cancelling.
cancel_path string optionalCleanup is where a tool like this can do harm, so the rules are enforced in code.
| Guarantee | How |
|---|---|
| Nothing changes by accident | Both cleanup tools default to a dry run. A real change needs dry_run: false. |
| System locations are untouchable | Drive roots, Windows, Program Files, the Recycle Bin, your profile folder and the standard user folders are refused, along with any folder that contains one. |
| Your files are recoverable | move_to_recycle_bin never deletes permanently. |
| Permanent deletion is narrow | clear_cleanup_target only accepts built in ids for temp folders and caches, and keeps the folders. Downloads and system files are never clearable. |
| No surprises from links | Symlinks and junctions are skipped, never followed. |
| Everything is logged | Real changes are appended to ~/.diskscout/actions.log. |
| Emptying the Recycle Bin is deliberate | empty_recycle_bin is permanent, so it defaults to a dry run and needs dry_run: false. |
| Files are only read to find duplicates | Only find_duplicates opens files, to hash them. Everything else uses names, sizes and dates. |
Use them if you like looking at a screen. This project exists so an assistant can answer "why is my drive full" and run the cleanup with you, without clicking through a GUI. They complement each other.
Online only files report their full size but take almost no local space. Scans use logical file sizes, so cloud placeholders can inflate a folder compared with space actually used on disk.
The scan runs with your user permissions. Protected system folders are counted as unreadable and their size is not included. Run your MCP client as administrator if you need them.
Only after you empty it. Windows may also delete items larger than the bin's limit permanently, so the dry run shows sizes first.
Only the duplicate finder opens files, to compare their contents. Everything else uses names, sizes and modified dates.
On Windows it uses robocopy in list mode, which reads sizes from directory listings without opening files, split across folders and run in parallel. It falls back to a standard engine if anything looks wrong. Each scan reports its engine and files per second. The scan runs in the background and reports progress, so your assistant can wait and check back.
The fast Windows engine does not list empty folders. File counts and sizes match the standard engine.