fn list(folder?: string, ext?: string, recursive?: boolean, limit?: number, allowDotObsidian?: boolean)
List notes in the vault (filesystem backend when vaultRoot is set)
| Argument | Type | Required | Description |
|---|
| folder? | string | no | Filter by folder path |
| ext? | string | no | Filter by extension (e.g. 'md') |
| recursive? | boolean | no | Descend into subfolders (filesystem backend; default true) |
| limit? | number | no | Maximum files to return |
| allowDotObsidian? | boolean | no | Permit traversal of .obsidian and other hidden directories |
fn read(file: string, allowDotObsidian?: boolean)
Read a note's content
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note (e.g. 'folder/note.md') |
| allowDotObsidian? | boolean | no | Permit reading inside .obsidian |
fn fileInfo(file: string, allowDotObsidian?: boolean)
Show file metadata. Reports exists=false rather than failing when the note is absent.
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note |
| allowDotObsidian? | boolean | no | |
fn create(name: string, content?: string, template?: string, overwrite?: boolean, allowDotObsidian?: boolean)
Create or replace a note. Reports created, updated, or unchanged; an unchanged note is not rewritten.
| Argument | Type | Required | Description |
|---|
| name | string | yes | Path for the note (e.g. 'folder/note.md' or 'note') |
| content? | string | no | Note content |
| template? | string | no | Template name to use (CLI backend only) |
| overwrite? | boolean | no | Overwrite if file exists |
| allowDotObsidian? | boolean | no | |
fn append(file: string, content: string, separator?: string, inline?: boolean, allowDotObsidian?: boolean)
Append content to the end of a note
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note |
| content | string | yes | Content to append |
| separator? | string | no | Text inserted between the existing content and the new content. Wins over inline; defaults to a newline. |
| inline? | boolean | no | Shorthand for separator="" (append with no separator) |
| allowDotObsidian? | boolean | no | |
fn prepend(file: string, content: string, separator?: string, inline?: boolean, allowDotObsidian?: boolean)
Prepend content after the frontmatter
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note |
| content | string | yes | Content to prepend |
| separator? | string | no | Text inserted between the new content and the existing content. Wins over inline; defaults to a newline. |
| inline? | boolean | no | Shorthand for separator="" (prepend with no separator) |
| allowDotObsidian? | boolean | no | |
fn delete(file: string, permanent?: boolean, dryRun?: boolean, allowDotObsidian?: boolean)
Delete a note. Moves it to the vault's .trash by default on both backends.
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note |
| permanent? | boolean | no | Permanently delete instead of moving to trash |
| dryRun? | boolean | no | Report what would be removed without removing it |
| allowDotObsidian? | boolean | no | |
fn move(file: string, to: string)
Move or rename a note, rewriting wikilinks (needs the Obsidian CLI)
| Argument | Type | Required | Description |
|---|
| file | string | yes | Current path |
| to | string | yes | Destination folder or path |
fn search(query: string, folder?: string, path?: string, regex?: boolean, caseSensitive?: boolean, limit?: number, allowDotObsidian?: boolean)
Full-text search with matching line context
| Argument | Type | Required | Description |
|---|
| query | string | yes | Search query |
| folder? | string | no | Limit to folder |
| path? | string | no | Alias for folder |
| regex? | boolean | no | Treat the query as a regular expression (filesystem backend only) |
| caseSensitive? | boolean | no | Match case exactly (filesystem backend only) |
| limit? | number | no | Max matches to return |
| allowDotObsidian? | boolean | no | |
fn digest(folder?: string, datePrefixes?: array, nameContains?: array, signalKeywords?: array, maxFiles: number, maxBodyChars: number, allowDotObsidian?: boolean)
Scan the vault once and produce a queryable structural digest — headings, wikilinks, tags, refs, word counts, and signal-keyword rollups
| Argument | Type | Required | Description |
|---|
| folder? | string | no | Limit the scan to a folder |
| datePrefixes? | array | no | Only include files whose name starts with one of these prefixes |
| nameContains? | array | no | Only include files whose name contains one of these substrings |
| signalKeywords? | array | no | Keywords to count across note bodies, each hit recorded with its line |
| maxFiles | number | yes | Stop after this many files and report truncated=true |
| maxBodyChars | number | yes | Characters of body text to retain per note. Defaults to 0 — raising it copies note content into the swamp datastore. |
| allowDotObsidian? | boolean | no | |
fn tags(counts?: boolean)
List all tags in the vault (needs the Obsidian CLI)
| Argument | Type | Required | Description |
|---|
| counts? | boolean | no | Include occurrence counts |
fn tag(name: string)
List files with a specific tag (needs the Obsidian CLI)
| Argument | Type | Required | Description |
|---|
| name | string | yes | Tag name (e.g. '#swamp' or 'swamp') |
fn links(file: string)
Show outgoing links from a note (needs the Obsidian CLI)
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note |
fn backlinks(file: string)
Show files linking to a note (needs the Obsidian CLI)
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note |
fn orphans()
List notes with no incoming links (needs the Obsidian CLI)
fn unresolved(verbose?: boolean)
List unresolved/broken links in the vault (needs the Obsidian CLI)
| Argument | Type | Required | Description |
|---|
| verbose? | boolean | no | Include source files |
fn daily()
Open or create today's daily note (needs the Obsidian CLI)
fn dailyRead()
Read today's daily note content (needs the Obsidian CLI)
fn dailyAppend(content: string, separator?: string, inline?: boolean)
Append content to today's daily note (needs the Obsidian CLI)
| Argument | Type | Required | Description |
|---|
| content | string | yes | Content to append |
| separator? | string | no | Text inserted before the new content. Wins over inline; defaults to a newline. |
| inline? | boolean | no | Shorthand for separator="" |
fn dailyPrepend(content: string, separator?: string, inline?: boolean)
Prepend content to today's daily note (needs the Obsidian CLI)
| Argument | Type | Required | Description |
|---|
| content | string | yes | Content to prepend |
| separator? | string | no | Text inserted after the new content. Wins over inline; defaults to a newline. |
| inline? | boolean | no | Shorthand for separator="" |
fn properties(file: string, allowDotObsidian?: boolean)
Read frontmatter properties of a note
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note |
| allowDotObsidian? | boolean | no | |
fn propertySet(file: string, name: string, value: string, type?: enum, allowDotObsidian?: boolean)
Set a single frontmatter property on a note
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note |
| name | string | yes | Property name |
| value | string | yes | Property value (use a JSON array for list types, e.g. \ |
| type? | enum | no | Property type hint |
| allowDotObsidian? | boolean | no | |
fn setProperties(file: string, properties: record, allowDotObsidian?: boolean)
Merge several frontmatter properties into a note in one call
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note |
| properties | record | yes | Property map to merge. Values may be strings, numbers, booleans, null, or arrays. |
| allowDotObsidian? | boolean | no | |
fn propertyRemove(file: string, name: string, allowDotObsidian?: boolean)
Remove a frontmatter property from a note
| Argument | Type | Required | Description |
|---|
| file | string | yes | Path to note |
| name | string | yes | Property name to remove |
| allowDotObsidian? | boolean | no | |
Resources
note(infinite)— Single note content and metadata
fileInfo(infinite)— File metadata (existence, size, timestamps)
notes(infinite)— List of notes/files in vault
searchResults(infinite)— Search results with matching context
tags(infinite)— Tag listing
tagFiles(infinite)— Files matching a specific tag
links(infinite)— Links or backlinks for a note
unresolved(infinite)— Unresolved/broken links in vault
dailyNote(infinite)— Daily note content
properties(infinite)— Note frontmatter properties
operationResult(infinite)— Result of mutating operations
corpus(infinite)— Structural digest of the vault: per-note headings, wikilinks, tags, refs and word counts, plus signal-keyword rollups