Skip to main content
Glama
Negm-Ahmed

Desktop Commander

by Negm-Ahmed

search_files

Finds files by name using case-insensitive substring matching across subdirectories, so you can locate files without shell commands like find, dir, or ls.

Instructions

                    Finds files by name using a case-insensitive substring matching.
                    
                    Use this instead of 'execute_command' with find/dir/ls for locating files.
                    Searches through all subdirectories from the starting path.
                    
                    Has a default timeout of 30 seconds which can be customized using the timeoutMs parameter.
                    Only searches within allowed directories.
                    
                    IMPORTANT: Always use absolute paths for reliability. Paths are automatically normalized regardless of slash direction. Relative paths may fail as they depend on the current working directory. Tilde paths (~/...) might not work in all contexts. Unless the user explicitly asks for relative paths, use absolute paths.
                    This command can be referenced as "DC: ..." or "use Desktop Commander to ..." in your instructions.

Input Schema

NameRequiredDescriptionDefault
pathYes
patternYes
timeoutMsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.3

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: case-insensitive substring matching, recursive search through subdirectories, a default 30-second timeout (customizable via timeoutMs), restriction to allowed directories, and path normalization. It also notes reliability issues with relative and tilde paths. However, it lacks details on output format or error handling, which could be useful for an agent.

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

Conciseness3/5

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

The description is appropriately sized but not optimally structured. Key information is front-loaded (purpose and basic usage), but it includes verbose path advice and a tangential note about command referencing ('DC: ...') that doesn't add core value. Some sentences could be trimmed for better focus without losing essential details.

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?

Given the tool's moderate complexity (3 parameters, no annotations, no output schema), the description is largely complete. It covers purpose, usage, behavioral traits, and parameter semantics well. However, it lacks information on the return value (e.g., what the search results look like) and error conditions, which are important for an agent to handle responses appropriately.

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 description coverage is 0%, so the description must compensate. It adds meaningful semantics for all parameters: 'path' is explained with detailed guidance on absolute vs. relative paths and normalization; 'pattern' is implied as the substring for matching; 'timeoutMs' is described as customizing the default 30-second timeout. This goes beyond the bare schema, though it could explicitly map each parameter name to its purpose.

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 clearly states the tool's purpose with specific verbs ('finds files by name') and resource ('files'), and distinguishes it from sibling tools by explicitly contrasting it with 'execute_command' and 'search_code' (implied). It provides detailed matching behavior ('case-insensitive substring matching') and search scope ('through all subdirectories from the starting path').

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool ('Use this instead of 'execute_command' with find/dir/ls for locating files') and provides clear context on path handling ('Always use absolute paths for reliability'). It also mentions constraints like 'Only searches within allowed directories' and timeout customization, offering practical guidance for effective use.

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