Skip to main content
Glama

Find duplicate files

drive_find_duplicates
Read-onlyIdempotent

Find likely duplicate files in Proton Drive by hash or size/type, then verify candidates with SHA-256. Reports wasted space and a suggested keeper, never deleting.

Instructions

Find likely duplicates: same claimed sha1, or same size+mediaType without sha1 (candidates only). verify=true downloads and sha256s them ('verified'; writes temporary local files, removed afterwards). Reports wastedBytes and a suggested keeper; never deletes. Walk results are cached up to 5 min (refresh=true re-reads; first walk of a large drive can take minutes).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoFolder (default /my-files).
limitNoMax groups returned (default 20).
verifyNoDownload and hash candidates of the top groups.
minSizeNoMin bytes (default 1024).
refreshNoIgnore the cached walk.
maxVerifyBytesNoSkip files larger than this (default 50000000).
maxVerifyTotalBytesNoTotal download budget for verify (default 500000000).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.5.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, and the description adds substantial beyond that: verify writes temporary local files that are removed afterwards, it never deletes anything, results may be candidate-only, the walk is cached up to 5 minutes, and a first large-drive walk can take minutes. These are exactly the operational traits an agent needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four compact sentences, front-loaded with the detection rule, then verification side-effects, then reporting, then caching. Every clause carries information; nothing is restated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and seven optional parameters, the description supplies the missing context: what is returned (groups, wastedBytes, suggested keeper), the safety guarantee against deletion, and the performance characteristics that affect how an agent should call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema lacks: verify actually downloads and sha256s files (not just a boolean), and refresh is tied to the cached-walk behavior. It also names the reported fields (wastedBytes, suggested keeper), which maps conceptually to the output rather than parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Find likely duplicates') and immediately defines the detection heuristic (same sha1, or same size+mediaType when sha1 is absent). No sibling tool overlaps this purpose, and the candidate-vs-verified distinction is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains when results are only candidates and when verify=true upgrades them to 'verified', plus the refresh/cache tradeoff, which tells an agent when to re-walk vs reuse. It stops short of explicitly comparing to a sibling or stating exclusions, but no sibling is close enough to warrant it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.