find_notes_by_property
Find notes whose frontmatter has a key (optionally equal to a value, or containing it when the value is a list). Set response_format=concise (legacy alias verbosity=terse) to return path only (dropping the matched value). Set nested=true to match a dotted key path. Domain: metadata.
| Domain | metadata |
| Scopes | read:notes |
| Access | read |
| Tags | read-only, domain:metadata |
| Profile | core, full |
Annotations
Section titled “Annotations”| Annotation | Value |
|---|---|
| Read-only | yes |
| Destructive | no |
| Idempotent | no |
| Accepts an idempotency key | no |
Idempotent is the advisory MCP idempotentHint. Destructive is also yes for a tool that
asks for confirmation only on some calls.
Confirmation (human in the loop)
Section titled “Confirmation (human in the loop)”No human confirmation is required to call this tool.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
vault |
string |
— | Vault id. May be omitted when only one vault is available. length 1–64; pattern ^[a-z0-9_-]+$ |
|
key |
string |
yes | — | length ≥ 1 |
value |
any |
— | — | |
folder |
string |
— | length 1–1024 | |
limit |
integer |
100 |
range 1–1000 | |
cursor |
string |
— | — | |
response_format |
enum |
— | concise returns only the high-signal fields; detailed (the shipped default) returns the full payload. Errors and safety warnings are never trimmed. When omitted, the server’s tools.defaults.responseFormat applies. One of: "concise", "detailed" |
|
verbosity |
enum |
— | Legacy alias for response_format: terse = concise, full = detailed. One of: "full", "terse" |
|
nested |
boolean |
false |
— |
Output
Section titled “Output”| Field | Type | Always present | Description |
|---|---|---|---|
warnings |
object[] |
— | |
warnings[].path |
string |
with parent | — |
warnings[].reason |
enum |
with parent | One of: "frontmatter_yaml" |
warnings[].message |
string |
with parent | — |
warnings_omitted |
integer |
range ≥ -9007199254740991 | |
vault |
string |
yes | — |
key |
string |
yes | — |
total |
integer |
yes | range ≥ -9007199254740991 |
truncated |
boolean |
yes | — |
next_cursor |
string | null |
yes | — |
matches |
object[] |
yes | — |
matches[].path |
string |
yes | — |
matches[].value |
any |
— |
Related tools
Section titled “Related tools”Other tools in the metadata domain: add_tag, bulk_set_property, find_notes_by_tag, get_note_tags, list_properties, list_tags, read_frontmatter, read_metadata_fields, read_property, remove_tag, suggest_tags, update_frontmatter.
Back to the tool catalog.