Disk Space
БесплатноНе проверенEnables checking and validating disk space usage via a single tool, reporting total, used, and available space with optional free space thresholds.
Описание
Enables checking and validating disk space usage via a single tool, reporting total, used, and available space with optional free space thresholds.
README
A small Model Context Protocol server that
reports and validates free disk space. It exposes a single read-only tool,
check_disk_space, backed by Node's fs.statfs — no shell-outs to df, no
runtime dependencies beyond the MCP SDK and Zod.
Tool: check_disk_space
Reports total / used / available space for the filesystem that contains a path, and validates it against optional free-space thresholds.
| Argument | Type | Default | Description |
|---|---|---|---|
path |
string | home directory | Any path; stats apply to the filesystem containing it. |
minFreeGb |
number | — | If available space is below this many GiB, status becomes "warning". |
minFreePercent |
number | 10 |
If available space is below this percentage, status becomes "warning". |
It returns both a human-readable text block and structuredContent:
{
"path": "/Users/you",
"totalBytes": 494384795648,
"usedBytes": 312000000000,
"freeBytes": 182000000000,
"availableBytes": 175000000000,
"usedPercent": 63.11,
"availablePercent": 35.4,
"status": "ok",
"message": "OK: 163 GiB available of 460 GiB (35.4% free, 63.11% used) on /Users/you."
}
availableBytes (POSIX bavail) is the space actually usable by your user and
is the value the thresholds check; freeBytes (bfree) additionally counts
space reserved for root.
Develop
npm install
npm run build # tsc -> dist/
npm test # vitest: pure-logic unit tests + in-memory protocol tests
npm run typecheck # tsc --noEmit
npm run smoke # build first, then spawn the server and call the tool over stdio
Register with Claude Code
npm run build
claude mcp add disk-space --scope user -- node /ABSOLUTE/PATH/TO/disk-space-mcp/dist/index.js
Or add it manually to an MCP client config:
{
"mcpServers": {
"disk-space": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/disk-space-mcp/dist/index.js"]
}
}
}
Design notes
- Layered for testability.
diskSpace.tsis a pure module (byte math, thresholds, formatting) with no I/O, unit-tested in isolation.getDiskStats.tsis the thinfs.statfsadapter, injected intocreateServer()so the protocol wiring can be tested end-to-end against an in-memory transport with fabricated stats. - stdio-safe. All diagnostics go to stderr; stdout carries only JSON-RPC.
- Read-only and shell-free. The tool only reads filesystem capacity via
statfs; it never reads file contents and never invokes a shell, so there is no command-injection surface. Paths are resolved to absolute and failures (missing path, permission denied) return a cleanisErrorresult. - Unit semantics. Byte counts use
frsizewhen available (Node ≥ 24.16), falling back tobsizeon older runtimes. Sizes are formatted with binary (IEC) units — KiB / MiB / GiB.
Security
- Read-only, shell-free. The only side effect is
fs.statfs. There is nochild_process/exec/spawnanywhere, so there is no command-injection surface, andstatfsexposes filesystem capacity only — never file contents. - Input is validated at the boundary. The
pathargument is length-capped and rejected if it contains control characters (NUL, ESC, CR, …), which both neutralizesstatfs's silent null-byte truncation and prevents control/ANSI sequences from being reflected into tool output that a terminal or agent later renders.minFreeGb/minFreePercentare bounded and must be finite. - No information leak on error. Failures return a clean
isErrorresult with an errno code (e.g.ENOENT) rather than raw runtime internals; full error detail is logged to stderr only. - stdio-only. Only
StdioServerTransportis instantiated. The MCP SDK transitively pulls in an HTTP/auth stack that this server never uses; since consumers only run the stdio binary, those code paths are never reached. For a hardened install,npm ci --ignore-scriptsis safe (no runtime dependency needs an install script). CI gates production dependencies withnpm audit --omit=dev --audit-level=high.
License
MIT — see LICENSE.
Установить Disk Space в Claude Desktop, Claude Code, Cursor
unyly install disk-space-mcpСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add disk-space-mcp -- npx -y github:fjmn2001/disk-space-mcpFAQ
Disk Space MCP бесплатный?
Да, Disk Space MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Disk Space?
Нет, Disk Space работает без API-ключей и переменных окружения.
Disk Space — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Disk Space в Claude Desktop, Claude Code или Cursor?
Открой Disk Space на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Disk Space with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
