agent-file-organiser
🗂️ Agent File Organizer
An intelligent, safety-first, cross-platform file organizer for Windows, macOS, and Linux.
Organize your Downloads, Documents, Pictures, Videos, and Music folders with one command — or let your AI agent do it for you. Works with Windows File Explorer, macOS Finder, and Linux file managers (Nautilus, Dolphin, Thunar, etc.) without any plugins or special setup.
💡 No AI agent? No problem. The CLI works completely offline with no internet connection, no API keys, and no AI agent required. The intelligence is built in.
✨ What Makes It Smart
Unlike tools that blindly sort by file extension, Agent File Organizer uses content-aware heuristics:
📸 Smart Photos — Tells apart screenshots, camera shots (via EXIF), and scanned receipts
🎵 Music Hierarchy — Sorts by
Artist / Albumusing ID3 tags or filename patterns🎥 Video Classification — Separates screen recordings (OBS, Zoom) from regular videos
🎮 Game Mod Detection — Identifies Minecraft mod
.jarfiles and keeps them separate from regular apps🔒 Always Safe — Dry-run preview before anything moves, full undo support, no silent overwrites
Related MCP server: Organizer MCP Server
📦 Install
Via pip (works offline, no agent needed)
pip install agent-file-organizer👉 pypi.org/project/agent-file-organizer
Via Smithery (for AI agent MCP setup)
Smithery auto-installs and configures the MCP server for your agent — no manual JSON editing needed.
# Claude Code / Claude Desktop
npx -y @smithery/cli install michaelattah80/file-organizer --client claude
# Cursor
npx -y @smithery/cli install michaelattah80/file-organizer --client cursor
# Codex
npx -y @smithery/cli install michaelattah80/file-organizer --client codex👉 smithery.ai/server/michaelattah80/file-organizer
Via GitHub (for the Agent Skill)
git clone https://github.com/NerdBlaq/agent-file-organizer.gitOr download as ZIP — no git required.
🚀 3 Ways to Use
1. 💻 CLI — Offline, No Agent Required
After pip install agent-file-organizer, run these commands directly in your terminal:
Scan and preview (nothing moves yet):
file-organizer scan --targets ~/Downloads --output /tmp/plan.jsonApply the plan:
file-organizer apply --plan /tmp/plan.jsonUndo any past run:
file-organizer undo ~/.file-organizer/logs/moves-<timestamp>.logVerify a recovery actually completed (v1.1.2):
file-organizer verify ~/.file-organizer/logs/moves-<timestamp>.logChecks the real filesystem state against the log — run this before trusting that an undo (or any manual recovery) actually worked, not a one-off search.
Record what happened and why (v1.1.3):
file-organizer log-session --event confirmed --confirmation "yes, reorganize the games folder too"
file-organizer show-sessionsA structured record separate from the moves log — what was asked, what mode was chosen, what the user actually said to approve an action.
Detect existing folder structure first:
file-organizer detect --targets ~/Pictures ~/Videos ~/Music2. 🤖 Agent Skill — For AI Coding Assistants
Drop the skill into your agent and simply say "Organize my Downloads folder".
Agent | Install Command |
Antigravity (global) |
|
Antigravity (project) |
|
Claude Code |
|
Codex / Any agent | Copy |
Works with any agent that supports external skills, custom rules, or runbooks (Cursor, Windsurf, Aider, Devin, GitHub Copilot, etc.).
3. ⚙️ MCP Server — For AI Desktop Apps
Connect Agent File Organizer directly to Claude Desktop, ChatGPT for Desktop, Cursor, Zed, or Windsurf via the Model Context Protocol.
Easiest way — use Smithery (see Install section above).
Or configure manually — add this to your MCP settings file (claude_desktop_config.json, Cursor MCP config, etc.):
{
"mcpServers": {
"file-organizer": {
"command": "file-organizer-mcp",
"args": []
}
}
}Available MCP tools your agent can call:
Tool | What it does |
| Detects if a folder is flat, by-year, or custom-organized |
| Scans files and builds a dry-run move plan |
| Adjusts a planned destination before applying |
| Excludes a file from the plan |
| Applies moves safely with collision protection, path isolation, and Integrity Guard enforcement |
| Reverses any previous run |
| Checks a moves log against actual current filesystem state (v1.1.2) — call this before reporting a recovery as complete |
| Records what was asked, chosen, and confirmed for this run (v1.1.3) |
| Returns the recorded session log (v1.1.3) |
🛡️ Safety Guarantees
Dry-run first — nothing moves until you review and confirm the plan
Move, never delete — duplicates are flagged for your review, never auto-deleted
No silent overwrites — filename collisions get a suffix:
file (1).jpg,file (2).jpgFull undo — every move is logged and 100% reversible
Skips system files — ignores
.DS_Store,Thumbs.db,.git,.tmp,.crdownload, etc.Remembers past runs — files already organized won't be moved again
Path isolation (v1.1.2) — the base directory is derived from what was actually scanned, never silently defaulted to your home folder; a move that would cross a filesystem/drive boundary aborts before touching anything unless you explicitly allow it
Integrity Guard (v1.1.2, extended v1.1.3) — a folder is protected either because it contains
.exe/.dll/.so/.dylib/.bin/.msianywhere in its subtree, or because its own name matches a known curated-content pattern (games,my games,shaderpacks,mc extras, etc.) — extend the list withprotected_folder_names, or lock an exact path withexcludeNo self-nesting (v1.1.3) — a file already inside a folder named e.g. "Documents" won't be filed into a "Documents/Documents" duplicate just because its bucket shares that name
Verified recovery (v1.1.2) —
verifychecks a moves log against actual current filesystem state, so "restored" is a confirmed fact, not an assumptionSession logging (v1.1.3) —
log-sessionrecords what was asked, chosen, and confirmed, separate from the mechanical moves log, so an incident can be reconstructed by reading a file instead of a chat transcript
Items 7–11 were added directly in response to real incidents: a run with no explicit base moved files from an external drive onto the OS partition; a reorganize run flattened curated folders and, separately, tore apart game archives and save-data folders that had no detectable binaries; and a scan of a folder whose name matched its own destination bucket produced redundant nested folders. All are now structurally blocked rather than just documented against.
📄 License
Released under the MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Agent-first skill marketplace with USK open standard for Claude, Cursor, Gemini, Codex CLI.
Path-scoped team memories, rules and skills for Claude Code, Cursor, Codex and other MCP clients.
Git-backed platform for skills, tools, and context for AI agents
Private, portable memory and reusable skills for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceFile Organizer AI - MCP server providing AI-powered tools and automation by MEOK AI Labs6 npm54 PyPIMIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to intelligently organize files by scanning folders, detecting duplicates, suggesting meaningful names, and moving files into logical folders.MIT
- AlicenseNot gradedqualityDmaintenanceTurns Claude-style skill folders into MCP tools, resources, and prompts for discovering and using skills.5 npm1MIT
- FlicenseNot gradedqualityCmaintenanceLets AI assistants analyze and organize local directories by file type, with dry-run support and safe sorting.-