mcp-apple-obsidian
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OBSIDIAN_APP_PATH | No | Path to Obsidian.app | /Applications/Obsidian.app |
| OBSIDIAN_BACKUP_DIR | No | Directory for backups | ~/.obsidian-mcp-backups |
| OBSIDIAN_URI_TIMEOUT | No | URI execution timeout (seconds) | 10 |
| OBSIDIAN_DEFAULT_VAULT | No | Default vault name to use | |
| OBSIDIAN_MAX_FILE_SIZE | No | Maximum note size to read (bytes) | 10485760 |
| OBSIDIAN_CREATE_BACKUPS | No | Create backups before modifications | true |
| OBSIDIAN_APPLESCRIPT_TIMEOUT | No | AppleScript timeout (seconds) | 30 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| obsidian_list_vaultsA | List all known Obsidian vaults on this Mac. |
| obsidian_get_vault_infoA | Get detailed information about a specific vault. |
| obsidian_get_vault_statsA | Get comprehensive statistics about a vault. |
| obsidian_read_noteA | Read the contents of a specific note. |
| obsidian_list_notesA | List all notes in a vault or specific folder. |
| obsidian_get_note_metadataB | Get metadata about a note including tags, links, word count, and frontmatter. |
| obsidian_write_noteB | Create a new note or overwrite an existing one. |
| obsidian_create_noteC | Create a new note with a structured template. |
| obsidian_delete_noteB | Delete a note from the vault. |
| obsidian_move_noteC | Move or rename a note within the vault. |
| obsidian_append_noteA | Append content to the end of an existing note. |
| obsidian_prepend_noteB | Prepend content to the beginning of an existing note. |
| obsidian_search_notesA | Search for notes containing specific text or matching a pattern. |
| obsidian_find_backlinksB | Find all notes that link to a specific note. |
| obsidian_get_propertiesB | Get all frontmatter properties from a note. |
| obsidian_set_propertyC | Set a frontmatter property on a note. |
| obsidian_delete_propertyB | Delete a frontmatter property from a note. |
| obsidian_set_propertiesB | Set multiple frontmatter properties on a note at once. |
| obsidian_search_by_propertyA | Search notes by frontmatter property value. |
| obsidian_get_tagsA | Get all tags from a note (both inline and frontmatter). |
| obsidian_add_tagB | Add a tag to a note. |
| obsidian_remove_tagB | Remove a tag from a note. |
| obsidian_rename_tag_in_noteB | Rename a tag within a single note. |
| obsidian_rename_tag_vaultA | Rename a tag across all notes in the vault. |
| obsidian_list_all_tagsA | Get all unique tags across the vault with their occurrence counts. |
| obsidian_find_notes_by_tagA | Find all notes that contain a specific tag. |
| obsidian_get_tasksA | Get all tasks from a note. |
| obsidian_add_taskB | Add a new task to a note. |
| obsidian_complete_taskB | Mark a task as completed by matching its description. |
| obsidian_uncomplete_taskC | Mark a completed task as incomplete. |
| obsidian_delete_taskB | Delete a task from a note. |
| obsidian_update_taskC | Update a task's properties. |
| obsidian_search_tasksA | Search for tasks across the vault. |
| obsidian_check_app_runningA | Check if the Obsidian application is currently running. |
| obsidian_launch_appC | Launch the Obsidian application, optionally opening a specific vault. |
| obsidian_open_note_in_appC | Open a specific note in the Obsidian application. |
| obsidian_create_note_in_appC | Create a new note using Obsidian's URI scheme. |
| obsidian_open_daily_noteB | Open or create the daily note in Obsidian. |
| obsidian_open_search_in_appB | Open search in Obsidian with a query. |
| obsidian_focus_appB | Bring Obsidian to the foreground (activate it). |
| obsidian_get_active_note_infoA | Get information about the currently active note in Obsidian. |
| obsidian_get_app_versionA | Get the version of the installed Obsidian application. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 42 tools
Most tools have distinct purposes (e.g., add_tag vs remove_tag), but there is some overlap with note creation (create_note, create_note_in_app, write_note) and task operations (add_task, update_task). Descriptions help differentiate, but the sheer number of tools can cause confusion.
All tools follow a consistent 'obsidian_verb_noun' pattern with clear verbs (e.g., add, get, search, delete). Naming is uniform and predictable, aiding agent understanding.
42 tools is high for a single server, covering many aspects of Obsidian. While comprehensive, it may be overwhelming and could be streamlined. The scope justifies the count, but it exceeds typical optimal ranges.
The tool surface is very thorough, covering note CRUD, tasks, tags, properties, vault management, search, and app control. Only minor gaps (e.g., moving tasks) exist, making it highly complete for Obsidian automation.