# obsidian-mcp-server

obsidian-mcp-server is an MCP server that reads, writes, searches and surgically edits Obsidian vault notes, sections, frontmatter and tags over Obsidian's Local REST API plugin, with folder-scoped read and write permissions.

obsidian-mcp-server exposes 14 tools and 3 resources over the Model Context Protocol for working with an Obsidian vault, running as a stdio process or a local Streamable HTTP server. Tools can read a note in raw, structured, outline or single-section form, list notes and tags with filters and usage counts, and search the vault by plain text, JSONLogic or BM25-ranked Omnisearch when that plugin is available.

Editing tools can create a note or replace a section in place, append content to a note or a specific heading or frontmatter field, make surgical append, prepend or replace edits against a heading or block reference, do literal or regex search-and-replace scoped to a note's body, and atomically get, set or delete a single frontmatter key or manage tags. An optional command-execution tool for Obsidian's command palette is disabled by default and must be explicitly enabled.

It is written in TypeScript and licensed under Apache-2.0.

Website: https://github.com/cyanheads/obsidian-mcp-server
