Exposes 12 tools that treat your Obsidian vault as a queryable graph, no Obsidian app or database required. Read and search notes with tag and frontmatter filtering, traverse the wikilink graph with BFS/DFS, find shortest paths between notes, and detect connected components or bridge nodes. Write operations include creating notes, patching sections, and moving files with automatic backlink updates across the entire vault. Scans your vault once on startup to build an in-memory graph, then watches for changes incrementally. Reach for this when you want Claude to navigate and manipulate your existing Obsidian knowledge base as a first-class graph structure rather than flat markdown files.
Public tool metadata for what this MCP can expose to an agent.
obsidian_list_files_in_dir1 paramsdirpathstringobsidian_list_files_in_vaultNo parameter schema in public metadata yet.
obsidian_get_file_contents1 paramsfilepathstringobsidian_simple_search2 paramsquerystringcontext_lengthstringobsidian_patch_content5 paramstargetstringcontentstringfilepathstringoperationstringtarget_typestringobsidian_append_content2 paramscontentstringfilepathstringobsidian_put_content2 paramscontentstringfilepathstringobsidian_delete_file2 paramsconfirmstringfilepathstringobsidian_complex_search1 paramsquerystringobsidian_batch_get_file_contents1 paramsfilepathsstringobsidian_get_periodic_note2 paramstypestringperiodstringobsidian_get_recent_periodic_notes3 paramslimitstringperiodstringinclude_contentstringobsidian_get_recent_changes2 paramsdaysstringlimitstringMCP server that turns any Obsidian vault into an AI-queryable knowledge graph.
What makes this different from the 24+ existing Obsidian MCP servers:
[[wikilinks]]move_note auto-updates all references across the vaultnpx obsidian-mcp --vault ~/my-obsidian-vault
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "obsidian-mcp", "--vault", "/path/to/vault"]
}
}
}
claude mcp add obsidian -- npx -y obsidian-mcp --vault /path/to/vault
| Tool | Description |
|---|---|
vault_stats | Overview: total notes, tags, links, orphans, components, top tags/hubs |
read_note | Full content + frontmatter + links + backlinks + sections |
search_notes | Filter by tags, folder, frontmatter, keyword. All combinable |
| Tool | Description |
|---|---|
graph_neighbors | Direct links + backlinks for a note |
graph_traverse | BFS/DFS from a note, N hops deep with tag filtering |
graph_shortest_path | Shortest link chain between two notes |
graph_analyze | Components, orphans, bridges, hubs, dead links |
| Tool | Description |
|---|---|
create_note | Create with content + frontmatter |
patch_note | Append, prepend, or replace a section. Update frontmatter |
move_note | Rename/move + auto-update all backlinks across vault |
delete_note | Delete + report broken links |
manage_tags | Add/remove/rename tags (vault-wide rename supported) |
Zero-config by default. Optional .obsidian-mcp.json in vault root:
{
"ignore": ["templates/", "daily-notes/", ".trash/"],
"watchDebounce": 100,
"maxTraversalDepth": 10,
"maxSearchResults": 500
}
--vault <path> Path to Obsidian vault (required)
--verbose Enable debug logging
--log-level <level> error | warn | info | debug (default: info)
.md files and builds an in-memory graph (~1-3s for 1k notes)Hardcoded exclusions: .obsidian/, .trash/, node_modules/
npm install
npm test # Run 66 tests
npm run build # Build to dist/
npm run dev -- --vault test/fixtures/vault # Dev mode
MIT
csoai-org/pdf-document-mcp
xt765/mcp-document-converter
io.github.xjtlumedia/markdown-formatter
io.github.ai-aviate/better-notion
suekou/mcp-notion-server
meterlong/mcp-doc