search_by_property_tool
Search notes in Obsidian vaults using frontmatter metadata properties like status, priority, or dates with comparison operators.
Instructions
Search for notes by their frontmatter property values.
When to use:
Finding notes with specific metadata (status, priority, etc.)
Filtering by numeric properties (rating > 4, priority <= 2)
Filtering by date properties (deadline < "2024-12-31")
Searching within array/list properties (tags, aliases, categories)
Checking which notes have certain properties defined
Building database-like queries on your notes
Property types supported:
Text/String: Exact match or contains
Numbers: Comparison operators work numerically
Dates: ISO format (YYYY-MM-DD) with intelligent comparison
Arrays/Lists: Searches within list items, comparisons use list length
Legacy properties: Automatically handles tag→tags, alias→aliases migrations
When NOT to use:
Content search (use search_notes instead)
Tag search (use search_notes with tag: prefix)
Path/filename search (use search_notes with path: prefix)
Examples:
Find active projects: property_name="status", value="active"
Find high priority: property_name="priority", operator=">", value="2"
Find notes with deadlines: property_name="deadline", operator="exists"
Find notes by author: property_name="author", operator="contains", value="john"
Find notes with tag in list: property_name="tags", value="project"
Find past deadlines: property_name="due_date", operator="<", value="2024-01-01"
Returns: Notes matching the property criteria with values displayed
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| property_name | Yes | The frontmatter property to search for (e.g., 'status', 'priority'). These are metadata fields at the top of notes. | |
| value | No | ||
| operator | No | How to compare: '=' exact match, '!=' not equal, '>/</>=/<=' for numbers/dates, 'contains' partial match, 'exists' just checks presence | = |
| context_length | No | Characters of note content to include | |
| ctx | No |