Skip to main content
Glama

nest_scan

Scan a folder, extract and classify its files, and write a canonical SQLite Nest DB. Dry-run shows structure counts before writing; optional embedding/LLM improves classification.

Instructions

Walk a drop folder, extract + classify its files, and write a canonical SQLite Nest DB. Returns structure only (counts by source status and fragment type) — never file content.

dry_run=True (default): classify and report counts WITHOUT writing the DB — inspect what a dump would become before committing it. dry_run=False writes. use_embed uses an Ollama embedding model when present (falls back to regex offline); use_llm escalates the uncertain tail to a text/vision model.

Inference stays on this machine by default. It is NOT unconditional: the seams post to $OLLAMA_HOST, and if that points off-box this tool requires the operator's standing consent.cloud_llm and denies without it. Classification sends document bodies, so where that host points is a privacy decision, not a performance one. (This docstring used to promise "nothing leaves the machine" flatly, which was true of the default and false of the variable.)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ownerNo
app_idYes
folderYes
db_pathNo
dry_runNo
use_llmNo
use_embedNo
Behavior5/5

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

With no annotations, the description carries the full burden and excels: it discloses the return behavior (counts only, never content), the dry_run default, the fallback from Ollama to regex, the privacy boundary (inference stays local by default but can off-box, requiring consent.cloud_llm), and even corrects a previous overly broad claim. This is exceptional transparency beyond what any structured field could provide.

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

Conciseness4/5

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

The description is longer than average, but every section earns its place: main action, return constraint, parameter modes, and privacy caveat. The initial sentence front-loads the core purpose, and the parenthetical correction is a transparency note that adds value. It is dense but not bloated; only a slight trim could make it more concise.

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?

For a tool with 7 parameters, no annotations, and no output schema, the description is quite complete: it explains the return structure, the default modes, and the privacy implications. However, it does not articulate the role of app_id, owner, or db_path, nor does it clarify how this scan relates to sibling tools like nest_intake_scan. These gaps prevent a 5.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It does add meaning for dry_run, use_embed, and use_llm (explaining their defaults and behavior), and indirectly for folder (drop folder) and db_path (SQLite Nest DB). However, it leaves app_id, owner, and db_path semantics vague, and does not map all parameters to their exact roles. It partially compensates but not fully for the zero-coverage 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?

The description uses a specific verb 'Walk' and names the resource ('drop folder'), then states the action ('extract + classify its files, and write a canonical SQLite Nest DB'). It also explicitly distinguishes what it returns (structure only) and what it never returns (file content), making it clear and distinct from sibling tools like nest_status or nest_intake_scan.

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?

The description provides clear context for when to use the tool (scanning a drop folder into a Nest DB) and explains the default dry_run behavior with a concrete use case ('inspect what a dump would become before committing it'). It also explains the trade-offs of use_embed and use_llm, but does not explicitly name alternative tools or exclusions, so it misses the 'when not to use' part.

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/rudi193-cmd/willow-mcp'

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