Lets an AI client scan developer disk usage and safely remove old package caches, Docker images, and unused node_modules.
Also known as roystondwork-dev/diskdiet
- Stars
- 0
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 0.7.1
- Last commit
- Nov 12, 2026
- License
- MIT
What is diskdiet MCP?
diskdiet lets an AI client scan developer disk usage and safely remove old package caches, Docker images, and unused node_modules.
Summary generated from the project's README
About diskdiet MCP server
Reclaiming storage space from bloated developer environments is what diskdiet enables for engineers using macOS, Linux, or Windows. By connecting this MCP server to AI clients like Claude Code, Cursor, or VS Code Copilot, you allow an assistant to diagnose and resolve "no space left on device" errors directly within your workflow. The server provides tools to scan your system for heavy usage and safely remove unnecessary files without breaking active projects.
It targets a wide range of developer tools including npm, Yarn, pnpm, Bun, pip, uv, Cargo, Go, Gradle, Maven, Playwright, Cypress, Xcode, and Docker. Unlike generic cleaners, it uses intelligent logic to identify files that have not been accessed recently, such as anything unchanged for 30 days by default. It can specifically target unused Docker images, old package caches, or forgotten node_modules and target folders while ensuring that active installations or builds are not interrupted.
What you can do with it
- 1Diagnose and fix full disksAsk your AI assistant to identify what is consuming disk space and clear it when you encounter storage errors.
- 2Clean specific package managersInstruct the AI to only remove old cache entries for specific tools like npm or Docker.
- 3Target inactive project dependenciesHave the assistant find and remove node_modules or build folders from projects you have not touched in a long time.
- 4Perform safe dry runsRequest a preview of what would be deleted to ensure no critical files are lost before committing to a cleanup.
Written from the project's README. Every use case is checked against a quote from it.
How to install diskdiet MCP
Formats verified 10 Nov 2026Install diskdiet MCP in Claude Code
$ claude mcp add diskdiet -- npx -y diskdietInstall diskdiet MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"diskdiet": {
"command": "npx",
"args": [
"-y",
"diskdiet"
]
}
}
}Install diskdiet MCP in VS Code
.vscode/mcp.json
{
"servers": {
"diskdiet": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"diskdiet"
]
}
}
}Install diskdiet MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"diskdiet": {
"command": "npx",
"args": [
"-y",
"diskdiet"
]
}
}
}Install diskdiet MCP in Codex
~/.codex/config.toml
[mcp_servers.diskdiet] command = "npx" args = ["-y", "diskdiet"]
Install diskdiet MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"diskdiet": {
"command": "npx",
"args": [
"-y",
"diskdiet"
]
}
}
}Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachableroystondwork-dev/diskdiet is public and reachablegithub.com/roystondwork-dev/diskdiet ↗Pass
- Package names this repository as its sourcediskdiet names roystondwork-dev/diskdiet as sourcenpmjs.com/package/diskdiet ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for diskdietnpmjs.com/package/diskdiet/v/0.6.3#provenance ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-11-14github.com/roystondwork-dev/diskdiet ↗Pass
- OpenSSF ScorecardOpenSSF Scorecard 7.7 / 10; weakest: Code-Review 0, Maintained 0, CII-Best-Practices 0scorecard.dev/viewer/?uri=github.com/roystondwork-dev/diskdi ↗Pass
- Package name not close to a popular packageNo popular package one edit away from diskdietPass
- No critical advisory in the package or its dependenciesthe package checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNot checked
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHub📖 Documentation: https://roystondwork-dev.github.io/diskdiet/ (install · disk full? · what it cleans)
Why
Package managers never forget. After a year of npm install, the npm cache alone
can pass 40 GB, and Docker images, the pnpm store and old projects' node_modules
add more. Most cleaners either wipe everything, so your next installs crawl, or only
handle one tool.
diskdiet shows the whole picture first, then removes only what you haven't used lately: by default, anything unchanged for 30 days.
Desktop app
Prefer clicking? The diskdiet app shows the same breakdown in a window: how much
can be freed, a bar for every cache, and the node_modules of each project you
haven't touched, which you can untick to keep. Pick an age (7, 30 or 90 days, or
everything), review the list, and free it in one click.
It also stays in your menu bar (or system tray) after you close the window, checks
every few hours, and notifies you when more than 10 GB could be freed. If you want, it
can clean old package-cache entries automatically every day or week, but never
node_modules or Docker (details).
Download it from the latest release:
| OS | File |
|---|---|
| macOS (Apple silicon and Intel) | diskdiet-app_<version>_macos_universal.dmg |
| Windows | diskdiet-app_<version>_windows_amd64_setup.exe (installs for your user, no admin needed) |
| Linux | diskdiet-app_<version>_linux_x86_64.AppImage |
The app isn't signed by Apple or Microsoft yet, so the first launch needs one extra step (details):
- macOS: open the app once, then go to System Settings → Privacy & Security and click Open Anyway.
- Windows: on the SmartScreen warning, click More info → Run anyway.
- Linux:
chmod +x diskdiet-app_*.AppImageand run it.
VS Code
The diskdiet extension adds a Disk space view, a status bar item that appears when
a lot can be freed, and a Free Disk Space… command. When a command in the terminal
fails with "no space left on device", it offers to free space right there
(details). Search diskdiet in the Extensions view, or install the
.vsix from the latest release.
AI assistants (MCP)
Let Claude Code, Cursor, VS Code Copilot and other assistants see what is using disk space and free it when you ask:
claude mcp add diskdiet -- diskdiet mcp
scan_disk_usage changes nothing; free_disk_space removes only what the scan
showed, for the sources you choose, and asks you to confirm
(details).
Claude Code plugin
The plugin adds the MCP tools and a skill that tells Claude when to use them, so "my disk is full" or "no space left on device" gets diagnosed and fixed in the conversation, asking before anything is removed:
/plugin install diskdiet --marketplace roystondwork-dev/diskdiet
Usage
diskdiet # scan: what's using space, what can go (changes nothing)
diskdiet clean # free what's older than 30 days, after showing the list
diskdiet clean --older-than 7d # be more aggressive
diskdiet clean --only npm,docker # just these
diskdiet clean --skip node_modules
diskdiet clean --all --dry-run # what removing everything would free
diskdiet scan --projects ~/code # look for node_modules only under ~/code
diskdiet scan --json # for scripts
| Flag | |
|---|---|
--older-than 30d |
What counts as old: 12h, 7d, 2w… |
--all |
Everything, whatever its age |
--only, --skip |
npm, yarn, pnpm, bun, pip, uv, cargo, go, gradle, maven, playwright, cypress, xcode, docker, node_modules, target |
--projects DIR |
Where to look for node_modules (repeatable; default: your home folder) |
-n, --dry-run |
Show what clean would remove, remove nothing |
-y, --yes |
Don't ask (for scripts and CI) |
--volumes |
Also remove unused Docker volumes |
--force |
Clean even while a package manager is installing |
--keep DIR |
Leave this node_modules or target folder alone (repeatable) |
--json |
Machine-readable output |
What it cleans, and how
| Where | What clean removes |
|
|---|---|---|
| npm | ~/.npm (or npm config get cache) |
Cached packages and metadata older than the cutoff; old npx installs and logs. Content another, newer entry still uses is kept. |
| Yarn | Yarn 1 cache, Yarn 2+ global cache | Package folders and zips older than the cutoff |
| pnpm | pnpm store path |
Packages no project uses, via pnpm store prune; old metadata |
| Bun | ~/.bun/install/cache |
Package folders older than the cutoff |
| pip | pip cache (PIP_CACHE_DIR) |
Cached downloads and built wheels older than the cutoff |
| uv | uv cache dir |
The whole cache via uv cache clean, only with --all (uv's entries depend on each other) |
| Cargo | ~/.cargo (CARGO_HOME) |
Downloaded .crate files, unpacked sources and git checkouts older than the cutoff |
| Go | GOCACHE, GOMODCACHE |
Build cache entries not used for the cutoff (Go records their last use); module versions downloaded before it |
| Gradle | ~/.gradle (GRADLE_USER_HOME) |
Downloaded Gradle distributions and per-version caches and logs older than the cutoff; Gradle manages its shared dependency cache itself |
| Maven | ~/.m2/repository |
Artifact versions downloaded before the cutoff |
| Playwright | ms-playwright cache |
Older browser revisions; the newest of each browser always stays |
| Cypress | Cypress cache | Older Cypress versions; the newest always stays |
| Xcode (macOS) | ~/Library/Developer/Xcode |
DerivedData and iOS/watchOS/tvOS DeviceSupport older than the cutoff; never Archives |
| Docker | your current docker context | Unused images, stopped containers and build cache older than the cutoff; volumes only with --volumes (details) |
| node_modules | projects under your home folder | node_modules of projects where nothing has changed for the cutoff |
| target | Rust (Cargo.toml) and Maven (pom.xml) projects under your home folder |
Their target build folders, for projects where nothing has changed for the cutoff |
Anything removed from a cache is downloaded again the next time a project needs it.
A removed node_modules comes back with npm install (or yarn, pnpm i, bun i).
Safety
- Scan first, always.
cleanshows exactly what it will remove and asks before removing anything. What it removes is what it showed you. - Never outside a cache. Every removal is checked to be inside the cache folder it belongs to; symlinks are never followed.
- The tool's own command where there is one. pnpm and Docker decide what is unused, so nothing a project or a running container needs goes away.
- Not under a running install or build. If
npm install,pnpm add,yarn,cargo build,go test, a Gradle or Maven build or similar is running, diskdiet skips that cache (--forceoverrides). A runningnpm run devor an idle Gradle daemon doesn't count. - Volumes stay unless you add
--volumes.
Install
# npm (any OS): run it without installing
npx diskdiet
# PyPI (any OS)
pipx install diskdiet # or: uv tool install diskdiet
# Go 1.26+
go install github.com/roystondwork-dev/diskdiet/cmd/diskdiet@latest
# Homebrew (macOS, Linux)
brew install roystondwork-dev/tap/diskdiet
# Scoop (Windows)
scoop bucket add roystondwork-dev https://github.com/roystondwork-dev/scoop-bucket
scoop install diskdiet
# winget (Windows)
winget install roystondwork-dev.diskdiet
Archives, .deb, .rpm and .apk packages for amd64 and arm64 are on the
releases page. The checksum file
is signed with cosign (keyless) and releases include SBOMs and build provenance
(how to verify).
Demo mode
DISKDIET_DEMO=1 diskdiet (or the app started with DISKDIET_DEMO=1) shows made-up
caches and removes nothing: for trying diskdiet, screenshots and recordings.
Exit codes
| Code | Meaning |
|---|---|
| 0 | Success (including "nothing to free" and answering no) |
| 1 | Error |
| 2 | Wrong usage, such as an unknown flag or source |
| 3 | clean finished, but some items could not be removed |
Roadmap
v0.2: a desktop app for macOS, Windows and Linuxv0.3: a menu bar / tray icon that warns when caches grow, with optional scheduled pruningv0.4: pip, uv, Cargo, Go, Gradle, Maven, Playwright, Cypress, Xcode, target foldersv0.5: an MCP server for AI assistantsv0.6: a VS Code extension, npm and PyPI packages, the MCP Registry, a Claude Code plugin, winget, demo mode
Ideas and bug reports are welcome in issues.
Contributing
See CONTRIBUTING.md, GOVERNANCE.md and SUPPORT.md. Please follow the Code of Conduct and report vulnerabilities privately as described in SECURITY.md. diskdiet collects no data (privacy).
License
MIT © 2026 Royston D and diskdiet contributors
diskdiet MCP questions
How do I add diskdiet MCP to Claude Code?
Run claude mcp add diskdiet -- npx -y diskdiet in your terminal. Add --scope user to make it available in every project.
How do I add diskdiet MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
How does the MCP server work with AI assistants?
The server provides tools that allow assistants like Claude Code or Cursor to see what is using disk space and free it upon request.
Is it safe to use diskdiet to free space?
Yes, it scans first and asks for confirmation before removing anything, and it ensures removals stay within designated cache folders.
What happens to my projects after cleaning?
Anything removed from a cache is downloaded again when needed, and removed node_modules can be restored with a standard install command.