obsidian-vault-mcp
Enables Claude to read, write, search, and manage an Obsidian vault with tools for notes, tags, folders, and full-text search.
README
Obsidian Vault MCP Server
An MCP server that gives Claude full read/write access to your Obsidian vault. Works with Claude Code and Claude Desktop.
What it does
Gives Claude 10 tools to work with your vault:
| Tool | Description |
|---|---|
search_vault |
Full-text search across all notes |
read_note |
Read a note's content |
list_recent |
List recently modified notes |
list_folder |
Browse folders and notes |
search_tags |
Find notes by #tag |
create_note |
Create a new note |
update_note |
Replace or append to a note |
delete_note |
Delete a note |
create_folder |
Create a new folder |
move_note |
Move or rename a note |
Quick start
1. Clone and build
git clone <this-repo>
cd obsidian-vault-mcp
npm install
npm run build
2. Find your vault path
Your Obsidian vault is just a folder on your filesystem. You need the absolute path to it.
Common locations:
- macOS:
~/Documents/My Vaultor~/Obsidian - Windows:
C:\Users\YourName\Documents\My Vault - Linux:
~/Documents/My Vault - iCloud (macOS):
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/My Vault - Google Drive:
~/Library/CloudStorage/GoogleDrive-you@gmail.com/My Drive/My Vault
To check: open Obsidian, click the vault icon (bottom-left), and look at the path shown under your vault name.
3. Configure Claude
Pick the setup that matches how you use Claude.
Option A: Claude Code
Add to ~/.claude/mcp.json (create the file if it doesn't exist):
{
"mcpServers": {
"obsidian-vault": {
"command": "node",
"args": ["/absolute/path/to/obsidian-vault-mcp/dist/index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "/absolute/path/to/your/obsidian/vault"
}
}
}
}
Then restart Claude Code.
Option B: Claude Desktop
Open Claude Desktop settings (gear icon) > Developer > Edit Config, and add:
{
"mcpServers": {
"obsidian-vault": {
"command": "node",
"args": ["/absolute/path/to/obsidian-vault-mcp/dist/index.js"],
"env": {
"OBSIDIAN_VAULT_PATH": "/absolute/path/to/your/obsidian/vault"
}
}
}
}
Then restart Claude Desktop.
4. Test it
Ask Claude:
"List the folders in my Obsidian vault"
or
"Search my vault for notes about project planning"
Requirements
- Node.js 18+
- Obsidian vault (any vault — it reads/writes markdown files directly)
- ripgrep (optional, but makes search much faster)
Installing ripgrep (recommended)
Search is ~10x faster with ripgrep. Without it, the server falls back to a basic Node.js file search which works fine for smaller vaults.
# macOS
brew install ripgrep
# Ubuntu/Debian
sudo apt install ripgrep
# Windows (with Chocolatey)
choco install ripgrep
# Windows (with Scoop)
scoop install ripgrep
How it works
The server reads and writes .md files directly on your filesystem — it doesn't go through the Obsidian app or its API. This means:
- Obsidian doesn't need to be running
- Changes sync instantly (Obsidian picks them up when it's open)
- It works with any sync setup (iCloud, Google Drive, Syncthing, etc.)
- Only
.mdfiles are visible — attachments, images, and hidden files are ignored
Permissions note
This server has full read/write access to your vault. Claude can create, edit, move, and delete notes. If you want read-only access, remove the write tools (create_note, update_note, delete_note, create_folder, move_note) from the source, or deny those tools in your Claude Code permissions.
Troubleshooting
"Missing required environment variable: OBSIDIAN_VAULT_PATH"
You haven't set the vault path. Check your config — OBSIDIAN_VAULT_PATH must be set in the env block.
"Vault path does not exist" The path is wrong. Double-check the absolute path to your vault folder. Make sure there are no typos, and that you're using the right path separator for your OS.
"Cannot find module" errors
Run npm run build — the TypeScript needs to be compiled to JavaScript first.
Search returns no results but you know the content exists If ripgrep isn't installed, the fallback search is slower and may time out on very large vaults. Install ripgrep for better performance.
Claude doesn't see the tools Restart Claude Code or Claude Desktop after changing the config. Check the MCP server logs in Claude Desktop (Developer > Logs).
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.