Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
OBSIDIAN_API_URL | No | Override the default API endpoint (default: https://localhost:27124) | https://localhost:27124 |
OBSIDIAN_REST_API_KEY | Yes | API key from the Local REST API plugin in Obsidian |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
read_note_tool | Read the content and metadata of a specific note.
When to use:
- Displaying note contents to the user
- Analyzing or processing existing note data
- ALWAYS before updating a note to preserve existing content
- Verifying a note exists before making changes
When NOT to use:
- Searching multiple notes (use search_notes instead)
- Getting only metadata (use get_note_info for efficiency)
Returns:
Note content and metadata including tags, aliases, and frontmatter |
create_note_tool | Create a new note or overwrite an existing one.
When to use:
- Creating new notes with specific content
- Setting up templates or structured notes
- Programmatically generating documentation
When NOT to use:
- Updating existing notes (use update_note unless you want to replace entirely)
- Appending content (use update_note with merge_strategy="append")
Returns:
Created note information with path and metadata |
update_note_tool | Update the content of an existing note.
⚠️ IMPORTANT: By default, this REPLACES the entire note content.
Always read the note first if you need to preserve existing content.
When to use:
- Updating a note with completely new content (replace)
- Adding content to the end of a note (append)
- Programmatically modifying notes
When NOT to use:
- Making small edits (read first, then update with full content)
- Creating new notes (use create_note instead)
Returns:
Update status with path, metadata, and operation performed |
delete_note_tool | Delete a note from the vault.
Args:
path: Path to the note to delete
Returns:
Deletion status |
search_notes_tool | Search for notes containing specific text or matching search criteria.
When to use:
- Finding notes by content keywords
- Locating notes with specific tags
- Searching within specific folders
When NOT to use:
- Searching by date (use search_by_date instead)
- Listing all notes (use list_notes for better performance)
- Finding a specific known note (use read_note directly)
Returns:
Search results with matched notes, relevance scores, and context |
search_by_date_tool | Search for notes by creation or modification date.
When to use:
- Finding recently modified notes
- Locating notes created in a specific time period
- Reviewing activity from specific dates
When NOT to use:
- Content-based search (use search_notes)
- Finding notes by tags or path (use search_notes)
Returns:
Notes matching the date criteria with paths and timestamps |
list_notes_tool | List notes in the vault or a specific directory.
Args:
directory: Specific directory to list (optional, defaults to root)
recursive: Whether to list all subdirectories recursively (default: true)
Returns:
Vault structure and note paths |
list_folders_tool | List folders in the vault or a specific directory.
When to use:
- Exploring vault organization structure
- Verifying folder names before creating notes
- Checking if a specific folder exists
- Understanding the hierarchy of the vault
When NOT to use:
- Listing notes (use list_notes instead)
- Searching for content (use search_notes)
Returns:
Folder structure with paths and names |
move_note_tool | Move a note to a new location, optionally updating all links.
Args:
source_path: Current path of the note
destination_path: New path for the note
update_links: Whether to update links in other notes (default: true)
Returns:
Move status and updated links count |
create_folder_tool | Create a new folder in the vault, including all parent folders in the path.
When to use:
- Setting up project structure in advance
- Creating deep folder hierarchies (e.g., "Apple/Studies/J71P")
- Creating archive folders before moving notes
- Establishing organizational hierarchy
- Preparing folders for future content
When NOT to use:
- If you're about to create a note in that path (folders are created automatically)
- For temporary organization (just create notes directly)
Note: Will create all necessary parent folders. For example, "Apple/Studies/J71P"
will create Apple, Apple/Studies, and Apple/Studies/J71P if they don't exist.
Returns:
Creation status with list of folders created and placeholder file path |
move_folder_tool | Move an entire folder and all its contents to a new location.
When to use:
- Reorganizing vault structure
- Archiving completed projects
- Consolidating related notes
- Seasonal organization (e.g., moving to year-based archives)
When NOT to use:
- Moving individual notes (use move_note instead)
- Moving to a subfolder of the source (creates circular reference)
Returns:
Move status with count of notes and folders moved |
add_tags_tool | Add tags to a note's frontmatter.
When to use:
- Organizing notes with tags
- Bulk tagging operations
- Adding metadata for search
When NOT to use:
- Adding tags in note content (use update_note)
- Replacing all tags (use update_note with new frontmatter)
Returns:
Updated tag list for the note |
update_tags_tool | Update tags on a note - either replace all tags or merge with existing.
When to use:
- After analyzing a note's content to suggest relevant tags
- Reorganizing tags across your vault
- Setting consistent tags based on note types or projects
- AI-driven tag suggestions ("What is this note about? Add appropriate tags")
When NOT to use:
- Just adding a few tags (use add_tags)
- Just removing specific tags (use remove_tags)
Returns:
Previous tags, new tags, and operation performed |
remove_tags_tool | Remove tags from a note's frontmatter.
Args:
path: Path to the note
tags: List of tags to remove (without # prefix)
Returns:
Updated tag list |
get_note_info_tool | Get metadata and information about a note without retrieving its full content.
Args:
path: Path to the note
Returns:
Note metadata and statistics |
get_backlinks_tool | Find all notes that link to a specific note (backlinks).
When to use:
- Understanding which notes reference a concept or topic
- Discovering relationships between notes
- Finding notes that depend on the current note
- Building a mental map of note connections
When NOT to use:
- Finding links FROM a note (use get_outgoing_links)
- Searching for broken links (use find_broken_links)
Performance note:
- Fast for small vaults (<100 notes)
- May take several seconds for large vaults (1000+ notes)
- Consider using search_notes for specific link queries
Returns:
All notes linking to the target with optional context |
get_outgoing_links_tool | List all links from a specific note (outgoing links).
When to use:
- Understanding what a note references
- Checking note dependencies before moving/deleting
- Exploring the structure of index or hub notes
- Validating links after changes
When NOT to use:
- Finding notes that link TO this note (use get_backlinks)
- Searching across multiple notes (use find_broken_links)
Returns:
All outgoing links with their types and optional validity status |
find_broken_links_tool | Find all broken links in the vault or a specific directory.
When to use:
- After renaming or deleting notes
- Regular vault maintenance
- Before reorganizing folder structure
- Cleaning up after imports
When NOT to use:
- Checking links in a single note (use get_outgoing_links with check_validity)
- Finding backlinks (use get_backlinks)
Returns:
All broken links grouped by source note |
list_tags_tool | List all unique tags used across the vault with usage statistics.
When to use:
- Before adding tags to maintain consistency
- Getting an overview of your tagging taxonomy
- Finding underused or overused tags
- Discovering tag variations (e.g., 'project' vs 'projects')
When NOT to use:
- Getting tags for a specific note (use get_note_info)
- Searching notes by tag (use search_notes with tag: prefix)
Performance note:
- For vaults with <1000 notes: Fast (1-3 seconds)
- For vaults with 1000-5000 notes: Moderate (3-10 seconds)
- For vaults with >5000 notes: May be slow (10+ seconds)
- Uses batched concurrent requests to optimize performance
Returns:
All unique tags with optional usage counts |