File Organizer MCP
File Organizer MCP Server
Версия 3.5.0 | MCP protocol 2024-11-05 | Node.js 18+
Сервер Model Context Protocol (MCP), который организует файлы. Он предоставляет ассистенту в стиле Claude одну атомарную операцию для категоризации, сортировки, дедупликации и переименования файлов, вместо того чтобы заставлять его выполнять цепочки из десятков примитивных вызовов read, write и rename.
Зачем
Файловый MCP-сервер, построенный только на read, write, make и delete, вынуждает ассистента планировать каждое перемещение и переименование как отдельный шаг. Каждый шаг стоит токенов, а чем больше шагов, тем больше шансов ошибиться в пути.
File Organizer MCP заменяет эти цепочки одним вызовом:
Примитивный подход | File Organizer MCP |
Много вызовов |
|
Десятки шагов рассуждений | Один шаг рассуждений |
Высокий расход токенов | Минимальный расход токенов |
Легко повредить при частичном сбое | Операции с безопасным откатом |
Related MCP server: MCP Filesystem Agent v3
Быстрый старт
Установка одной командой
npx file-organizer-mcp --setupМастер обнаруживает установленные AI-клиенты (Claude Desktop, Cursor, Windsurf, Cline и другие), настраивает их и проводит вас через выбор папок и предпочтений.
Требования
Node.js 18 или новее.
После установки
Вы можете попросить ассистента, например:
«Организуй мою папку Downloads»
«Найди дубликаты файлов в моих документах»
«Покажи мои самые большие файлы»
Способы установки
Метод | Команда | Сценарий использования |
npx |
| Эпизодическое использование или пробная версия |
Глобально |
| Регулярное использование, более быстрый запуск |
Возможности
Категоризация по 12 и более типам файлов.
Автоматическая организация по расписанию (cron) и режим наблюдения за каталогами.
Обнаружение дубликатов по SHA-256 хешу содержимого.
Извлечение метаданных: EXIF для фотографий, ID3 для аудио, извлечение темы для документов.
Умная организация, которая выбирает правильную стратегию для каждого типа файлов.
Предварительный просмотр (dry-run), атомарные перемещения и откат.
Защита от path traversal, смягчение TOCTOU и очистка метаданных.
Windows, macOS и Linux.
Инструменты
Основные инструменты
file_organizer_scan_directory— Список каталога с подробной информацией о файлах.directoryобязателен;include_subdirsвключает рекурсию.file_organizer_read_file— Чтение файла с 8-уровневой проверкой пути.pathобязателен;encoding— utf-8, base64 или binary.file_organizer_organize_smart— Обработка музыки, фотографий и документов за один проход, выбор лучшей стратегии для каждого файла.file_organizer_batch_rename— Переименование множества файлов по шаблону, регулярному выражению или нумерации.file_organizer_undo_last_operation— Отмена последней операции организации.
Полный список инструментов
file_organizer_analyze_duplicatesfile_organizer_batch_read_filesfile_organizer_categorize_by_typefile_organizer_delete_duplicatesfile_organizer_find_duplicate_filesfile_organizer_find_largest_filesfile_organizer_get_categoriesfile_organizer_inspect_metadatafile_organizer_list_filesfile_organizer_list_watchesfile_organizer_organize_by_contentfile_organizer_organize_filesfile_organizer_organize_musicfile_organizer_organize_photosfile_organizer_preview_organizationfile_organizer_read_filefile_organizer_scan_directoryfile_organizer_set_custom_rulesfile_organizer_smart_suggestfile_organizer_system_organizefile_organizer_undo_last_operationfile_organizer_unwatch_directoryfile_organizer_view_historyfile_organizer_watch_directory
Для параметров и возвращаемых значений см. API.md.
Категории файлов
Категория | Типичные расширения |
Исполняемые |
|
Видео |
|
Документы |
|
Изображения |
|
Аудио |
|
Архивы |
|
Код |
|
Примеры рабочих процессов
Очистка папки Downloads
Просканируйте папку и просмотрите распределение файлов и использование места.
Определите дубликаты и устаревшие файлы.
Предварительно просмотрите перемещения и конфликты.
Подтвердите, затем организуйте в папки по категориям.
Результат: отсортированная папка, отмеченные дубликаты и освобождённое место.
Организация проекта
Ассистент сканирует проект, разделяет файлы на Код, Ресурсы и Документы, сохраняет структуру src/ нетронутой и перемещает свободные конфигурационные файлы, readme и скриншоты в соответствующие папки.
Поиск и обработка дубликатов
Ассистент хеширует файлы, группирует дубликаты, оценивает каждую копию по расположению, качеству имени и возрасту, и рекомендует, какие оставить, а какие удалить. Он сообщает о потраченном впустую месте. Вы решаете, удалять ли.
Поиск больших файлов
Укажите папку, и он перечислит самые большие файлы по размеру, отметит старые резервные копии, которые можно заархивировать, и заметит крупные дубликаты.
Организация музыки
Он читает ID3-теги и перестраивает папку в Исполнитель / Альбом / Название.mp3.
Before:
Downloads/
song1.mp3
track02.mp3
music_file.mp3
After:
Music/
Coldplay/
A Rush of Blood to the Head/
Clocks.mp3
The Scientist.mp3
Radiohead/
OK Computer/
Paranoid Android.mp3
Karma Police.mp3Организация фотографий
Он читает дату съёмки из EXIF и сортирует фотографии в папки ГГГГ / ММ / ДД.
Before:
Pictures/
IMG_001.jpg
photo123.png
DSC_4567.raw
After:
Pictures/
2023/
12/
25/
IMG_001.jpg
31/
photo123.png
2024/
01/
15/
DSC_4567.rawПроверка папки на безопасность
Он извлекает метаданные и сигнатуры содержимого, затем отмечает чувствительные метаданные, такие как GPS-координаты EXIF в PDF или личные идентификаторы в резюме, и предлагает редактирование или карантин.
Настройка автоматической организации
Зарегистрируйте каталог с расписанием cron:
{
"directory": "/Users/john/Downloads",
"schedule": "0 9 * * *",
"min_file_age_minutes": 5
}Сервер организует папку по этому расписанию. Добавьте больше наблюдений для других каталогов.
Конфигурация безопасности
Доступ по умолчанию ограничен белым списком пользовательских каталогов. Системные каталоги остаются заблокированными.
Разрешено по умолчанию
Сервер включает эти расположения, если они существуют на машине:
Платформа | Разрешённые каталоги |
Windows | Desktop, Documents, Downloads, Pictures, Videos, Music, OneDrive, Projects, Workspace |
macOS | Desktop, Documents, Downloads, Movies, Music, Pictures, iCloud Drive, Projects |
Linux | Desktop, Documents, Downloads, Music, Pictures, Videos, |
Всегда заблокировано
Эти пути остаются заблокированными, даже если вы добавите их в конфигурацию:
Windows:
C:\Windows, Program Files, AppData,$Recycle.BinmacOS:
/System,/Library,/Applications,/private,/usrLinux:
/etc,/usr,/var,/root,/sys,/procВезде:
node_modules,.git,.vscode,.idea,dist,build
Пользовательская конфигурация
Отредактируйте пользовательский файл конфигурации:
Windows:
%APPDATA%\file-organizer-mcp\config.jsonmacOS:
$HOME/Library/Application Support/file-organizer-mcp/config.jsonLinux:
$HOME/.config/file-organizer-mcp/config.json
Добавьте пути в customAllowedDirectories:
{
"customAllowedDirectories": [
"C:\\Users\\Name\\My Special Folder",
"D:\\Backups"
]
}Вы можете вставить путь к папке прямо из адресной строки вашего файлового менеджера.
Внешние диски и сетевые монтирования
Пути за пределами вашего домашнего каталога заблокированы, если вы не согласитесь. Чтобы разрешить внешний том, например /Volumes/My Drive на macOS или /media/user/usb на Linux, установите allowExternalVolumes в true:
{
"allowExternalVolumes": true,
"customAllowedDirectories": [
"/Volumes/MyExternalDrive",
"/Volumes/Photography Backup"
]
}Буквы дисков Windows, такие как D:\, работают без этого флага.
Перезапустите клиент после редактирования конфигурации.
Стратегия разрешения конфликтов
{
"conflictStrategy": "rename"
}rename(по умолчанию) — Добавляет суффикс к новому файлу, напримерfile (1).txt.skip— Сохраняет существующий файл и пропускает новый.overwrite— Заменяет существующий файл, предварительно создав резервную копию.
Устаревшее расписание автоматической организации
Для простого расписания — ежечасно, ежедневно или еженедельно:
{
"autoOrganize": {
"enabled": true,
"schedule": "daily"
}
}Для более детального расписания используйте инструмент file_organizer_watch_directory.
Защита
Тип атаки | Защита |
Несанкционированный доступ | Белый список плюс чёрный список |
Path traversal | 8-уровневый конвейер проверки |
Атаки через симлинки | Разрешение реального пути |
DoS | Ограничения ресурсов по количеству файлов, глубине и размеру |
Устранение неполадок
Сервер MCP не появляется
Проверьте, что путь к файлу конфигурации правильный.
Убедитесь, что Node.js 18 или новее:
node --version.Полностью перезапустите клиент.
Проверьте путь в файле конфигурации клиента.
Ошибки прав доступа
Windows: запустите клиент от имени администратора.
macOS/Linux: проверьте права на папки с помощью
ls -la.Убедитесь, что целевой каталог доступен для записи.
Файлы не перемещаются
Убедитесь, что
dry_runне включён.Закройте программы, которые могут блокировать файлы.
Проверьте, достаточно ли места на диске.
Прочитайте сводку операции для сообщений об ошибках.
Архитектура
Сервер выполняет конвейер «проверка-обогащение»: обработчик протокола MCP пропускает каждый запрос через проверку безопасности (проверка пути, обнаружение чувствительных файлов, ограничение скорости), затем обогащение метаданными (EXIF, ID3, свойства документов), затем сервисный уровень, выполняющий операцию. Все файловые операции проходят через проверенные пути и поддерживают откат.
См. ARCHITECTURE.md для полной диаграммы и заметок по дизайну.
Документация
API.md — Полный справочник по инструментам
ARCHITECTURE.md — Дизайн и архитектура
CONTRIBUTING.md — Рекомендации по вкладу
MIGRATION.md — Руководство по обновлению с v2 на v3
CHANGELOG.md — История версий
SECURITY.md — Модель безопасности и отчёты
Вклад в проект
Прочитайте CONTRIBUTING.md, затем клонируйте и соберите:
git clone https://github.com/kridaydave/File-Organizer-MCP.git
cd File-Organizer-MCP
npm install
npm run build
npm testСообщайте об ошибках и запросах функций на GitHub Issues. Для уязвимостей безопасности напишите на technocratix902@gmail.com.
Лицензия
MIT. См. LICENSE.
Available Tools
26 toolsfile_organizer_analyze_duplicatesAnalyze Duplicate Files with Smart RecommendationsCRead-onlyIdempotent
Finds duplicate files and suggests which to keep/delete based on location, name quality, and age.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | ||
| response_format | No | markdown | |
| auto_select_keep | No | ||
| recommendation_strategy | No | best_location |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so safety is covered. The description adds context about recommendation criteria but does not disclose return format, how recommendations are presented, or the absence of actual file modification. It is consistent with annotations but adds limited behavioral depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no fluff and the main action front-loaded. It could add a second sentence on usage without losing conciseness, but as-is it is appropriately lean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters (2 with enums), 0% schema coverage, and no output schema, this description is significantly incomplete. It omits parameter meanings, return format, and practical usage context, leaving the agent to guess critical details like what auto_select_keep does or how response_format affects output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only indirectly explains recommendation_strategy via the phrase 'based on location, name quality, and age' but leaves directory, response_format, and auto_select_keep unexplained. The agent gets little help understanding parameter meaning or how to set them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds duplicate files and suggests keep/delete actions based on three specific criteria. The verb 'suggests' distinguishes it from the find-only or delete-only siblings, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to use this tool versus siblings like file_organizer_find_duplicate_files or file_organizer_delete_duplicates. The agent must infer that this is for analysis/recommendation rather than listing or deletion, which is not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_batch_read_filesBatch Read Files for LLM ContextARead-onlyIdempotent
Reads contents of all files in a specified folder for LLM context. For text files (documents, code, notes), reads the actual content. For media files (audio, video, images), reads metadata instead of binary content. Provides a comprehensive summary of folder contents.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Full path to the directory | |
| max_files | No | Maximum files to process (safety limit) | |
| file_types | No | Filter by file extensions (e.g., [".txt", ".pdf"]) | |
| include_content | No | Include text content | |
| include_subdirs | No | Include subdirectories | |
| response_format | No | markdown | |
| include_metadata | No | Include metadata | |
| max_file_size_mb | No | Max file size in MB to read content |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds valuable behavioral details: it reads content for text files, metadata for media files, and provides a comprehensive summary. This goes beyond the annotations by explaining the actual processing logic and output nature, which is not implied by the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three focused sentences with no redundancy. The main purpose is front-loaded, followed by the key behavioral nuance (text vs media) and the output characteristic. Every sentence adds meaningful information, making it concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, the schema covers 88% of them, and the description explains the core behavior and output. It states that it reads content or metadata and provides a summary, which is sufficient for an agent to understand the tool's function. It does not mention return format or specific error cases, but these are either covered by schema defaults or not critical for selection/invocation. Overall, it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so the parameters are well-documented in the schema. The description does not elaborate on parameters like max_files, file_types, or include_content, but it doesn't need to since the schema covers them. The description's main added value is the text vs media distinction, which is behavioral rather than parameter-specific. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Reads'), resource ('contents of all files in a specified folder'), and a purpose ('for LLM context'). It distinguishes itself from siblings like file_organizer_read_file by emphasizing batch reading of a folder versus a single file, and also differentiates its handling of text vs media files. This gives the agent a precise understanding of the tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: when you need folder contents for LLM context, including a note on how it handles different file types. It does not explicitly list exclusions or name alternatives, but the context is specific enough to guide selection away from single-file reads and towards batch operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_batch_renameBatch Rename FilesADestructive
Rename multiple files using rules (find/replace, case, add text, numbering). "dry_run" defaults to true for safety.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | List of absolute file paths | |
| rules | Yes | List of renaming rules. See specific rule schemas. | |
| dry_run | No | Simulate renaming | |
| directory | No | Directory to scan (optional) | |
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag the tool as destructive and not read-only. The description adds valuable context beyond that by revealing that dry_run defaults to true, so the default invocation only simulates rather than mutating. This is meaningful safety behavior disclosed beyond the annotations, with no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The core action is front-loaded, followed by the rule taxonomy and then the safety default. Every clause earns its place and the most important safety behavior is saved for the closing emphasis.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The rules parameter is a black box (deferred to separate schemas), and the relationship between files and the optional directory is ambiguous — it is unclear whether one must be supplied or how they interact. With no output schema and a destructive tool, a note on return format and the files-vs-directory semantics would round it out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (80%), establishing the baseline at 3. The description adds genuine value by enumerating supported rule types, which compensates for the schema's deferral of the rules parameter to 'See specific rule schemas' — this tells an agent what kinds of rule objects to construct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb (rename) and resource (multiple files) and enumerates the exact rule types supported (find/replace, case, add text, numbering). This pins down the tool's scope precisely and makes it distinguishable at a glance from the organize/categorize siblings without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The dry_run safety note implies a simulate-then-commit workflow, which is useful routing guidance. However, with 25+ sibling tools, there is no explicit statement of when to prefer this over organize_files, preview_organization, or undo_last_operation, and no exclusion criteria or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_categorize_by_typeCategorize Files by TypeARead-onlyIdempotent
Categorize files by their type (Executables, Videos, Documents, etc.) and show statistics for each category. Enable use_content_analysis to detect file type mismatches and security threats.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Full path to the directory to categorize | |
| include_subdirs | No | Include subdirectories | |
| response_format | No | markdown | |
| use_content_analysis | No | Analyze file content for accurate type detection (slower but detects mismatches and threats) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing that this is a safe read-only operation. The description adds a small behavioral note: enabling use_content_analysis 'detects mismatches and threats', implying content scanning. However, it does not go further—no mention of performance implications, output format, or side effects. Given the annotations, a 3 is appropriate; the description adds some context but is not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the core purpose front-loaded in the first sentence and the optional content-analysis behavior in the second. Every word earns its place; there is no fluff or redundancy. It is well-structured and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with annotations covering safety, the description is mostly adequate: it states what it does and mentions the key parameter. However, it lacks guidance on when to use it relative to many siblings, and it does not clarify the output format (even though a response_format parameter exists). Given the tool's simplicity and the annotations, a 3 is reasonable—it is functional but could be more complete with selection guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% (3 of 4 parameters have descriptions; response_format lacks a description). The description reinforces the semantics of use_content_analysis by explaining its purpose, which matches the schema. However, it does not add meaning for directory, include_subdirs, or response_format. Since the schema already covers most parameters, the description's added value is marginal, but it does not compensate for the missing response_format documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Categorize files by their type (Executables, Videos, Documents, etc.) and show statistics for each category.' It uses a specific verb (categorize) and resource (files by type), and it distinguishes itself from siblings like 'organize_by_content' by focusing on file type rather than content. The mention of 'use_content_analysis to detect file type mismatches and security threats' further clarifies its unique capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives such as file_organizer_get_categories or file_organizer_organize_by_content. It does not mention exclusions or prerequisites, leaving the agent to infer usage context. The only hint is the conditional 'Enable use_content_analysis to detect...', which qualifies a parameter but does not guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_delete_duplicatesDelete Duplicate FilesBDestructive
Permanently deletes specified duplicate files. DESTRUCTIVE. Verifies hash/size before deletion.
| Name | Required | Description | Default |
|---|---|---|---|
| files_to_delete | Yes | ||
| response_format | No | markdown | |
| create_backup_manifest | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No contradiction: 'Permanently deletes' aligns with readOnlyHint=false and destructiveHint=true. Beyond the annotations it adds the safety detail that it 'Verifies hash/size before deletion' and stresses permanence — useful behavioral context for a destructive operation, since the annotations already carry the core destructive flag.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the DESTRUCTIVE warning front-loaded; no filler. Only minor deduction for not using the available lines to cover the undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no output schema and 0% parameter coverage, this is thin. It never tells the agent that a backup manifest can be created (create_backup_manifest defaults true), whether deletion is recoverable via undo_last_operation, or what the response contains. An agent cannot fully predict the consequences of calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate, but it only vaguely references 'specified duplicate files' for the required files_to_delete array. Nothing explains path format, nor the behaviors of response_format or create_backup_manifest — what a backup manifest does is left entirely to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Permanently deletes specified duplicate files" states an unambiguous verb (deletes) and resource (duplicate files) with a permanence qualifier. It clearly separates this from read-only siblings like find_duplicate_files and analyze_duplicates, which an agent can spot without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It never mentions the prerequisite flow (finding/analyzing duplicates first) nor the relationship to undo_last_operation or analyze_duplicates. The DESTRUCTIVE warning conveys caution but not usage conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_find_duplicate_filesFind Duplicate FilesBRead-onlyIdempotent
Find duplicate files in a directory based on their content (SHA-256 hash). Shows potential wasted space.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max groups to return | |
| offset | No | Groups to skip | |
| directory | Yes | Full path to the directory | |
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is well established. The description adds that duplicates are detected via SHA-256 and that it shows wasted space, which provides some behavioral context. However, it does not disclose potential performance implications for large directories, handling of symlinks, or the exact response structure beyond hinting at 'potential wasted space.' Given the annotations, a 3 is fair.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, both concise and purposeful. The first sentence states the core function, the second adds a useful detail about output. There is no redundancy or fluff, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only duplicate finder with a fairly complete schema, the description covers the essential purpose and output hint. However, it does not explain the format of the returned data, how pagination works (limit/offset), or how it differs from analyze_duplicates. With no output schema and no usage guidance, the definition is adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% (directory, limit, offset have descriptions, response_format lacks one). The tool description does not add any parameter-specific meaning beyond what the schema already states. Since the schema carries most of the load, the baseline of 3 applies. No extra clarification about how these parameters interact or expected formats is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds duplicate files based on content (SHA-256 hash) and reports potential wasted space. It uses a specific verb and resource, making the purpose unambiguous. However, it does not explicitly distinguish itself from sibling tools like analyze_duplicates, so it loses a point on differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With several sibling tools (analyze_duplicates, delete_duplicates, list_files), the agent is left to infer the appropriate context. There is no mention of when not to use it or what other tools are better suited for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_find_largest_filesFind Largest FilesARead-onlyIdempotent
Find the largest files in a directory. Useful for identifying space-consuming files and cleanup opportunities.
| Name | Required | Description | Default |
|---|---|---|---|
| top_n | No | Number of files to return | |
| directory | Yes | Full path to the directory | |
| include_subdirs | No | Include subdirectories | |
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds a note about cleanup opportunities, which is a helpful contextual nuance, but does not disclose details like sorting order or whether paths are returned absolute or relative. Given the strong annotation coverage, the description provides adequate but not comprehensive behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences, front-loading the core action ('Find the largest files') before adding a brief use case. Every word earns its place; there is no fluff or repetition of information already present in the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool, the description plus annotations and schema cover the essential aspects: what it does, the parameters, and safety. It lacks an explicit statement of output format (beyond the response_format parameter) or sorting behavior, but given the tool's simplicity and the absence of an output schema, the description is nearly complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all four parameters with descriptions, and the tool description does not add parameter-specific details beyond what the schema provides. Since schema coverage is 75%, the baseline for adding value is moderate, and the description's contribution here is minimal—it only reinforces the purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Find') and a specific resource ('the largest files in a directory'), making the purpose unambiguous. It naturally distinguishes this tool from siblings like find_duplicate_files or scan_directory by focusing on file size rather than content or structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a use case ('identifying space-consuming files and cleanup opportunities') but does not explicitly state when NOT to use it or mention alternatives. The guidance is implied rather than explicit, leaving the agent to infer that this is the tool for size-based searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_get_categoriesGet Available File CategoriesARead-onlyIdempotent
Returns the list of categories used for file organization
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds no new behavioral traits beyond restating the return. It does not contradict annotations, but also provides no additional context about pagination, formatting, or side effects. Since annotations carry the burden, a neutral score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler. It front-loads the essential action ('Returns the list of categories') and omits unnecessary detail. This is appropriately sized for a simple getter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, parameterless-required tool, the description provides enough to call it correctly. However, it does not specify the output format (managed by the param) or describe the structure of the category list, which could be ambiguous without an output schema. Given the simplicity, this slight gap keeps it from a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, response_format, is documented in the schema with enum and default. However, the description does not mention it at all (schema description coverage is 0%). While the parameter is trivial and the schema is self-explanatory, the description fails to compensate for the low coverage by explaining how the parameter affects the output. It adds no semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the function: returns the list of categories used for file organization. The verb 'Returns' and resource 'list of categories' are specific, and the tool is distinct from all siblings (none of which focus on categories). This is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: an agent would call this before organizing files to see available categories. However, it does not explicitly state when to use this over alternatives (e.g., before categorize_by_type or set_custom_rules) or any exclusions. No mention of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_inspect_metadataInspect File MetadataARead-onlyIdempotent
Inspects a file and returns comprehensive but privacy-safe metadata. For images, extracts EXIF data (date, camera, dimensions). For audio, extracts ID3 tags (artist, album, title). Excludes sensitive data like GPS coordinates.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Full path to the file to inspect | |
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description's job is to add behavioral context beyond that. It adds that metadata is 'privacy-safe' and explicitly excludes GPS coordinates, and mentions the specific data extracted for images and audio. This goes beyond the general safety profile and provides useful behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and includes concrete details without redundancy. It avoids repetition of annotation information and is efficiently structured for quick parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple metadata-inspection tool with only two parameters and no output schema, the description covers the essential return behavior (EXIF/ID3 fields) and privacy exclusions. It does not explicitly mention the response format, but the 'response_format' parameter handles that. The lack of an output schema makes the description's explanation of return content sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 50% coverage: 'file' is described (full path to inspect), and 'response_format' has an enum but no description. The tool description does not mention either parameter, so it adds no semantic value beyond the schema. However, the schema descriptions are self-explanatory for 'file' and the enum values for 'response_format' are clear, so the lack of description compensation is not critical.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool inspects a file and returns metadata, with specific details for images (EXIF: date, camera, dimensions) and audio (ID3: artist, album, title). It explicitly notes privacy-safe behavior and excludes GPS. This distinguishes it from sibling tools like read_file or batch_read_files, which handle content rather than metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: use this tool when you need metadata about a file, not its contents. It clearly states what it does and what it excludes, but does not explicitly mention alternatives or when not to use it. While siblings like organize tools are obviously different, the description lacks an explicit routing statement like 'for file contents, use read_file.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_list_filesList Files in DirectoryARead-onlyIdempotent
List all files in a directory with basic information. Returns file names and paths. Does not recurse into subdirectories.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items to return | |
| offset | No | Items to skip | |
| directory | Yes | Full path to the directory | |
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering the safety profile. The description adds the non-recursion behavior, which is not covered by annotations. However, it does not disclose details like pagination behavior, response format, or any potential errors. For a read-only operation with annotations, the description adds modest incremental value but could be richer (e.g., mention that the result is paginated by default, or that it only returns basic info).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loading the core purpose and immediately stating the key limitation (no recursion). Every sentence provides unique information with no redundancy. It is well-structured and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool, the description is largely complete given that annotations cover safety. It states what it returns and that it does not recurse. It does not mention pagination (limit/offset) or response_format, but these are available in the schema. The only minor gap is unclear behavior when the directory does not exist or is empty, but that is not critical for tool selection. Overall, it provides enough context for an agent to call it correctly with minimal assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, meaning most parameters (limit, offset, directory) have descriptions in the schema. However, response_format is an enum without an explicit description, and the tool description does not mention it at all. The description does not add any new meaning to parameters beyond the schema, and it fails to clarify the response_format enum values (json vs markdown). With moderate coverage and no added value from the description, this is below the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all files in a directory') and the resource (directory), with a specific scope ('Does not recurse into subdirectories'). This differentiates it from siblings like file_organizer_scan_directory which might perform deeper scans, and mentions the output (file names and paths). The verb and resource are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives. It does not mention any exclusions or conditions for choosing this tool over file_organizer_scan_directory or file_organizer_find_largest_files. An agent would have to infer usage from the tool name and description alone, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_list_watchesList Watched DirectoriesARead-onlyIdempotent
List all directories currently being watched with their schedules.
| Name | Required | Description | Default |
|---|---|---|---|
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds that it returns schedules, which is useful output context, but does not disclose any additional behavioral traits such as pagination, rate limits, or potential side effects. Given the annotations carry the safety profile, the description's contribution is modest, earning a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that states the action and the key detail (schedules) without any filler. It is immediately front-loaded and fits the tool's simplicity perfectly. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list operation, the description covers the essence but leaves gaps. It does not mention the response_format parameter, nor does it describe the output structure (no output schema exists). An agent might not know how to request JSON or what the returned data looks like. The description is adequate for a basic list tool, but the missing parameter explanation and output format detail make it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (response_format) with an enum of json/markdown and a default, but the description does not mention it at all. Schema description coverage is 0%, so the description must compensate by explaining the parameter's purpose or effect, but it does not. The agent is left to infer that response_format controls the output format from the enum alone, which is insufficient given the lack of any description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'List all directories currently being watched with their schedules.' This is a specific verb (List) and resource (watched directories), and the addition of 'with their schedules' distinguishes it from sibling tools like file_organizer_list_files or file_organizer_watch_directory. It unambiguously conveys the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly conveys that this tool is for viewing current watch configurations, which implies its use when an agent needs to know what directories are being watched. However, it does not explicitly exclude alternatives (e.g., file_organizer_watch_directory for adding watches) or state conditions like 'use this to inspect watches.' Still, the context is clear enough that an agent would correctly infer when to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_organize_by_contentOrganize Documents by ContentADestructive
Organize files based on content analysis. strategy='topic' groups documents (PDF, DOCX, TXT, MD, RTF, ODT) into topic-based folders. strategy='project' groups files across all types (documents, code, images) into detected project folders using shared name tokens, content terms, and identifiers. Use dry_run=true to preview changes.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | Preview changes without moving files | |
| strategy | No | 'topic' groups documents by detected topic; 'project' groups files across types into detected project folders | topic |
| recursive | No | Scan subdirectories recursively | |
| source_dir | Yes | Full path to the directory containing document files | |
| target_dir | Yes | Full path to the directory where organized documents will be placed | |
| response_format | No | markdown | |
| create_shortcuts | No | Create shortcuts/symlinks for multi-topic documents |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral context beyond the annotations by mentioning dry_run to preview changes, implying the actual run moves/reorganizes files. However, it does not explicitly state that files will be moved or that the operation can be destructive, despite destructiveHint=true. The dry_run tip indirectly addresses safety, but it lacks explicit disclosure of the side effects (e.g., permanent directory restructuring).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a single opening sentence states the purpose, followed by two sentences explaining strategies and a clear tip about dry_run. It front-loads the main action and uses no filler, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, 2 strategies, destructive), the description covers the core behavior and provides a safety tip (dry_run). It does not explain all parameters (e.g., recursive, create_shortcuts, response_format), but those are documented in the schema. It lacks explicit mention of return values or undo options, but no output schema exists. The main gap is not explicitly stating the destructive nature beyond the annotation, but the dry_run tip mitigates this. Overall, it is fairly complete for an agent to decide when and how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86%, so most parameters are already documented. The description adds significant value for the strategy parameter by detailing file types for topic (PDF, DOCX, TXT, MD, RTF, ODT) and the heuristic for project (shared name tokens, content terms, identifiers). This goes beyond the schema's brief enum description, adding meaningful usage semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool organizes files based on content analysis, and distinguishes between two strategies (topic and project) with specific file types and grouping logic. This differentiates it from sibling tools like organize_by_type or organize_photos by emphasizing content-based grouping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear usage context: strategy='topic' for documents, strategy='project' for mixed file types, and a direct tip to use dry_run=true for previewing changes. While it doesn't explicitly mention when to use this tool over other organizers, the content-based focus and strategy options give sufficient guidance. No exclusions are stated, but the core purpose is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_organize_filesOrganize FilesCDestructive
Automatically organize files into categorized folders. Enable use_content_analysis to detect file type mismatches and potential security threats. Use dry_run=true to preview changes.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | Simulate organization | |
| directory | Yes | Full path to the directory | |
| response_format | No | markdown | |
| conflict_strategy | No | How to handle file conflicts (rename/skip/overwrite). Uses config default if not specified | |
| use_content_analysis | No | Analyze file content for accurate type detection and security (slower) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so the description is not responsible for stating that it modifies files. It adds extra context about the dry_run preview capability and the security-threat detection when content analysis is enabled. However, it doesn't describe what gets moved or altered (e.g., that files will be relocated within the directory), and it doesn't mention undo capability despite a sibling tool existing. With annotations covering the destructive nature, the description adds moderate value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff, front-loaded with the main action. The second sentence provides two actionable tips. It is appropriately concise, though it could be structured to include a brief note about what the tool returns or how it differs from siblings without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain return values, but it doesn't. It also doesn't mention that changes can be undone (despite an undo sibling tool) or clarify the categorization logic. Given the tool performs a potentially destructive action and has many closely related siblings, this description is incomplete: an agent lacks critical information about side effects, reversibility, and selection criteria.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so most parameters are already documented. The description adds meaningful context for use_content_analysis ('detect file type mismatches and potential security threats') and dry_run ('preview changes'), clarifying the purpose of booleans beyond the schema. It doesn't add anything for directory, response_format, or conflict_strategy, but the schema covers those adequately. This is above baseline because of the added parameter explanations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'organize' and resource 'files' into 'categorized folders', which is clear enough. However, it does not differentiate from sibling tools like organize_by_content, organize_smart, or organize_by_type, which likely perform similar actions. The description lacks specifics on what 'categorized' means (by type? by content?) making it ambiguous among the many similar-sounding siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidance for two parameters (use_content_analysis and dry_run) but gives no explicit guidance on when to choose this tool over its siblings. It doesn't mention exclusions or alternatives, leaving the agent to infer which of the many organizer tools to invoke. The provided parameter guidance is useful but does not address tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_organize_musicOrganize Music FilesBDestructive
Organize music files into structured folders based on metadata (Artist/Album). Supports MP3, FLAC, OGG, WAV, M4A, AAC. Use dry_run=true to preview changes.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | Preview changes without moving files | |
| structure | No | Folder structure for organization | artist/album |
| source_dir | Yes | Full path to the directory containing music files | |
| target_dir | Yes | Full path to the directory where organized music will be placed | |
| response_format | No | markdown | |
| filename_pattern | No | Pattern for renaming files | {track} - {title} |
| copy_instead_of_move | No | Copy files instead of moving them | |
| skip_if_missing_metadata | No | Skip files missing artist/album metadata |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry destructiveHint=true and readOnlyHint=false, so the safety profile is declared. The description adds value by suggesting dry_run for previewing, which is relevant to the destructive nature. It does not disclose that files are moved by default (copy_instead_of_move defaults to false) or what happens to already-organized files, but the annotation coverage lowers the burden here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the core purpose front-loaded ahead of the dry-run tip. Every sentence earns its place and there is no filler, though the format enumeration could arguably have been trimmed without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, 3 enums, no output schema, and destructive default behavior, the description leaves the agent reliant on the schema for structure options, filename patterns, and response formats. The destructive-by-default move behavior and return value shape are not addressed, which matters given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88% (>80%), so the baseline is 3. The description adds minimal parameter meaning beyond 'based on metadata (Artist/Album)', which faintly maps to the structure parameter. With the schema already documenting most parameters, there is little room or need for description to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Organize music files into structured folders based on metadata (Artist/Album)'. The format list (MP3, FLAC, etc.) sharpens the scope and distinguishes it from siblings like organize_photos, though it does not explicitly name the generic organize_files alternative. Clear but not maximally differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides one actionable usage hint—'Use dry_run=true to preview changes'—which is useful. However, it gives no when-to-use vs when-not-to-use guidance and does not name any alternative tool (e.g., organize_files, preview_organization), leaving the agent to infer the right choice among many organizer siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_organize_photosOrganize Photo FilesADestructive
Organize photos into date-based folders using EXIF metadata. Supports JPG, PNG, TIFF, HEIC, RAW formats. Can group by camera model and strip GPS data for privacy. Use dry_run=true to preview changes.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | Preview changes without moving files | |
| strip_gps | No | Strip GPS location data from photos for privacy | |
| source_dir | Yes | Full path to the directory containing photos | |
| target_dir | Yes | Full path to the directory where organized photos will be placed | |
| date_format | No | Date format for folder structure | YYYY/MM |
| group_by_camera | No | Group photos by camera model within date folders | |
| response_format | No | markdown | |
| unknown_date_folder | No | Folder name for photos without date metadata | Unknown Date |
| copy_instead_of_move | No | Copy files instead of moving them |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, so the description doesn't need to restate that moving files is destructive. It adds valuable behavioral context beyond annotations: supported formats (JPG, PNG, TIFF, HEIC, RAW), the ability to strip GPS for privacy, and the recommendation to use dry_run for preview. These details help the agent understand side effects and safe invocation. While it doesn't describe the exact move/copy default, that is covered by the copy_instead_of_move parameter and the destructive annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the primary purpose front-loaded. The first sentence states exactly what the tool does, and the second adds supported formats and key features. Every word earns its place; there is no redundancy, and the structure is highly scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters and no output schema, the description covers the essential behavioral context: file formats, date-based organization, camera grouping, GPS stripping, and the dry_run preview. However, it does not describe the return value or response format (despite the response_format parameter), and it doesn't mention the unknown_date_folder default behavior. These are minor gaps given the high schema coverage, so the overall context is adequate but not perfectly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 89%, so most parameters are self-explanatory. The description adds semantic context beyond the schema by explaining the core purpose (date-based folders via EXIF) and explicitly linking group_by_camera and strip_gps to real use cases. It also mentions dry_run as a preview mode, enriching the meaning of that parameter. Given the high schema coverage, the description provides complementary insights that go beyond merely restating properties.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Organize photos into date-based folders using EXIF metadata', which is a specific verb (organize), resource (photos), and method (date-based folders via EXIF). It also lists supported formats and additional features like grouping by camera and GPS stripping, clearly distinguishing it from generic tools like file_organizer_organize_files or file_organizer_organize_music.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (photo organization with EXIF metadata) and a critical usage tip: 'Use dry_run=true to preview changes.' It does not explicitly exclude alternatives like organize_music, but the photo-specific focus makes it evident. The lack of explicit 'when-not-to-use' guidance prevents a 5, but the context is sufficient for a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_organize_smartSmart Organize FilesADestructive
Automatically organizes mixed files (music, photos, documents) using the appropriate strategy for each type. Music → Artist/Album structure. Photos → Date-based folders with optional GPS stripping. Documents → Topic-based folders. Use dry_run=true to preview changes.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | If true, only preview changes without moving files | |
| recursive | No | Scan subdirectories recursively | |
| strip_gps | No | Strip GPS location data from photos for privacy | |
| source_dir | Yes | Full path to the directory containing mixed files (music, photos, documents) | |
| target_dir | Yes | Full path to the directory where organized files will be placed | |
| music_structure | No | Folder structure for music files | artist/album |
| create_shortcuts | No | For multi-topic documents, create shortcuts in additional topic folders | |
| photo_date_format | No | Date format for photo folder structure | YYYY/MM |
| copy_instead_of_move | No | Copy files instead of moving them | |
| photo_group_by_camera | No | Group photos by camera model within date folders |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveness, and the description adds useful behavioral context: the type-specific strategies, optional GPS stripping, and the dry_run preview flag. It does not contradict annotations and provides additional insight beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loading the core purpose, then detailing strategies, and ending with a safety tip. Every sentence contributes meaning without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 10 parameters and destructive behavior, the description covers the main workflow and preview mode. It omits details like copy vs. move or recursion, but those are in the schema, and the high-level behavior is adequately explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema coverage is 100%, the description clarifies the meaning behind key parameters like music_structure and photo_date_format by showing their strategies (Artist/Album, Date-based). This adds semantic value beyond the schema's bare descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: automatically organize mixed files by type, with specific strategies for music, photos, and documents. It differentiates from sibling tools by focusing on mixed-file handling and per-type strategy selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for mixed files and recommends dry_run for preview, but it does not explicitly contrast with alternative tools like organize_music or organize_photos. The usage context is clear enough, though exclusions or alternatives are not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_preview_organizationPreview File Organization PlanARead-onlyIdempotent
Shows what would happen if files were organized, WITHOUT making any changes. Shows moves, conflicts, and skip reasons.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Full path to the directory | |
| response_format | No | markdown | |
| conflict_strategy | No | How to handle file conflicts for preview (rename/skip/overwrite). Uses config default if not specified | |
| show_conflicts_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description reinforces these and adds value by listing the specific behavioral outputs: moves, conflicts, and skip reasons. This goes beyond what the annotations state. It does not mention the impact of conflict_strategy or response_format, but those are captured in the schema. No contradiction; the description is consistent with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no waste. The core purpose and key differentiator ('WITHOUT making any changes') is front-loaded, and the output specifics are listed concisely. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a preview tool with 4 parameters and no output schema, the description covers the essential outcome and non-destructive nature. However, it omits how parameters like conflict_strategy or response_format influence the preview output, and does not describe the response structure. Given the schema provides parameter details and the tool's purpose is simple, this is a minor gap rather than a fatal one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not reference any of the four parameters. Schema coverage is 50% (directory and conflict_strategy have descriptions, while response_format and show_conflicts_only lack them). The tool description provides no additional meaning beyond parameter names, leaving the two undocumented parameters unsupported by semantic guidance. A tool description could easily mention that conflict_strategy affects the preview's conflict handling, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is a preview tool: 'Shows what would happen if files were organized, WITHOUT making any changes.' It also specifies the outputs (moves, conflicts, skip reasons), distinguishing it from actual organization tools like file_organizer_organize_files. The verb-resource pairing is explicit and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a dry-run use case ('Shows what would happen if...') and emphasizes non-destructiveness, but it does not explicitly name alternatives or provide a when-to-use vs. when-not-to-use rule. It leaves the agent to infer that this should precede a real organization, but gives no direct guidance against other sibling tools. This is acceptable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_read_fileRead File ContentsARead-onlyIdempotent
Read file contents with security checks. Supports text, binary, and base64 encoding. Automatically detects file type and applies appropriate security validations. Sensitive files (passwords, keys, credentials) are automatically blocked.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to the file to read (e.g., /home/user/documents/report.txt) | |
| limit | No | Maximum bytes to read (alternative to maxBytes) | |
| offset | No | Byte offset to start reading from | |
| encoding | No | Text encoding for the file content | utf-8 |
| maxBytes | No | Maximum bytes to read (default: 10MB, max: 100MB) | |
| response_format | No | Format of the response | markdown |
| calculateChecksum | No | Include SHA-256 checksum in response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, idempotent, non-destructive profile. The description adds genuine value beyond that: automatic file-type detection, security validations on reads, and automatic blocking of sensitive files (passwords, keys, credentials). That blocking behavior is a meaningful disclosure not present in annotations, though it stops short of saying what the blocked response looks like. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tidy sentences with the core purpose front-loaded. No fluff, but the security-screening behaviors could be compressed; still well within an acceptable length for a tool with seven parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 100% schema coverage and rich annotations, the description covers most of what an agent needs: encodings, security checks, sensitive-file blocking. The main gap is the overlap between limit and maxBytes (both are max-byte constraints), which could mislead an agent making a call. Output schema absence is acceptable for a read tool whose return shape is implied by response_format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and well-written (defaults, max bytes, enums all documented), so baseline is 3. The description's mention of text/binary/base64 encodings restates the encoding enum rather than adding new meaning. It adds nothing about the limit-vs-maxBytes ambiguity, where both parameters describe byte caps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Read file contents') and adds security as a distinguishing characteristic. However, it doesn't differentiate from the sibling file_organizer_batch_read_files, which also reads files, so an agent can't tell single-file from batch reads without checking both schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus file_organizer_batch_read_files or the other 26 siblings. No exclusions, no prerequisites, no mention of file-system permission caveats. The agent gets no help choosing between single-file and batch reading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_scan_directoryScan Directory for Detailed InfoBRead-onlyIdempotent
Scan directory and get detailed file information including size, dates, and extensions. Supports recursive scanning and security screening.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max items to return | |
| offset | No | Items to skip | |
| directory | Yes | Full path to the directory to scan | |
| max_depth | No | Maximum depth to scan | |
| screen_files | No | Screen files for security threats | |
| include_subdirs | No | Include subdirectories in the scan | |
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds the 'security screening' behavior and recursive scanning support, but it does not disclose potential performance implications or external interactions (openWorldHint) beyond that. With annotations doing the heavy lifting, this is a modest contribution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The main purpose is front-loaded, and the additional features are stated in one concise sentence. Every word contributes to clarifying the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With seven parameters and no output schema, the description is thin on important context. It does not explain how this tool compares to list_files or find_largest_files, nor does it describe the output format (json vs markdown) or the depth/limit trade-offs. The agent lacks enough information to call it optimally.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so most parameters are already explained. The description mentions 'recursive scanning' and 'security screening,' which loosely map to include_subdirs, max_depth, and screen_files, but it does not add syntax, defaults, or relationships beyond what the schema provides. It adds marginal value over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('scan directory') and the resource, plus what kind of data is returned ('size, dates, and extensions'). The purpose is unambiguous, but it does not explicitly differentiate itself from sibling tools like list_files or find_largest_files, which also read directory contents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternative scanning or listing tools. It merely describes what it does without mention of prerequisites, exclusions, or comparable siblings. The agent must infer usage from the name and schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_set_custom_rulesSet Custom Organization RulesB
Customize how files are categorized. Rules persist for the current session.
| Name | Required | Description | Default |
|---|---|---|---|
| rules | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations disclose that it is not read-only, but provide no other safety details. The description adds the key behavioral trait that rules 'persist for the current session', which is valuable context. However, it does not state whether this overwrites existing rules or adds to them, nor whether it can be undone (though an undo sibling exists).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a two-sentence, front-loaded statement that delivers the core purpose and the session-scoping constraint with no wasted words. It is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that sets rules affecting future file organization, the description is under-specified. It lacks information on how rules interact with existing categorization, the undo mechanism, and any effect on subsequent operations. Coupled with completely undocumented parameters, the overall context is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero description coverage for the 'rules' parameter and its nested fields (category, priority, extensions, filename_pattern). The description provides no explanation of these fields, leaving the agent to guess their meaning and purpose. This is a critical gap for a complex structured parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Customize how files are categorized') and a resource ('custom organization rules'), clearly distinguishing it from sibling tools like 'organize_files' (which performs actual organization) and 'categorize_by_type' (which uses predefined categories). The verb is specific and the scope is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. Sibling tools include 'set_custom_rules' vs. 'organize_files' vs. 'categorize_by_type', but the description doesn't clarify the relationship or when to prefer this over others. It also omits any prerequisites or context for applying rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_smart_suggestSmart SuggestCRead-onlyIdempotent
Analyze directory health and get actionable suggestions for organization
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Directory to analyze | |
| max_files | No | Maximum files to scan | |
| use_cache | No | Use cached results | |
| sample_rate | No | Sample rate for large dirs | |
| include_subdirs | No | Include subdirectories | |
| response_format | No | markdown | |
| timeout_seconds | No | Timeout in seconds | |
| include_duplicates | No | Check for duplicates (slower) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds 'directory health' and 'actionable suggestions' but offers no further behavioral context such as performance characteristics, caching effects, or what kind of analysis is performed. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the primary action and outcome. It is efficient and not padded, though it sacrifices detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 parameters, no output schema, and no description of return format or potential failures, the description is minimal. It does not mention what 'suggestions' look like (markdown vs json), how large directories are handled, or typical side effects (even though non-destructive). The description leaves many operational details unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 88% schema coverage, the baseline is 3. The description adds no parameter-specific meaning; it only gives a general sense of the tool's purpose. Parameters like max_files, sample_rate, and use_cache are documented in the schema and the description does not elaborate on why they matter for this tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Analyze' and the resource 'directory health', and clarifies the outcome ('get actionable suggestions for organization'). This is clear and distinct from specific scan/categorize tools, though it doesn't explicitly differentiate from the sibling 'organize_smart' which might also produce suggestions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the many sibling tools (scan_directory, categorize_by_type, find_largest_files, etc.). The description implies 'use when you want suggestions', but there is no explicit mention of alternatives or conditions that would favor this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_system_organizeSystem OrganizeCDestructive
Organize files into OS-standard system directories (Music, Documents, Pictures, Videos)
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | Preview without moving | |
| source_dir | Yes | Source directory (must be Downloads, Desktop, or Temp) | |
| response_format | No | Output format: "markdown" for human-readable, "json" for programmatic use | markdown |
| use_system_dirs | No | Use OS system directories | |
| conflict_strategy | No | How to handle file conflicts | rename |
| create_subfolders | No | Create organized subfolders | |
| fallback_to_local | No | Fallback to local Organized folder if system dir not writable | |
| copy_instead_of_move | No | Copy instead of move | |
| local_fallback_prefix | No | Prefix for local fallback folder | Organized |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose that this tool moves (or copies) files, that it can be destructive (though annotations set destructiveHint=true), or that it has a dry_run mode. The single sentence simply states the high-level action. Annotations already signal destruction, but the description adds no context about safety, reversibility, or side effects, so it falls short.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no extraneous words. It is concise and easy to scan. Structure is minimal but not distracting; the lack of formatting is acceptable for such a short description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite high schema coverage, the description is too terse for a tool with 9 parameters and no output schema. It does not explain what happens on success, the difference between system directories and local fallback, or how this tool relates to other organizing tools. An agent might not know whether to expect a summary, a list of moved files, or errors. More context is needed, especially given the large sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with detailed descriptions for all 9 parameters, so the schema already documents each parameter's meaning. The description adds no additional parameter semantics (e.g., explaining how conflict_strategy interacts with the system dirs or what fallback_to_local implies). Baseline 3 is appropriate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Organize files into OS-standard system directories' with a list of those directories. This clearly conveys the action and target. However, it does not explicitly distinguish this from sibling tools like file_organizer_organize_files, file_organizer_organize_music, etc., relying on the 'system directories' phrase to imply differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus its many siblings. It does not mention prerequisites (e.g., source_dir must be Downloads/Desktop/Temp) or that it is intended for moving files to OS standard folders. No exclusions or alternatives are mentioned, leaving the agent to guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_undo_last_operationUndo Last Organization OperationCDestructive
Reverses file moves and renames from a previous organization task.
| Name | Required | Description | Default |
|---|---|---|---|
| manifest_id | No | ||
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, so the destructive nature is known. The description adds that it reverses moves and renames, which is useful behavioral context beyond the annotation. However, it doesn't elaborate on side effects (e.g., whether undoing is itself reversible, whether it requires rollback permissions, or what happens if there's no previous operation). The description adds some value but not substantial detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no filler words. It front-loads the primary action and is easy to parse quickly. While it's brief, there's no wasted content, so it scores well on conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with two optional parameters and no output schema, this description is incomplete. It doesn't explain the manifest_id requirement, what happens if no prior operation exists, what the response looks like, or how it interacts with the organization workflow. Given the tool's complexity (undoing file operations) and the lack of structured context, it should provide more guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate for undocumented parameters. It fails to explain what manifest_id is or how it relates to the undo operation, and it doesn't mention response_format at all. The description adds no meaning beyond what the bare schema provides, making it inadequate for an agent to correctly supply the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool's purpose with a specific verb ('reverses') and resource ('file moves and renames from a previous organization task'). It clearly distinguishes this from the organizing tools among the siblings, though it doesn't explicitly contrast with any specific sibling. Overall, it's clear but not exceptionally detailed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. It doesn't explain that this should be used after an organization operation, or that it might require a manifest_id. There's no context about when not to use it or what conditions make it appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_unwatch_directoryUnwatch DirectoryBIdempotent
Remove a directory from the watch list.
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Full path to the directory | |
| response_format | No | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate that the operation is idempotent (idempotentHint=true) and non-destructive (destructiveHint=false). The description adds no further behavioral detail, such as what happens if the directory is not currently watched or what the exact return payload looks like. It is consistent with the annotations but does not go beyond them, so a neutral score is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no superfluous words. It front-loads the action and resource clearly. While it could include a bit more context, the conciseness is appropriate for a simple tool and does not waste any tokens.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one required parameter and no output schema. Annotations cover idempotency and non-destructiveness, and sibling tools provide some context. However, the description does not address edge cases (e.g., non-existent watch entries) or clarify the response format, leaving minor gaps that an agent might need to infer. It is adequate but not fully complete for a standalone decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes only the 'directory' parameter as 'Full path to the directory' (50% coverage). The description merely reiterates the role of directory without adding new semantics, and it entirely omits the 'response_format' parameter. With 50% schema coverage and no compensation in the description, the parameter semantics remain under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Remove') and a clear resource ('directory from the watch list'), unambiguously identifying the operation. It naturally distinguishes itself from sibling tools like watch_directory (which adds) and list_watches (which lists), so an agent can immediately understand what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus its siblings. It does not state 'use this when you no longer want to monitor a directory' or mention any exclusions or prerequisites. Usage is only implied by the name and the presence of watch_directory and list_watches in the sibling list, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_view_historyView HistoryARead-onlyIdempotent
View the history of file organization operations. Supports filtering by date range, operation type, status, and source. Use privacy_mode to control output detail level.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of entries to return | |
| since | No | ISO date string - return entries after this time | |
| until | No | ISO date string - return entries before this time | |
| source | No | Filter by operation source | |
| status | No | Filter by operation status | |
| operation | No | Filter by operation name | |
| privacy_mode | No | Privacy mode for output: full (all details), redacted (paths hidden), none (minimal info) | |
| response_format | No | Output format: "markdown" for human-readable, "json" for programmatic use | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds behavioral context by mentioning filtering options and the privacy_mode that controls output detail level. It does not contradict annotations and provides useful information about output control, though it could further clarify returnt structure or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: the first sentence states the core purpose, and the second sentence lists the key filtering capabilities and the privacy_mode feature. It is front-loaded with the primary action and avoids unnecessary detail. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 optional parameters with full schema coverage, so the description needs to add contextual clarity beyond the schema. It effectively communicates the purpose and high-level capabilities, and mentions the privacy mode affecting output. However, without an output schema, it does not describe what fields or structure the history entries contain, leaving some ambiguity for the agent. It is adequate but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameter descriptions, so the baseline is 3. The description mentions 'date range, operation type, status, and source' which echoes the schema parameters (since, until, operation, status, source) and 'privacy_mode' is also mentioned. It does not add substantive meaning beyond the schema, so a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'View the history of file organization operations.' It uses a specific verb (view) and resource (history), and distinct from all sibling tools that perform operations like organizing, scanning, or deleting. It also hints at filtering capabilities, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to see past operations, but it does not explicitly state when to use this tool versus alternatives or mention any exclusions. There is no reference to other tools that might be more appropriate for similar tasks. The filter capabilities provide context, but no direct guidance on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
file_organizer_watch_directoryWatch DirectoryAIdempotent
Add a directory to the watch list with a cron-based schedule for automatic organization. When the user specifies a schedule in natural language (e.g., "every day at 10am"), convert it to a standard cron expression. Cron format: "minute hour day month weekday". Common conversions: "every day at 10am" → "0 10 * * ", "every 30 minutes" → "/30 * * * *", "every Monday at 9am" → "0 9 * * 1", "every hour" → "0 * * * *".
| Name | Required | Description | Default |
|---|---|---|---|
| schedule | Yes | Cron expression. Convert natural language to cron: "every day at 10am" → "0 10 * * *", "every 30 minutes" → "*/30 * * * *", "every Monday at 9am" → "0 9 * * 1", "every hour" → "0 * * * *", "daily at midnight" → "0 0 * * *" | |
| directory | Yes | Full path to the directory to watch (e.g., "C:\Users\John\Desktop\Work-Notes") | |
| auto_organize | No | Enable auto-organization | |
| response_format | No | markdown | |
| max_files_per_run | No | Maximum files to process per run | |
| min_file_age_minutes | No | Minimum file age in minutes before organizing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotent, non-destructive, and mutating operations. The description adds behavioral context by specifying that schedules are converted to cron expressions and provides conversion rules. However, it does not explain what happens when a directory is already watched, whether existing files are organized immediately, or the persistence of the watch. Given annotations cover the core safety profile, the added schedule-conversion detail justifies a mid-range score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that front-loads the purpose and then provides necessary schedule conversion examples. It is reasonably concise, though the inclusion of four conversion examples extends the length. Each example adds instructional value, but could be trimmed to the most common cases without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters and no output schema, the description covers the fundamental purpose and schedule conversion but omits details like whether the watch starts immediately, how to verify the watch, or what side effects occur on existing files. Since sibling tools for listing and unwatching exist, an agent might infer these, but explicit mention would improve completeness. The description is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already documents most parameters. The description repeats the cron conversion examples already present in the schedule parameter description, adding no new information for that parameter. It does not elaborate on auto_organize, response_format, max_files_per_run, or min_file_age_minutes, which are already described adequately in the schema. The description adds minimal value beyond what structured fields provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Add a directory to the watch list with a cron-based schedule for automatic organization.' This clearly identifies the verb and resource, and distinguishes it from siblings like unwatch_directory and list_watches. It is unambiguous and directly actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for setting up automatic organization on a schedule, which suggests its primary use case. However, it does not explicitly explain when to prefer this tool over alternatives such as scan_directory, organize_files, or preview_organization, nor does it mention any prerequisites or exclusions. The use case is fairly self-evident but lacks explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
26 tool updates
v3.5.0- First observed
file_organizer_analyze_duplicates - First observed
file_organizer_batch_read_files - First observed
file_organizer_batch_rename - First observed
file_organizer_categorize_by_type - First observed
file_organizer_delete_duplicates - First observed
file_organizer_find_duplicate_files - First observed
file_organizer_find_largest_files - First observed
file_organizer_get_categories - First observed
file_organizer_inspect_metadata - First observed
file_organizer_list_files - First observed
file_organizer_list_watches - First observed
file_organizer_organize_by_content - First observed
file_organizer_organize_files - First observed
file_organizer_organize_music - First observed
file_organizer_organize_photos - First observed
file_organizer_organize_smart - First observed
file_organizer_preview_organization - First observed
file_organizer_read_file - First observed
file_organizer_scan_directory - First observed
file_organizer_set_custom_rules - First observed
file_organizer_smart_suggest - First observed
file_organizer_system_organize - First observed
file_organizer_undo_last_operation - First observed
file_organizer_unwatch_directory - First observed
file_organizer_view_history - First observed
file_organizer_watch_directory
TDQS
There is significant overlap among tools, e.g., organize_files vs organize_smart vs organize_by_content vs system_organize, and find_duplicate_files vs analyze_duplicates. Descriptions help differentiate them, but an agent could easily pick the wrong one for a given task.
All 26 tools follow the consistent 'file_organizer_verb_noun' pattern, with clear verbs like list, scan, organize, read, watch. This is highly predictable and easy to navigate.
With 26 tools, the server is slightly above the 15-25 range. The broad feature set (organizing, watching, metadata, history) justifies many tools, but the count feels bloated, especially with overlapping functions that could be consolidated.
The tool set covers listing, scanning, categorization, duplicate detection, multiple organization strategies, preview, history, watching, renaming, and metadata inspection. Missing direct file deletion (except duplicates) and file editing, but those are outside the organizer's scope. Overall coverage is strong with minor gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseAqualityAmaintenanceComprehensive MCP server for filesystem operations, process management, interactive sessions, and async file search. Includes utilities for JSON repair, encoding fixes, duplicate detection, OCR, ZIP archives, and Markdown export.6467164MIT
- AlicenseNot gradedqualityBmaintenanceA production-ready MCP server enabling Claude and other LLMs to perform intelligent file operations with minimal token usage.MIT
- AlicenseNot gradedqualityAmaintenanceLocal-first MCP server for safely searching, reading, summarizing, tagging, deduplicating, and organizing local files with scoped access, read-only defaults, and dry-run plans.16MIT
- AlicenseAqualityCmaintenanceAI-powered MCP server for file renaming, organization, and PDF splitting using natural language prompts and content analysis.417MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kridaydave/File-Organizer-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server