duzenbaz
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@duzenbazpreview organizing my Downloads folder by type"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Duzen-Baz
A lightweight desktop app that brings your files, your clipboard and your eye health together under one roof. Everything stays on your computer: no internet connection is needed and there is no telemetry. Update checking is optional and off by default.
Languages: English · Turkish
Runs on Windows, macOS and Linux. Windows is the platform used day to day; macOS and Linux are built and tested automatically on every change, but have not been tried by hand yet. A few features depend on the desktop session, especially on Linux with Wayland (see Platform status).
It comes as two programs that share the same core and the same local data:
Duzen-Baz — the desktop app (installers for Windows; on macOS and Linux you build it from source, see Development)
duzenbaz-cli— a command line tool that is also an MCP server, so AI assistants such as Claude can use the same features
Modules
File Organizer
Sorts the files of a folder (default: Downloads) into subfolders by type (images, documents, videos, music, archives, programs) and, if you like, by month.
Shows a preview before moving anything; you can leave files out of the list.
Every operation can be undone with one click from the History tab. No file is ever overwritten; name clashes become
name (1).ext.Finds duplicate files by content (BLAKE3 hash) and, with your confirmation, sends the extra copies to the Recycle Bin. Nothing is deleted permanently.
Batch Renamer
Drag and drop files or folders.
Rules: date (including the photo's EXIF date taken), sequence number, prefix/suffix, find and replace, letter case.
Live preview (old name → new name). Conflicting or invalid names are flagged before anything is applied.
A rename is all-or-nothing, and the last one can be undone with one click.
Clipboard History Manager
Listens to the clipboard in the background and saves text, links and images.
A searchable popup opens with Ctrl+Shift+V (configurable). The item you pick is pasted automatically.
Pin items, give them a category and tags.
Sensitive content: copies that password managers mark as "do not keep in history" are skipped, and anything copied from programs you choose (default: KeePass, Bitwarden, 1Password, …) is never saved. You can pause recording at any time.
Data is kept only on your computer, encrypted (see Security and privacy).
Breaks and Eye Care
Configurable break reminder (default: 20 seconds every 20 minutes). It only counts while you are at the computer; being away for long enough counts as a break.
Night mode: warms the screen colour in the evening with a 30-minute fade in and out (Windows only for now).
Screen time report: today's total, an hour-by-hour chart and a weekly chart. Only durations are stored, never which programs you use.
General
Lives in the system tray; closing the window sends the app to the tray. Optionally starts with Windows.
Light / dark / system theme, Turkish and English interface (with a multi-language infrastructure), 12/24-hour clock option.
Clear error messages.
Related MCP server: macos-screen-mcp
Command line tool and MCP server
duzenbaz-cli.exe uses the same code and the same local database as the desktop app, so operations you start in one can be undone in the other. It works without the desktop app running.
duzenbaz-cli organize plan "C:\Users\me\Downloads" # preview, changes nothing
duzenbaz-cli organize apply "C:\Users\me\Downloads" --by-date # asks before moving
duzenbaz-cli organize undo <batch-id>
duzenbaz-cli organize history
duzenbaz-cli duplicates find "C:\Users\me\Pictures" --recursive
duzenbaz-cli duplicates trash "C:\Users\me\Pictures" --recursive --keep oldest # to the Recycle Bin
duzenbaz-cli rename preview "C:\Photos" --date exif --date-format %Y-%m-%d --number
duzenbaz-cli rename apply "C:\Photos" --prefix "Holiday_" --case title --yes
duzenbaz-cli rename undo <batch-id>
duzenbaz-cli clipboard list -q invoice -n 10
duzenbaz-cli clipboard get 42 > note.txt
duzenbaz-cli screen-timeCommands that change something ask for confirmation, or need
--yeswhen there is no terminal.Add
--jsonto any command for machine-readable output.--data-dir <DIR>(or theDUZENBAZ_DATA_DIRenvironment variable) uses another data folder.Run
duzenbaz-cli --helporduzenbaz-cli <command> --helpfor every option.
Using it as an MCP server
duzenbaz-cli mcp speaks the Model Context Protocol over stdio (protocol versions 2025-06-18, 2025-03-26 and 2024-11-05).
Claude Code
claude mcp add duzenbaz -- "C:\path\to\duzenbaz-cli.exe" mcp --allow-dir "C:\Users\me\Downloads"Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"duzenbaz": {
"command": "C:\\path\\to\\duzenbaz-cli.exe",
"args": ["mcp", "--allow-dir", "C:\\Users\\me\\Downloads"]
}
}
}Tools it offers:
Tool | What it does | Changes files? |
| Shows what would move into type folders | no |
| Moves the files, returns a | yes (undoable) |
| Undo / list operations | undo changes files |
| Finds groups of identical files | no |
| Keeps one file per group, others to the Recycle Bin | yes (Recycle Bin) |
| Shows old → new names, flags conflicts | no |
| Renames all files or none, returns a | yes (undoable) |
| Undo / list renames | undo changes files |
| Screen time and break statistics | no |
| Searches the clipboard history (off by default) | no |
Safety options:
Folders: tools only work inside allowed folders. By default that is your Downloads folder; use
--allow-dir <DIR>(repeatable) to allow others.--allow-any-pathremoves the restriction — use it with care, because the connected AI can then touch any file you can.--read-only: only the tools that never change anything are offered.--allow-clipboard: clipboard history may contain passwords or private text, so its tool is hidden unless you ask for it.Nothing is ever deleted permanently, every change can be undone, and the tool descriptions tell the assistant to preview first and confirm with you before applying.
Technology
Layer | Choice |
Core | Rust, split into a shared library ( |
Desktop shell | |
Interface | Svelte 5 + Tailwind CSS 4 + Vite |
Local data | SQLite ( |
Icons | Lucide (kept as SVG files in the project, so they work offline) |
Why these choices? Tauri gives a much smaller installer (about 3 MB) and lower memory use than Electron, which matters for an app that runs in the tray all day. Svelte produces less code and a smaller bundle than React and keeps things like theme and language simple.
Main Rust crates: walkdir, blake3, trash, kamadak-exif, arboard, clipboard-master, rusqlite, chacha20poly1305, keyring, clap, tauri-plugin-global-shortcut, tauri-plugin-autostart, tauri-plugin-dialog.
Installation (for users)
Download from the Releases page:
Duzen-Baz_<version>_x64-setup.exe— installs per user, no administrator rights neededDuzen-Baz_<version>_x64_tr-TR.msi— MSI packageDuzen-Baz_<version>_macos_x64.zip— macOS app (Intel build; runs on Apple Silicon through Rosetta). Unzip and dragDuzen-Baz.appto ApplicationsDuzen-Baz_<version>_amd64.deb— Linux package (Debian/Ubuntu, x86_64):sudo apt install ./Duzen-Baz_<version>_amd64.debduzenbaz-cli_<version>_linux_x64.tar.gz— the command line tool and MCP server for Linux (x86_64)duzenbaz-cli_<version>_macos_x64.tar.gz— the command line tool and MCP server for macOS (Intel build)duzenbaz-cli.exe— the command line tool and MCP server; a single portable file, no installation needed
The packages are not code-signed yet, so Windows SmartScreen may show an "unknown publisher" warning. Check the download against
SHA256SUMS.txt.
The macOS app is not signed or notarized: on first launch right-click it and choose Open. The Linux packages are x86_64 only; on ARM (for example Raspberry Pi) build from source (Development).
Development
Requirements for every system: Rust (stable) and Node.js 20+. In addition:
System | What else you need |
Windows | Visual Studio Build Tools (C++ workload) with the MSVC Rust toolchain; WebView2 (included in Windows 11) |
macOS | Xcode Command Line Tools: |
Linux (Debian/Ubuntu) |
|
For other Linux distributions use the matching packages from the Tauri prerequisites list. The Debian/Ubuntu line above is exactly what the project's CI installs.
npm install
npm run tauri dev # start the desktop app in development modeTests and checks:
cd src-tauri && cargo test --workspace # Rust unit tests (core, app, CLI/MCP)
npm run check # Svelte / TypeScript checkBuild the packages (output goes to src-tauri/target/release/bundle):
npm run tauri build # everything this system supports
npm run tauri build -- --bundles deb # or just one: deb, rpm, appimage (Linux); app, dmg (macOS); nsis, msi (Windows)System | Packages |
Windows |
|
macOS |
|
Linux |
|
Build the command line tool (output: src-tauri/target/release/duzenbaz-cli, with .exe on Windows):
cd src-tauri && cargo build --release -p duzenbaz-cliOn the first Windows build the bundler downloads the NSIS and WiX tools, and on Linux the AppImage tools (internet is only needed at build time).
Notes for macOS
The app is not signed or notarized, so Gatekeeper blocks it on first launch. Right-click the app and choose Open, or run
xattr -dr com.apple.quarantine /path/to/Duzen-Baz.apponce.Auto-paste from the clipboard popup sends Cmd+V to the app in front, which macOS only allows after you grant the app Accessibility access (System Settings > Privacy & Security). Without it the item is still copied, you just paste it yourself.
The Tauri bundler prints a warning that the identifier
com.duzenbaz.appends in.app. It is harmless; the identifier is kept so data folders stay the same on every system.
Notes for Linux
Clipboard history needs a Secret Service provider (GNOME Keyring or KWallet) to keep its encryption key. Without one the clipboard history stays off instead of storing data it could not decrypt later.
The system tray icon needs AppIndicator support. KDE and most desktops have it; GNOME needs the "AppIndicator and KStatusNotifierItem Support" extension.
The default popup shortcut is Ctrl+Alt+V here (Ctrl+Shift+V is "paste" in terminals). You can change it in the Clipboard page.
Night mode, idle detection, program detection and auto-paste use X11. They are not available in Wayland sessions, which do not let applications do these things (see the table below).
Browser shortcuts (F12, Ctrl+Shift+I, the context menu) are switched off on purpose. To debug, start the app with the DUZENBAZ_DEVTOOLS=1 environment variable, which skips the Windows-side lock.
Project structure
src/ Svelte interface
modules/ organizer, renamer, clipboard, breaks, settings
lib/ shared components, stores, i18n (tr.json, en.json)
assets/icons/ SVG icons (Lucide)
src-tauri/
src/ desktop app: Tauri commands, tray, popup windows, clipboard watcher
crates/core/ shared core, no Tauri dependency
src/organizer/ scanning, classification, duplicate detection, undo
src/renamer/ rules, EXIF, safe renaming
src/clipboard/ encrypted store, platform helpers
src/breaks/ state machine, night mode, screen time
src/db.rs, history.rs SQLite connection with versioned migrations, shared undo log
crates/cli/ duzenbaz-cli: command line and MCP serverTo add a language, add a JSON file under src/lib/i18n/ and register it in index.ts.
Security and privacy
The desktop app does not connect to the internet unless you turn on Settings → Updates; then it only asks GitHub for the latest version number (no data is sent) and verifies every update with a signature. The web view's content security policy keeps network access closed. There is no telemetry. The command line tool does not use the network. Details: docs/GUNCELLEME.md.
Clipboard data: content and tags are encrypted with ChaCha20-Poly1305 before they are written to SQLite. The key is kept in the operating system's secure store (Windows Credential Manager, macOS Keychain, Linux Secret Service), not in the database file. Metadata such as item type, size and time is not encrypted.
This is not full-file encryption (SQLCipher). Field-level encryption was chosen because SQLCipher needs an OpenSSL build on Windows.
Destination paths for file operations are recomputed in Rust rather than taken from the interface, and deletions only ever go to the Recycle Bin.
If the app crashes, night mode can leave the screen tinted; just start the app again and turn night mode off.
The MCP server restricts the folders it works in and never deletes permanently; see Safety options.
Platform status
Feature | Windows | macOS | Linux (X11) | Linux (Wayland) |
File Organizer, Batch Renamer | yes | yes | yes | yes |
Clipboard history (record, search, pin, tags) | yes | yes | yes | yes, if the compositor offers the data-control protocol |
Ignore copies from chosen programs | yes | yes | yes | no |
Skip password-manager copies automatically | yes | yes | no, use the ignore list | no |
Auto-paste from the popup | yes | yes, needs Accessibility access | yes | no |
Global popup shortcut | yes | yes | yes | mostly no (compositors block it) |
Break reminder | yes | yes | yes | yes, but always counts as active (no idle detection) |
Night mode | yes | yes | yes | no |
Command line tool and MCP server | yes | yes | yes | yes |
How this was checked: on every change a GitHub Actions workflow runs on Windows, macOS and Linux. It builds the app, runs all tests, builds the command line tool and exercises it (including an MCP handshake), packages the app (.deb on Linux, .app on macOS) and starts it to check that it keeps running. On Linux it also runs the X11 code against a virtual X server (idle time, the night-mode colour change read back from the server, injected key presses) and the encryption key against a real Secret Service (GNOME Keyring). On macOS it runs the CoreGraphics and Objective-C code (idle time, front app, night mode).
What has only been tried by hand on Windows, because it needs a real desktop session: the popup window and its global shortcut, the tray icon, auto-paste into another application, the password-manager flags, and live clipboard monitoring. Please report anything that behaves differently on your system.
Some messages produced by the shared core (for example file errors) are still in Turkish, also in the command line tool.
License
MIT © 2026 BartuAbiHD
Icons come from the Lucide project and are distributed under the ISC license; the license text is in src/assets/icons/LICENSE-lucide.txt.
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
AI tool directory MCP server, live since July 2026. Tools, agents, models, companies, services.
Related MCP Servers
- AlicenseBqualityAmaintenanceA powerful, security-hardened MCP server for intelligent file organization. Provides high-level atomic tools for organizing files into categories, detecting duplicates, extracting EXIF/ID3 metadata, scheduling automatic organization, and more — for use with Claude, Cursor, and Gemini CLI.26314 npm46MIT
- AlicenseAqualityDmaintenanceAn MCP server that lets AI assistants see your macOS desktop, capture screenshots, read browser tabs, and preview files via local macOS tools.417 npmMIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server that gives AI assistants full control over your desktop — monitor system resources, manage windows, capture screenshots, control the clipboard, launch applications, and more.MIT
- AlicenseNot gradedqualityCmaintenanceLocal-first MCP server for safely searching, reading, summarizing, tagging, deduplicating, and organizing local files with scoped access, read-only defaults, and dry-run plans.19MIT