What it does & operational scope
Obsidian Vault MCP Server connects AI assistants directly to local Obsidian markdown vaults. Communicating over stdio or SSE by interfacing with the Obsidian Local REST API community plugin, it allows agents to search notes via Dataview queries, read document sections, update YAML frontmatter tags, and create cross-linked notes without cloud dependencies.
Obsidian Vault MCP Server is an open-source Model Context Protocol server developed under Apache-2.0 that connects AI assistants to local Obsidian vaults via the Local REST API plugin.
Your AI coding agent requires live access to Obsidian Vault tools and resources over local IPC or streamable transport.
You only need offline code completions or cannot grant necessary credential permissions on host system.
Client configuration & wire setup
Prerequisites: Node.js / uvx runtime + active authentication credentials exported to environment.
claude_desktop_config.json{ "mcpServers": { "obsidian": { "command": "npx", "args": ["-y", "obsidian-mcp-server@latest"], "env": { "OBSIDIAN_API_KEY": "<YOUR_LOCAL_PLUGIN_API_KEY>" } } }}Exposed tool endpoints & primitives
Discovered MCP Tools
4 Tools Readyread_note🟢 Read-Only (Safe)Read raw markdown document content and frontmatter from local vault
search_vault🟢 Read-Only (Safe)Search vault markdown files for keyword occurrences and tag mentions
create_note🟡 State MutationWrite a new markdown file into local Obsidian vault path
append_note🟡 State MutationAppend timestamped log entry or text block to an existing note
Scopes, secret storage, and sandbox boundaries
Run Obsidian Vault MCP Server with scoped environment tokens. Never run under root and restrict network ingress.Real conversational prompts & expected tool calls
💬 "Find latest technical updates for Obsidian Vault MCP Server from the last 7 days"read_note({ query: "Obsidian Vault MCP Server updates", limit: 5 })Returned 5 verified entries with timestamps, authors, and payload hashes. Zero data loss.
💬 "Inspect status and health boundaries for Obsidian Vault MCP Server"read_note_status({ verbose: true })Status: 200 OK. Transport: STDIO IPC. Active connections: 1. Blast radius: Safe.
Common error codes and recommended resolutions
Server failed to start (ENOENT or connection timeout)▼
Client process cannot resolve Node/Python binary on host system PATH.
Provide full absolute path to the binary in your client config (e.g. "/opt/homebrew/bin/node" or "C:\\Program Files\\nodejs\\node.exe").
Authentication rejected (401 / Invalid API Token)▼
Missing or expired environment variable in client config.
Confirm your environment key is exported in shell profile or passed explicitly in client JSON "env" block.
Windows path escaping syntax error▼
Unescaped single backslashes in JSON configuration files.
Use forward slashes or double backslashes in path strings (e.g., "C:/Users/name/.env" or "C:\\Users\\name").
Technical trade-offs and operational friction
+ Zero cloud lock-in; operates entirely on local plain text markdown files.
+ Preserves bidirectional wikilinks and YAML metadata integrity.
+ Fast local execution with zero third-party cloud subscription fees.
− Requires the third-party Obsidian Local REST API community plugin and mandates that the Obsidian desktop application remains running.
− Editing notes while the user actively types in Obsidian can produce conflicting disk writes and overwrite cursor positions.
Side-by-side rival comparisons
Compare Obsidian Vault MCP Server vs Notion MCP Server across transport protocols and exposed tools.
Enter ShowdownJSON-RPC 2.0 wire trace & receipts
Inspect Raw JSON-RPC 2.0 Wire PacketIPC TELEMETRY
1{2 "jsonrpc": "2.0",3 "id": 1,4 "method": "tools/call",5 "params": {6 "name": "inspect",7 "arguments": {}8 }9}