Search by Property
vault_search_by_propertyFind notes where a frontmatter property matches a value — metadata-only search, no text query needed. Handles both scalar properties (status: "active") and array properties (tags, related).
Instructions
Find notes where a frontmatter property matches a value — metadata-only search, no text query needed. Handles both scalar properties (status: "active") and array properties (tags, related).
Example: vault_search_by_property({ key: "status", value: "in-progress" }) Example: vault_search_by_property({ key: "type", value: "session-log", folder: "Code Projects" })
When to use: Finding notes by metadata when you don't have a text query. Prefer vault_search when you also have a text query (it supports property filters too). Prefer vault_search_by_tag for tag-specific queries (supports hierarchical prefix matching). Use vault_list_property_keys to discover valid keys and vault_list_property_values to see what values a key takes.
Parameters:
key matches exactly and case-sensitively; value matches stored text the same way, with no partial matching or globbing.
A value written as a complete, finite YAML number (-4, 04, .5, 4., 1e3, 0x1F, 0o17) also matches stored numbers numerically: "04" and "4.0" match number 4 and their own literal text, but not text "4". Anything else ("4abc", " 4", 0b binary, "1e999") matches only as text. Numbers compare as 64-bit floats, so integers past 2^53 can compare equal and "1e-999" matches 0.
Pass a checkbox as "1" (checked) or "0" (unchecked); a checkbox matches only as text, so "1.0" and "true" do not match.
An array element must equal value in full: "blog" matches tags: ["blog", "draft"] but not tags: ["my-blog"].
folder names a whole folder and includes its subfolders: "Projects" covers "Projects/Archive" but not "ProjectsOld/". Matching ignores ASCII letter case; omit folder to search the entire vault.
limit keeps the most recently modified matches. Nothing in the response signals truncation: exactly limit results may mean more exist, so raise limit to check.
Errors:
An unknown key or unmatched value returns an empty array, not an error.
Returns: JSON array of note metadata (path, title, tags, related, folder, type, created, modified, bytes, leading_callout?, additional_properties?), sorted by filesystem mtime descending — recently-synced notes may sort ahead of older content edits.
leading_callout appears only when the note has a leading callout.
additional_properties appears only when frontmatter has keys outside title, type, created, related, and the first key spelled tags in any letter case.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Property key name (e.g. "status", "type", "tags"). | |
| limit | No | Max results (default 20, no upper cap) | |
| value | Yes | Value to match (e.g. "active", "4", "1e-7"). | |
| folder | No | Restrict to a folder (e.g. "Projects") |