obsidian-mcp
Provides read/write access to an Obsidian vault, enabling AI agents to create, edit, append, search, and browse notes, as well as manage daily notes and project documentation.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@obsidian-mcp Search my notes for the API design doc"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Obsidian MCP
An MCP (Model Context Protocol) server that gives Claude Code read/write access to your Obsidian vault.
Documentation | PyPI | GitHub
Quick Start with Claude Code
The fastest way to get up and running:
claude mcp add obsidian -- uvx obsidian-mcpThen restart Claude Code and tell it:
"Configure obsidian vault at /path/to/your/vault"
That's it -- Claude can now read, write, and search your Obsidian notes.
Related MCP server: Vault Cortex Obsidian MCP Server
Features
Read & write notes - Create, edit, and append to markdown files
Search - Full-text search across your vault
Daily notes - Read or append to daily notes with configurable date format
Browse - List files and folders in your vault
Secure - Only accesses your configured vault directory
Installation
Via uvx (recommended -- no install needed)
If you set up via the Quick Start above, you don't need to install anything. uvx runs the package directly from PyPI in an isolated environment each time.
Via pipx (persistent install)
pipx install obsidian-mcpThen configure Claude Code:
claude mcp add obsidian -- obsidian-mcpVia pip
pip install obsidian-mcpThen configure Claude Code:
claude mcp add obsidian -- python3 -m obsidian_mcp.serverFrom source
git clone https://github.com/bbdaniels/obsidian-mcp.git
cd obsidian-mcp
pip install -e .Then configure Claude Code:
claude mcp add obsidian -- obsidian-mcpFirst-Time Setup
Once configured, tell Claude:
"Configure obsidian vault at /path/to/your/vault"
Claude will run obsidian_configure to set up the vault path. Your configuration is stored at ~/.config/obsidian-mcp/config.json.
Available Tools
Tool | Description |
| Set vault path and daily notes settings |
| Show current configuration and vault stats |
| Read a note's contents |
| Create or overwrite a note |
| Append to a note (optionally under a heading) |
| Search notes by content |
| Browse vault structure |
| Read/append to daily notes |
Built-in Prompts
The server includes MCP prompts that provide structured workflows for common note-taking patterns. These show up as invocable prompts in Claude Code.
Prompt | Description |
| Review daily notes and project context before starting work |
| Document accomplishments, decisions, and open questions at end of session |
| Review and update a specific project's documentation |
Each prompt accepts an optional project argument to focus on a specific project folder.
Automatic Instructions
When this server is connected, Claude automatically receives guidance about when and how to use the Obsidian tools -- no CLAUDE.md configuration needed. The built-in instructions tell Claude to:
Check for project context at the start of sessions
Document decisions as they're made (not just at the end)
Update daily notes with session summaries
Search for existing notes before creating new ones
Example Usage
Once configured, you can ask Claude things like:
"Search my notes for authentication patterns"
"Read my project architecture note"
"Append today's session summary to my daily note"
"Create a new note at Projects/my-project/decisions.md"
"List all notes in my Work folder"
Configuration
Config is stored at ~/.config/obsidian-mcp/config.json:
{
"vault_path": "/path/to/your/vault",
"daily_notes_folder": "Daily Notes",
"daily_notes_format": "%Y-%m-%d"
}Options
Option | Default | Description |
| (required) | Absolute path to your Obsidian vault |
|
| Folder for daily notes |
|
| Date format for daily note filenames |
Customizing Claude Instructions (Optional)
The server includes built-in instructions that guide Claude's note-taking behavior automatically. For additional customization, you can add to ~/.claude/CLAUDE.md:
## Obsidian Note-Taking
### Project Notes
- Vault uses project folders (e.g., MyProject/) with notes like Technical Notes.md, Overview.md
- Always update BOTH daily notes AND project-specific notes
- Include commit hashes and file references in technical notesLicense
MIT
Available Tools
8 toolsobsidian_appendA
Append content to an existing note, or create it if it doesn't exist. Prefer this over obsidian_write when adding to existing project documentation.
Inputs: path (required), content (required), heading.
obsidian_configureA
Configure the Obsidian vault path and settings. Run this first to set up your vault.
Inputs: vault_path (required), daily_notes_folder, daily_notes_format.
obsidian_dailyA
Read or append to today's daily note. Creates the note if it doesn't exist. Use this at the end of work sessions to document accomplishments, decisions, and open questions.
Inputs: action (required), content, date.
obsidian_listB
List notes and folders in the vault. Use at the start of sessions to discover project folders and available documentation.
Inputs: folder, recursive.
obsidian_readB
Read the contents of a note from the Obsidian vault. Returns the full markdown content.
Inputs: path (required).
obsidian_searchA
Search for notes containing specific text. Returns matching file paths and snippets. Use before creating new notes to find existing relevant documentation.
Inputs: query (required), folder, max_results.
obsidian_statusA
Show current configuration and vault status.
Inputs: no named parameters.
obsidian_writeA
Create or overwrite a note in the Obsidian vault. Creates parent folders if needed.
Inputs: path (required), content (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: append vs write, daily for daily notes, list for browsing, read for viewing, search for finding, configure/status for setup. No overlapping functionality.
All tools follow the 'obsidian_<verb>' pattern in snake_case, creating a predictable and uniform naming scheme. Even 'daily' fits as a verb-like noun.
With 8 tools, the set covers all essential note-taking operations (CRUD, search, daily notes, configuration) without excess or deficiency.
The tool set covers create, read, update (append), search, list, and configuration. However, it lacks a delete or trash operation, which is a minor gap for full lifecycle management.
Maintenance
Related MCP Connectors
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Safe folder access for ChatGPT and Claude: read, write and search files, risky tools opt-in.
Find, read, create and edit Plainer files with Claude Code or Codex. Approve access in your browser.
Work on your own computers from Claude or ChatGPT: run commands, edit and search files.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables Claude to read, write, search, and manage Obsidian vault notes with Git-backed sync support for multi-device access and extensible AI workflows.7,397 npm-
- AlicenseAqualityAmaintenanceStandalone MCP server for Obsidian vaults - hybrid search (FTS5 + vector + cross-encoder reranking), images and PDFs in agent-readable form, Kanban-aware tasks (Tasks-plugin + Dataview formats), structured memory with topic recall, fine-grained read/write tools for optimal token efficiency, and link graph support. Run locally, self-host, or one-click deploy for remote access. OAuth 2.1.1633429 npm38MIT
- AlicenseNot gradedqualityCmaintenanceEnables Claude Code to serve as the primary interface for a personal knowledge vault (zk or Obsidian), allowing full read, write, search, and synthesis operations on notes.Apache 2.0
- AlicenseAqualityDmaintenanceGives Claude direct access to an Obsidian vault, enabling read, write, search, and automatic git sync for cross-device use.167,397 npmApache 2.0