Execute an Obsidian Base — return matching notes
obsidian_query_baseExecute a saved .base query to filter markdown notes by tags, paths, frontmatter, or custom DSL, returning matching file paths and frontmatter values.
Instructions
v3.2.0 (extended in v3.5.0) — Runs a .base file's filter against the vault's markdown notes, returning matching paths + the frontmatter values that contributed to the match. Supported DSL: tag == "x", taggedWith(file.file, "x"), linksTo(file.file, "Target") (v3.5.0 — outbound wikilink check, basename-resolved, case-insensitive), path startsWith "X" / path contains "X" / file.path startsWith "X" (v3.5.0 — file. prefix accepted), file.name == "X" / file.name != "X" (v3.5.0 — basename equality, .md stripped), <frontmatter_key> == <value>, <key> != <value>, <key> contains "<substr>", plus and / or / not combinators. Anything else (formula evaluation, date arithmetic, summaries) is fail-closed since v3.6.2 HN-2 — treated as false (excludes the row) and returned in unevaluated_predicates so callers see typo/unsupported expressions in the response. Pre-v3.6.2 the behavior was permissive (true); v3.6.2 flipped it after an external auditor flagged over-include risk. Pair with obsidian_search for retrieval-quality search; this is for explicit saved queries.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Vault-relative path of the .base file | |
| view | No | Optional view name. When set, the view's filters are concat'd with the global filter via AND (matching Obsidian semantics). Defaults to the global filter only. | |
| folder | No | Extra folder scope on top of the base's filters | |
| limit | No | Max matches to return (default 50) |