Local-first semantic index for NAS storage, queryable over MCP. Provides workspace search, inspection, and browsing via gRPC and MCP tools.
FolderMCP defines 3 tools with clear verb-noun naming (search, inspect, browse) and comprehensive parameter schemas. All tools have descriptions (194 - 250 chars, within baseline 34 - 392 range) and input parameters with types and descriptions. However, output schemas are not documented in the visible code, only input schemas are shown. Parameter descriptions are good but lack explicit format constraints (e.g., 'Unix epoch' is mentioned but no range given). Error handling and recovery guidance are absent. Tool composition is sound: search returns node_id for inspect, and browse accepts path. No security issues detected (read-only operations). Descriptions include helpful usage guidance ('USE THIS as default', 'Do NOT use for discovery'), which aids LLM selection.
List the contents of a workspace folder by path. USE THIS when you know the folder path and want to navigate by location, not by content relevance.
Inspect a specific node you already have an id for. USE THIS only after foldermcp_search has returned a node_id and you want more detail about that one item. Do NOT use this to search.
Search the workspace for content relevant to a query. USE THIS as the default tool for any discovery, lookup, or 'what do I have about X' question. It already combines semantic, lexical, filename, and metadata signals — you do not need to call other tools to cover those. Do NOT use foldermcp_neighbors or foldermcp_inspect for discovery.
Output schemas not documented. Tool descriptions state what is returned (e.g., 'node_id') but formal output schema structure is not visible in source code. LLMs cannot plan downstream tool calls without knowing response field names and types.
Numeric parameter constraints lack explicit bounds. 'time_range_from' and 'time_range_to' are documented as 'Unix epoch' but no min/max range is specified. 'max_items' defaults to 50 but no upper bound is stated. LLMs may pass absurd values.
No error handling or recovery guidance. Tools lack descriptions of failure modes (e.g., 'node_id not found', 'path does not exist') and what the LLM should do next. Agents cannot self-correct on errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Enum constraints not enforced in schema. 'detail' parameter accepts 'brief|standard|full' and 'mode' accepts 'auto|semantic|lexical|filename', but these are documented as strings without enum type in the visible schema. LLMs may hallucinate invalid values.
Pagination guidance incomplete. 'foldermcp_browse' accepts 'cursor' but does not document how to detect end-of-results or whether 'cursor' is opaque. 'foldermcp_search' does not mention pagination at all despite potentially returning many results.