Skip to main content
Glama

search_notes_tool

Search Obsidian notes by full-text query with exact, regex, or fuzzy modes. Get ranked results with snippets, tags, and frontmatter filtering for precise retrieval.

Instructions

Full-text search with snippets and relevance ranking. mode: 'exact' (default) | 'regex' | 'fuzzy'. data.items: [{path, score, snippets, tags}]. frontmatter_filter: combine with the text search in one call — same shape as query_notes_tool's (plain value = exact match, or {"$ne": v} / {"$nin": [...]} / {"$exists": bool}). field: None/'body' (default, search note content) | 'filename' (match only the file name). threshold: fuzzy-match similarity cutoff 0-1 (only used when mode='fuzzy'; lower = looser matches, higher = less noise).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagNo
modeNoexact
fieldNo
limitNo
queryYes
vaultNo
thresholdNo
frontmatter_filterNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does a good job explaining parameter-specific behaviors: mode options, threshold semantics, field selection, and the frontmatter_filter syntax. It also reveals the output shape (`data.items`) and that results include snippets, scores, and tags. However, it does not state read-only intent, pagination behavior, or error cases, though these are less critical for a search tool and partially covered by the output schema.

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 compact and front-loaded with the core purpose, then lays out parameter details in a bullet-like format. Each line is information-dense with no filler. The structure is clear, though the inline enumeration of modes and filter shapes could be slightly cleaner with separators, but it remains easy to scan.

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

Completeness3/5

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

The tool has 8 parameters and no schema-level descriptions, yet the description covers only the complex ones. It doesn't explain how `query`, `limit`, `vault`, and `tag` behave, nor does it mention response structure beyond the `data.items` hint (which is partly redundant given the output schema). Some gaps remain for an agent to infer defaults and interactions, but the presence of an output schema and the detailed explanation of the hardest parameters make it adequate.

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, and it does for several non-obvious parameters: mode, field, threshold, and frontmatter_filter are all explained with meaning beyond their names. The description omits details for `query`, `limit`, `vault`, and `tag`, but these are fairly self-explanatory or have conventional meanings. The explanation of `frontmatter_filter` with operand examples adds substantial semantic value.

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 performs 'Full-text search with snippets and relevance ranking,' which is a specific verb and resource. It also distinguishes from siblings like query_notes_tool (structured queries) and find_similar_notes_tool (semantic similarity) by focusing on full-text search and relevance ranking. The mention of `data.items` output shape reinforces the purpose.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives like query_notes_tool or find_similar_notes_tool. It references query_notes_tool only to explain the shape of frontmatter_filter, not to differentiate use cases. There is no 'use this when' or 'instead of' advice, leaving the agent to infer the tool's role from the name and purpose.

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