Skip to main content
Glama
levuvo-nextcloud-mcp

levuvo-nextcloud-mcp

search_files

Read-onlyIdempotent

Find files and folders by name in shared Nextcloud areas using case-insensitive substring matching, optionally scoped to a folder. Returns matching paths and metadata without full-text document search.

Instructions

Levuvo Nextcloud MCP v0.5.3 - Search file names. Configured maximum depth: 6. Configured maximum directories per search: 100. Configured maximum results: 100. (Server defaults: 6, 100 and 100; set via NEXTCLOUD_SEARCH_MAX_DEPTH, NEXTCLOUD_SEARCH_MAX_DIRECTORIES and NEXTCLOUD_SEARCH_MAX_RESULTS.) Find files and folders by NAME within the shared areas only (no full-text search inside documents). Matching is a case-insensitive substring match of query against each file and folder name. Without path, the search starts at all configured shares, and the shared root folders and files themselves are candidates too; with path, only the contents of that shared folder (or folder below a share) are searched. Excluded entries (NEXTCLOUD_DENIED_PATHS) are never searched or returned. Parameters: query (1-120 characters); path (optional, a shared folder to search in, default '' = all shares); max_depth (0-6, default 3) - number of subfolder levels to descend below the starting folders, 0 = only their direct entries; max_results (1-100, default 25). At most 100 folders are scanned per call, with up to 4 requests in parallel. Returns: query, path (the searched folder, '' for all shares), results (list of matching entries with path, name, is_dir, size_bytes, content_type, modified, etag, permissions (Nextcloud permission letters of the technical account)), directories_scanned (number of folders listed), complete, incomplete_reasons and note. complete=true means the chosen area was searched completely. complete=false means hits may be missing and incomplete_reasons lists why: depth_limit, directory_limit, result_limit (subfolders deeper than max_depth exist and were not searched; the folder budget was exhausted; more hits exist than max_results). Then never claim that every subfolder was searched: raise max_depth or max_results, narrow the query or search a subfolder with path. Read-only. Errors: invalid arguments and values above the configured limits are rejected; a file as path fails with 'path must be a folder; this is a file. Use get_file_info or read_file.'; a path that is not shared or explicitly excluded fails with 'The path is not released for the MCP agent.'; malformed paths (leading '/', '..', URL-encoded characters) are rejected; a missing entry fails with 'File or folder not found.'; Nextcloud authentication, network or server problems are reported as errors.

Input Schema

NameRequiredDescriptionDefault
pathNoOptional relative path of a shared folder (or a folder below one) to search in, not URL-encoded. Empty (default) = search all configured shares.
queryYesPart of a file or folder name (1-120 characters); case-insensitive substring match.
max_depthNoHow many subfolder levels below the starting folders to descend (0-6, default 3); 0 = only their direct entries.
max_resultsNoMaximum number of hits to return (1-100, default 25).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses the real operating envelope: depth, directory and result caps, parity with server defaults, that up to 100 folders are scanned with 4 parallel requests, that denied paths are never searched or returned, and that complete=false can hide hits for three named reasons. It also enumerates concrete error strings for file-as-path, unshared paths, malformed paths and missing entries, which is exactly the kind of behavior an agent cannot infer from 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.

Conciseness3/5

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

Purpose is front-loaded but preceded by a version string and a triple statement of the same limits (configured values, then server defaults, then the env var names). It also narrates the full return shape even though an output schema exists, and repeats parameter ranges verbatim, so several sentences do not earn their place.

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?

For a bounded filesystem search with a real truncation model, it covers starting scope, matching rules, all caps, exclusion policy, completeness signaling and failure modes. An agent can call it correctly, interpret partial results, and know when to retry with different arguments.

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: matching is case-insensitive substring, the shared roots themselves are candidates when path is empty, and max_depth counts levels below the starting folders. It does, however, largely restate the same parameter ranges and defaults that already appear in the schema.

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

Purpose4/5

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

It states a specific verb and resource ('Search file names', 'Find files and folders by NAME') and sharply scopes it against the bigger space of search ('no full-text search inside documents'). It only differentiates from siblings reactively, inside an error message ('Use get_file_info or read_file'), rather than stating up front how it relates to list_files or get_file_info.

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?

It gives clear context: name-only matching, shared areas only, behavior with and without path, and an explicit next action when results are incomplete ('raise max_depth or max_results, narrow the query or search a subfolder with path'). It does not proactively name list_files as the alternative when the agent just wants to enumerate a folder.

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

Deploy Server

Other Tools