files/find
Search a directory tree (default /) by name, type, age, or size to locate files. Read-only; skips system directories when starting at root.
Instructions
Searches a directory tree (default /) by name, type, age or size, like find. Read-only; never follows symlinks; skips /proc, /sys, /dev and /run when the search starts at / or above them (not when path is inside one). Use files/list to see one known directory and disks/usage to see which folders take the space. All filters are ANDed and none is required. There is NO result cap: path: / without a filter lists every file on the host, so give name, type or max_depth; the 30 s worker timeout applies. Syntax: name is a case-sensitive glob on the base name only (*.log, not a path); type is one of f d l b c p s or a comma list (f,d); mtime in days: +7 older than 7 days, -1 within the last day, 7 exactly 7 days; size: +100M larger, -10k smaller (units b c w k M G, rounded up); max_depth 1 = direct children, omitted or 0 = unlimited. Unreadable directories are skipped silently. Text output: one SIZE PATH line per match, sorted by path (no size for directories; empty output = no match). output_format: json returns an array of objects (path, size in bytes, type).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Glob on the file's base name only, case-sensitive, e.g. '*.log' (not a path pattern) | |
| path | No | Absolute starting directory (default /). A large tree with no filter can take longer than the 30 s worker limit | |
| size | No | '+100M' larger than 100 MiB, '-10k' smaller than 10 KiB; units b c w k M G, rounded up to the unit | |
| type | No | f file, d directory, l symlink, b, c, p, s; or a comma list such as 'f,d' | |
| mtime | No | Days since modification: '+7' older than 7 days, '-1' within the last day, '7' exactly 7 days | |
| max_depth | No | Levels below path to descend (1 = direct children); omit or 0 for unlimited | |
| privileged | No | Run as root. Needs a grant for this tool in mcp-sudo.yaml and a `paths:` entry covering the path, otherwise refused | |
| output_format | No | json (yaml, table and wide return the same JSON) gives an array of objects with path, size, type; default is text | |
| human_readable | No | Text output only: sizes like 1.5 KiB; default is bytes |