list_foldersLABSCO SUMMARY
Metadata is a first-class surface here, not a side effect of writing the file.
Frontmatter has its own read, write and search path, so an assistant can retag or reclassify notes without rewriting bodies — the operation most vault tooling collapses into a full-file edit. Template-based creation and folder creation are on the roadmap rather than in the tool list, so new notes land where you tell them to and nowhere else.
What it is
An MCP server that exposes one Obsidian vault as tools. It reads and writes note bodies, manages frontmatter separately from content, lists folders and notes, searches by content or by metadata, follows outgoing links and backlinks, and handles the daily-note conventions. It works on the vault directory directly, so no Obsidian plugin or running app is involved.
What you get
- Notes created, edited, appended to and deleted, with frontmatter updated as its own operation —
create_note,edit_note,append_to_note,update_note_metadata,delete_note - Note bodies and metadata read back individually —
get_note_content,get_note_metadata - The vault browsed as folders and notes rather than a flat file list —
list_folders,list_notes,search_folders - Search over note bodies and over metadata as separate calls, so a frontmatter query does not have to grep prose —
search_notes_content,search_notes_metadata - The link graph around a note: what it points at, what points back, and every tag in the vault —
get_outgoing_links,get_backlinks,get_all_tags - Daily notes resolved, created and appended to using your configured location —
get_daily_note_path,create_daily_note,append_to_daily_note
Requirements
No account and no key. Install into a virtual environment with pip install . — the pyproject is named obsidian_mcp_tool, version 1.0.0 — and launch obsidian_mcp_server/main.py with the venv's own Python. OMCP_VAULT_PATH is the one required setting and must be an absolute path with forward slashes, even on Windows; OMCP_DAILY_NOTE_LOCATION points at the daily-note folder and OMCP_SERVER_PORT moves the listener off its default. Settings can live in a .env file in the project root, but real environment variables win over it, and passing them in the client's env block is the arrangement the README recommends.
Setup effort
Build from source — git clone https://github.com/Rwb3n/obsidian-mcp.git
USE CASES
Filing a conversation into the vault
Create the note with its frontmatter, or append to today's daily note when it belongs in the running log.
Finding notes you cannot remember the title of
Search bodies for the phrase, or search metadata when what you remember is a tag or a field value.
Cleaning up tags across a folder
List the notes, read each one's metadata, and rewrite the frontmatter without touching the note body.
Seeing what a note is connected to
Read its outgoing links and its backlinks to find the neighbours before you move or rewrite it.
18 tools
Listed in project docs. Your client may show a different list.
list_notesget_note_contentget_note_metadataget_outgoing_linksget_backlinksget_all_tagssearch_notes_contentsearch_notes_metadatasearch_folderscreate_noteedit_noteappend_to_noteupdate_note_metadatadelete_noteget_daily_note_pathcreate_daily_noteappend_to_daily_noteBEFORE YOU INSTALL
What to know first
Tools you get
18 tools named in the project's documentation.
Requires
- Python, with a virtual environment for the install
- An Obsidian vault folder — OMCP_VAULT_PATH, its absolute path, is the only required setting
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/Rwb3n/obsidian-mcp.git
cd obsidian-mcp
python -m venv .venv
source .venv/bin/activate # Windows PowerShell: .venv\Scripts\Activate.ps1
pip install .MCP Clients
Any MCP client
{
"mcpServers": {
"obsidian_vault": {
"command": "<YOUR_PATH_TO_PROJECT>\\obsidian-mcp\\.venv\\Scripts\\python.exe",
"args": [
"<YOUR_PATH_TO_PROJECT>\\obsidian-mcp\\obsidian_mcp_server\\main.py"
],
"env": {
"OMCP_VAULT_PATH": "<YOUR_OMCP_VAULT_PATH>",
"OMCP_DAILY_NOTE_LOCATION": "Journal/Daily"
}
}
}
}These are the README's Windows example paths — use absolute paths from your own machine. command is the Python inside the .venv you created (.venv\Scripts\python.exe on Windows, .venv/bin/python on macOS and Linux), args is obsidian_mcp_server/main.py in your obsidian-mcp clone, and OMCP_VAULT_PATH is your vault folder, written with forward slashes. Restart the client afterwards.