{ "manifest_version": "0.3", "name": "obsidian-mcp", "version": "1.0.0", "display_name": "Obsidian CLI Bundle", "description": "MCP Bundle for Obsidian CLI - Enable AI assistants to manage Obsidian vaults through conversational interface", "author": { "name": "Obsidian MCP Contributors", "url": "https://github.com/obsidian-mcp/obsidian-mcp-bundle" }, "homepage": "https://github.com/obsidian-mcp/obsidian-mcp-bundle", "license": "MIT", "icon": "assets/icon.png", "server": { "type": "node", "entry_point": "dist/index.js", "mcp_config": { "command": "node", "args": [ "${__dirname}/dist/index.js" ], "env": { "OBSIDIAN_VAULT": "${user_config.vault_name}", "MCP_LOG_LEVEL": "info" } } }, "user_config": { "vault_name": { "type": "string", "title": "Vault Name", "description": "Name of the Obsidian vault to manage (case-sensitive)", "required": true } }, "tools": [ { "name": "obsidian_create_note", "description": "Create a new note in the Obsidian vault. Optionally specify path, content, template, and whether to overwrite existing notes or open after creation." }, { "name": "obsidian_read_note", "description": "Read the content of a note from the Obsidian vault. Specify either the note name (file) or full path (path)." }, { "name": "obsidian_append_to_note", "description": "Append content to the end of an existing note. Specify either file name or path, and the content to append. Use inline flag to append without a new line." }, { "name": "obsidian_prepend_to_note", "description": "Prepend content to the beginning of an existing note. Specify either file name or path, and the content to prepend." }, { "name": "obsidian_delete_note", "description": "Delete a note from the Obsidian vault. By default moves to trash; use permanent flag for permanent deletion. Specify either file name or path." }, { "name": "obsidian_move_note", "description": "Move a note to a different location in the vault. Specify the current note (file or path) and the new path (newPath)." }, { "name": "obsidian_rename_note", "description": "Rename a note in the vault. Specify the current note (file or path) and the new name (newName)." }, { "name": "obsidian_open_note", "description": "Open a note in the Obsidian application. Specify either file name or path. Use newtab flag to open in a new tab." }, { "name": "obsidian_get_file_info", "description": "Get metadata and information about a note file. Specify either file name or path. Returns file size, dates, path, and other metadata." }, { "name": "obsidian_search", "description": "Search vault for text. Returns matching files and optionally match counts. Supports path filtering, result limits, case sensitivity, and multiple output formats (text/json)." }, { "name": "obsidian_get_backlinks", "description": "Get all backlinks (incoming links) to a note. Shows which notes reference this note. Optionally include link counts." }, { "name": "obsidian_get_outgoing_links", "description": "Get all outgoing links from a note. Shows which notes this note references. Useful for understanding note connections." }, { "name": "obsidian_list_unresolved_links", "description": "List all unresolved (broken) wikilinks in the vault. Shows links pointing to notes that don't exist. Useful for finding content gaps." }, { "name": "obsidian_list_deadends", "description": "List all dead-end notes (notes with no outgoing links). These notes don't connect to anything else in the vault." }, { "name": "obsidian_list_orphans", "description": "List all orphan notes (notes with no incoming links/backlinks). These notes aren't referenced by any other notes." }, { "name": "obsidian_list_tags", "description": "List all tags in the vault or in a specific note. Optionally include usage counts and sort by frequency or name." }, { "name": "obsidian_search_by_tag", "description": "Get detailed information about a specific tag, including which notes use it and how many times." }, { "name": "obsidian_list_aliases", "description": "List all aliases in the vault or for a specific note. Aliases are alternative names for notes." }, { "name": "obsidian_list_properties", "description": "List all properties used in the vault. Shows property keys and optionally their types and usage counts." }, { "name": "obsidian_get_property_count", "description": "Get the usage count for a specific property across the vault. Shows how many notes use this property." }, { "name": "obsidian_list_tasks", "description": "List all tasks in the vault or specific file. Filter by status (done/todo), show line numbers with verbose flag." }, { "name": "obsidian_toggle_task", "description": "Toggle a task status between done and todo. Specify task by ref (path:line) or by file/path + line number." }, { "name": "obsidian_mark_task_done", "description": "Mark a task as done (completed). Specify task by ref (path:line) or by file/path + line number." }, { "name": "obsidian_mark_task_todo", "description": "Mark a task as todo (incomplete). Specify task by ref (path:line) or by file/path + line number." }, { "name": "obsidian_update_task_status", "description": "Set a custom status character for a task (e.g., '-', '>', '!', '?'). Specify task by ref or file/path + line." }, { "name": "obsidian_get_property", "description": "Read a single property value from a file. Specify property name and file (by name or path)." }, { "name": "obsidian_set_property", "description": "Set or update a property on a file. Specify property name, value, optional type, and file." }, { "name": "obsidian_remove_property", "description": "Remove a property from a file. Specify property name and file (by name or path)." } ] }