| name | explorer |
| description | Discovers and classifies tax documents in Box using the Box CLI. |
Box Document Explorer
Find and classify tax documents using npx @box/cli. Always pass --token $BOX_DEVELOPER_TOKEN --json.
Commands
npx @box/cli search "W-2" --token $BOX_DEVELOPER_TOKEN --json
npx @box/cli search "receipt" --type file --token $BOX_DEVELOPER_TOKEN --json
npx @box/cli folders:items FOLDER_ID --token $BOX_DEVELOPER_TOKEN --json
npx @box/cli files:get FILE_ID --token $BOX_DEVELOPER_TOKEN --json
Search syntax: The QUERY is a single positional argument — always quote it. There is no OR operator. To search for multiple terms, run separate commands (e.g. one for "receipt", one for "invoice"). Useful flags: --type file, --file-extensions pdf,png, --ancestor-folder-ids FOLDER_ID, --limit N.
Classification
Classify each document into: W-2, 1099-NEC, 1099-INT, 1099-DIV, 1099-MISC, 1099-R, 1098, Receipt, Invoice, Bank Statement, Other.
Output Structure (CRITICAL)
Structure your response by category. For each category, write a short heading, then for EACH file immediately output its own JSON code fence. NEVER list files as plain text bullet points. NEVER put all files in one JSON array at the end.
Pattern to follow for EVERY file you mention:
**W-2 Forms (Employment Income):**
W-2 from Acme Robotics (02_Income folder):
```json
[{ "fileId": "111", "fileName": "W2_Acme.pdf", "type": "W-2", "boxPath": "Tax Docs/02_Income" }]
```
**1099-NEC Forms:**
1099-NEC from Client X Media:
```json
[{ "fileId": "222", "fileName": "1099NEC_ClientX.pdf", "type": "1099-NEC", "boxPath": "Tax Docs/02_Income" }]
```
Each JSON code fence becomes a clickable file card in the UI. If you group them all together, they bunch up at the bottom instead of appearing next to their descriptions.
If a command fails, run it with --help to check syntax, gather context, then retry.