obsidian-mcp-pro gives AI assistants deep, structured access to an Obsidian vault for reading, writing, searching, tagging, link analysis, graph traversal, and canvas manipulation.
Read & Search
search_notes— Full-text search with optional folder scopingget_note— Read full content and metadata by pathlist_notes— List all notes in the vault or a specific folderget_daily_note— Retrieve today's or a specific date's daily notesearch_by_frontmatter— Find notes by frontmatter property values
Write & Modify
create_note— Create a note with optional frontmatter and contentappend_to_note/prepend_to_note— Add content to end or beginning of a noteupdate_frontmatter— Update frontmatter without altering the note bodycreate_daily_note— Create a daily note, optionally from a templatemove_note— Move or rename a note (with automatic link updates)delete_note— Delete a note (to trash by default, or permanently)
Tags
get_tags— List all tags with usage counts, sortable by count or namesearch_by_tag— Find notes by single or multiple tags, with optional content preview
Links & Graph
get_backlinks/get_outlinks— Find notes linking to or from a given notefind_orphans— Identify notes with no incoming or outgoing linksfind_broken_links— Detect wikilinks pointing to non-existent notesget_graph_neighbors— Traverse the link graph up to 5 hops in any direction
Canvas
list_canvases— List all.canvasfiles in the vaultread_canvas— Read a canvas's full node and edge dataadd_canvas_node— Add a text, file, link, or group node with position, size, and coloradd_canvas_edge— Add a directed edge between nodes with optional label and side anchors
MCP Resources
Access vault data via URI patterns: obsidian://note/{path}, obsidian://tags, and obsidian://daily.
Vault selection is configured via OBSIDIAN_VAULT_PATH/OBSIDIAN_VAULT_NAME environment variables or automatic OS detection.
Allows for structured manipulation of Markdown documents within the vault, including parsing and updating frontmatter properties, as well as appending or prepending content to existing files.
Provides comprehensive access to Obsidian vaults, enabling AI agents to search notes, read and write content with frontmatter support, manage tags, analyze backlinks and outlinks, and traverse the link graph.
obsidian-mcp-pro
The most feature-complete MCP server for Obsidian vaults.
Give AI assistants deep, structured access to your Obsidian knowledge base. Read, write, search, tag, analyze links, traverse graphs, and manipulate canvases — all through the Model Context Protocol.
Features
Read & Search
Full-text search across all vault notes
Read individual notes with frontmatter parsing
List and filter notes by folder, date, or pattern
Search by frontmatter fields and values
Retrieve daily notes automatically
Write & Modify
Create new notes with frontmatter and content
Append or prepend content to existing notes
Update frontmatter properties programmatically
Move and rename notes with automatic link updates
Delete notes safely
Tags
Build and query a complete tag index
Search notes by single or multiple tags
Links & Graph
Get backlinks (what links to a note)
Get outlinks (what a note links to)
Find orphan notes with no inbound or outbound links
Detect broken links pointing to non-existent notes
Traverse graph neighbors to a configurable depth
Canvas
Read
.canvasfiles with full node and edge dataAdd new nodes (text, file, link, group) to canvases
Add edges between canvas nodes
List all canvases in the vault
MCP Resources
obsidian://note/{path}— read any note by its vault-relative pathobsidian://tags— retrieve the full tag index as JSONobsidian://daily— get today's daily note content
Quick Start
Claude Desktop
Add this to your Claude Desktop configuration file (claude_desktop_config.json):
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "obsidian-mcp-pro"]
}
}
}If you have multiple vaults, specify which one:
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "obsidian-mcp-pro"],
"env": {
"OBSIDIAN_VAULT_PATH": "/path/to/your/vault"
}
}
}
}Claude Code
claude mcp add obsidian-mcp-pro -- npx -y obsidian-mcp-proConfiguration
The server locates your vault using the following priority:
Priority | Method | Description |
1 |
| Environment variable with the absolute path to your vault |
2 |
| Environment variable to select a vault by folder name when multiple vaults exist |
3 | Auto-detection | Reads Obsidian's global config ( |
Auto-detection works on macOS, Windows, and Linux by reading the platform-specific Obsidian configuration directory.
Tool Reference
Tool | Description | Key Parameters |
| Full-text search across all notes |
|
| Read a note's content and metadata |
|
| List notes in the vault or a folder |
|
| Get today's (or a specific date's) daily note |
|
| Find notes by frontmatter property values |
|
| Create a new note with content and frontmatter |
|
| Append content to an existing note |
|
| Prepend content after frontmatter |
|
| Update frontmatter properties on a note |
|
| Create today's daily note from template |
|
| Move or rename a note |
|
| Delete a note from the vault |
|
| Get all tags and their usage counts |
|
| Find all notes with a specific tag |
|
| Get all notes that link to a given note |
|
| Get all links from a given note |
|
| Find notes with no links in or out |
|
| Detect links pointing to non-existent notes |
|
| Get notes connected within N link hops |
|
| List all | — |
| Read a |
|
| Add a node to a canvas |
|
| Add an edge between two canvas nodes |
|
MCP Resources
Resources provide a URI-based way to access vault data:
Resource URI | Description |
| Read any note by its vault-relative path |
| Full tag index with file lists (JSON) |
| Today's daily note content |
Development
# Clone the repository
git clone https://github.com/rps321321/obsidian-mcp-pro.git
cd obsidian-mcp-pro
# Install dependencies
npm install
# Build
npm run build
# Run in development (watch mode)
npm run dev
# Start the server locally
OBSIDIAN_VAULT_PATH=/path/to/vault npm startProject Structure
src/
index.ts # Server entry point and resource registration
config.ts # Vault detection and configuration
types.ts # Shared TypeScript interfaces
lib/
vault.ts # Core vault operations (read, search, list)
markdown.ts # Frontmatter parsing and tag extraction
tools/
read.ts # Search, get, list, daily note tools
write.ts # Create, append, prepend, update, move, delete tools
tags.ts # Tag index and tag search tools
links.ts # Backlinks, outlinks, orphans, broken links, graph tools
canvas.ts # Canvas read, node, edge, and list toolsTesting
npm test122 tests covering vault operations, markdown parsing (frontmatter, wikilinks, tags, code block detection), and integration tests with a mock vault.
License
MIT
Contributing
Contributions welcome! Please open an issue first to discuss what you'd like to change. Pull requests without a corresponding issue may be closed.