{"slug":"cyanheads/obsidian-mcp-server","name":"Obsidian MCP Server","description":"Manage notes and files in an Obsidian vault. Requires the Obsidian Local REST API plugin.","category":"productivity","tags":[],"official":false,"stars":558,"transport":"stdio","install":[{"cmd":"npx (no","imports":[]}],"tools":[{"name":"obsidian_get_note","description":"Read a note as raw content, full structured form (content + frontmatter + tags + stat, with optional outgoing links), structural document map, or a single section."},{"name":"obsidian_list_notes","description":"List notes and subdirectories under a vault path. Recursive walk (default depth 2, max depth 20; 1000-entry cap) with optional extension and nameRegex filters."},{"name":"obsidian_list_tags","description":"List every tag found across the vault with usage counts, including hierarchical parents. Optional nameRegex post-filters the result set."},{"name":"obsidian_list_commands","description":"List Obsidian command-palette commands, optionally filtered by nameRegex on display name. Opt-in via OBSIDIAN_ENABLE_COMMANDS=true (paired with obsidian_execute_command)."},{"name":"obsidian_search_notes","description":"Search the vault by text, JSONLogic, or BM25-ranked Omnisearch (when the plugin is reachable). Results paginate via opaque cursors."},{"name":"obsidian_write_note","description":"Create a note, replace a single section in place, or — with overwrite: true — clobber an existing file. Refuses whole-file writes against an existing path by default."},{"name":"obsidian_append_to_note","description":"Append content to a note. Without section, creates the file if missing. With section, appends to a specific heading, block, or frontmatter field (file must exist)."},{"name":"obsidian_patch_note","description":"Surgical append / prepend / replace against a heading, block reference, or frontmatter field."},{"name":"obsidian_replace_in_note","description":"Body-wide search-replace inside a single note. Literal or regex matching with whole-word, whitespace-flexible, and case-sensitivity options; supports capture-group replacement."},{"name":"obsidian_manage_frontmatter","description":"Atomic get / set / delete on a single frontmatter key."},{"name":"obsidian_manage_tags","description":"Add, remove, or list tags. Defaults to the frontmatter tags: array; location: 'inline' or 'both' opts into mutating the note body."},{"name":"obsidian_delete_note","description":"Permanently delete a note. Elicits human confirmation when the client supports it."},{"name":"obsidian_open_in_ui","description":"Open a file in the Obsidian app UI, with failIfMissing and newLeaf toggles."},{"name":"obsidian_execute_command","description":"Execute an Obsidian command-palette command by ID. Opt-in via OBSIDIAN_ENABLE_COMMANDS=true."}],"env_vars":["OBSIDIAN_API_KEY","OBSIDIAN_BASE_URL","OBSIDIAN_OMNISEARCH_URL","MCP_HTTP_HOST","MCP_HTTP_PORT","MCP_PUBLIC_URL","MCP_AUTH_SECRET_KEY"],"auth_type":"none","github":"https://github.com/cyanheads/obsidian-mcp-server","homepage":"","server_url":"","status":"active","source":"mcpservers.org","updated_at":"Mon May 25"}