Skip to main content
Glama

Find Unused Attachments

find_unused_attachments
Read-onlyIdempotent

Identify unused attachments in an Obsidian vault by checking for missing references via embeds or markdown links. Helps clean up before archiving or syncing.

Instructions

Locate attachments that no note references — neither via ![[file]] embeds nor [text](file) markdown links. Useful for vault hygiene before archiving or before running a sync. Pair the output with delete operations from your shell, since this tool deliberately doesn't unlink files.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of unused-attachment paths to return (1-10000, default: 200). Total counts are still reported.
includeBytesNoIf true, also stat each unused attachment and report total reclaimable bytes.
Behavior4/5

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

Annotations already mark readOnlyHint and idempotentHint; description adds that it deliberately avoids unlinking files. This extra behavioral detail helps the agent understand tool's limitations beyond the annotations.

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?

Two sentences, each serving a purpose: first explains what the tool does, second gives usage context. No fluff, front-loaded, easy to scan.

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

Completeness4/5

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

No output schema, so description should convey return format. It mentions 'unused-attachment paths' and 'total reclaimable bytes' but doesn't specify exact structure (e.g., array of strings vs objects). Otherwise covers purpose, parameters, and usage well.

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 covers both parameters (limit, includeBytes) with descriptions. Description adds nuance: for includeBytes, it mentions reporting total reclaimable bytes, and for limit, it notes total counts are still reported even when truncated. This adds value beyond schema.

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?

Clearly states the tool locates attachments unreferenced by any note, specifying two reference types (`![[file]]` and `[text](file)`). Distinguishes itself from siblings like `find_broken_links` and `find_orphans` by focusing on attachments and explicit exclusion of unlinking.

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?

Specifies when to use (before archiving or sync) and what not to expect (tool doesn't delete/unlink, suggests pairing with shell deletes). Could explicitly compare to siblings but current guidance is clear.

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

Install Server

Other Tools

Latest Blog Posts

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/rps321321/obsidian-mcp-pro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server