obsidian-mcp

obsidian-mcp

Enables Claude to read your Obsidian vault and retrieve outstanding tasks from daily notes by parsing checkboxes.

Category
Visit Server

README

Obsidian + MCP Productivity Setup Guide

Hey! This guide will get you set up with Obsidian for daily note-taking and an MCP server that lets Claude pull your outstanding tasks automatically. Takes about 15 minutes.


Step 1: Install Obsidian

macOS (Homebrew):

brew install --cask obsidian

macOS (Manual): Download from obsidian.md/download and drag to /Applications.

Verify it installed:

open -a Obsidian

Step 2: Create Your Vault

You have two options: local-only or iCloud-synced.

Option A — iCloud (Recommended: syncs to iPhone/iPad automatically)

Your vault will live in iCloud Drive so it syncs across all Apple devices.

  1. Open Finder and make sure iCloud Drive is enabled:

    • System Settings > Apple Account > iCloud > iCloud Drive (ON)
  2. Create the vault folder:

    mkdir -p ~/Library/Mobile\ Documents/iCloud~md~obsidian/Documents/Notes
    
  3. Open Obsidian > "Open folder as vault" > navigate to:

    ~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Notes
    

    Tip: In the Finder dialog, press Cmd+Shift+G and paste the path above.

Option B — Local only

  1. Pick any folder you like, e.g.:

    mkdir -p ~/Documents/ObsidianVault
    
  2. Open Obsidian > "Open folder as vault" > select that folder.


Step 3: Set Up the Daily Note Template

3.1 Create a Templates folder

  • In Obsidian, click the folder icon (left sidebar) > New Folder
  • Name it: Templates

3.2 Create the template file

  • Inside Templates/, create a new note called "Main Note"
  • Paste this content exactly:
{{date}} {{time}}

Status:

Tags:

#  Notes



# Meetings




# TODO
- [ ]

# Daily Reflection

#reflection

3.3 Tell Obsidian where your templates live

  1. Open Settings (gear icon, bottom-left)
  2. Under Core plugins, make sure "Templates" is toggled ON
  3. Click the gear icon next to "Templates" and set:
    • Template folder location: Templates

3.4 Enable Daily Notes

  1. Settings > Core plugins > toggle ON "Daily notes"
  2. Click the gear next to "Daily notes" and configure:
    • Date format: YYYY-MM-DD
    • New file location: Farther/{{date:YYYY}}/{{date:MMMM}}
    • Template file location: Templates/Main Note

3.5 Create the folder structure

In Obsidian, create these folders:

  • Farther at the vault root
  • Farther/2026
  • Month folders inside as needed (e.g. Farther/2026/February)

Or from terminal:

VAULT="<your-vault-path>"
mkdir -p "$VAULT/Farther/2026"/{January,February,March,April,May,June,July,August,September,October,November,December}

Step 4: Daily Workflow

Creating your note for the day

  1. Open Obsidian
  2. Click the calendar icon in the left sidebar — this creates today's daily note
  3. Once you're in the new note, press Cmd+T and select your "Main Note" template
  4. Your note is now filled in with the template sections, ready to go

Using your note throughout the day

  • Notes section — jot bullet points, ideas, anything that comes up
  • Meetings section — log meeting notes (see Step 5 below to auto-populate from Google Calendar)
  • TODO section — add tasks using checkbox syntax:
    - [ ] Send the quarterly report
    - [ ] Review PR for auth service
    
  • Mark tasks done by clicking the checkbox (or manually changing [ ] to [x]):
    - [x] Send the quarterly report
    
  • Daily Reflection — end of day, write a short reflection on how things went

Step 5: Auto-Populate Meetings from Google Calendar (Optional)

The Google Calendar and Contacts Lookup plugin lets you pull meetings directly from your Google Calendar into your Obsidian notes — no manual copy-pasting.

Install the plugin

  1. In Obsidian, go to Settings > Community plugins
  2. If prompted, click "Turn on community plugins"
  3. Click Browse and search for "Google Lookup"
  4. Click Install, then Enable

Set up Google credentials

  1. Go to Google Cloud Console
  2. Create a new project (or use an existing one)
  3. Enable the Google Calendar API and People API
  4. Create OAuth 2.0 credentials (Desktop application type)
  5. In Obsidian, go to Settings > Google Lookup and enter your Client ID and Client Secret
  6. Click Authenticate and sign in with your Google account

Use it daily

  1. Open your daily note and place your cursor in the Meetings section
  2. Open the command palette (Cmd+P) and run "Google Lookup: Insert Google Calendar Event"
  3. A search modal will appear — find your meeting and select it
  4. The plugin inserts the event details (title, time, attendees) right into your note
  5. Add your meeting notes underneath

This plugin also supports looking up Google Contacts — useful if you want to quickly pull in someone's info while writing notes.


Step 6: Install the Obsidian MCP Server

Prerequisites

  • Node.js 18+ — check with node --version
  • If not installed: brew install node
  • Obsidian v1.12+ (recommended) — enables CLI integration for faster search, task parsing, and more robust path handling. The MCP falls back to direct file access if the CLI is unavailable.

Enable the Obsidian CLI (recommended)

  1. Make sure you're on Obsidian v1.12+ (brew upgrade --cask obsidian or download from obsidian.md/download)
  2. Open Obsidian > Settings > General > Command line interface > enable it
  3. Follow the prompt to register the CLI in your PATH
  4. Verify it works: obsidian version

Installation

  1. Clone or copy the obsidian-mcp folder to your machine:

    git clone <repo-url> ~/obsidian-mcp
    cd ~/obsidian-mcp
    npm install
    
  2. Set your vault path as an environment variable (see Step 7 below). You no longer need to edit the source code — the vault path is configured in your Claude Code MCP config.

  3. Test the server starts:

    npm start
    

    It should start without errors. Press Ctrl+C to stop. If the Obsidian CLI is detected, you'll see: [obsidian-mcp] CLI detected at: ...


Step 7: Add the MCP to Claude Code

Open ~/.claude.json in a text editor. Find the "mcpServers" key (or add it if it doesn't exist) and add the obsidian-vault entry:

{
  "mcpServers": {
    "obsidian-vault": {
      "command": "node",
      "args": ["/full/path/to/obsidian-mcp/obsidian-mcp-server.js"],
      "env": {
        "OBSIDIAN_VAULT_ROOT": "/Users/<your-username>/Library/Mobile Documents/iCloud~md~obsidian/Documents/Notes"
      }
    }
  }
}

Replace:

  • /full/path/to/ with the actual path where you cloned the repo
  • OBSIDIAN_VAULT_ROOT with your vault's absolute path:
    • iCloud: /Users/<your-username>/Library/Mobile Documents/iCloud~md~obsidian/Documents/Notes
    • Local: /Users/<your-username>/Documents/ObsidianVault

Optional environment variables:

Variable Description
OBSIDIAN_VAULT_ROOT Absolute path to your Obsidian vault (required for fs fallback)
OBSIDIAN_CLI_PATH Custom path to the obsidian CLI binary (auto-detected if in PATH)
OBSIDIAN_VAULT_NAME Vault name for multi-vault setups (passed as vault=<name> to CLI)

Note: If mcpServers already has other entries, just add the "obsidian-vault" block alongside them — don't replace the whole object.

Restart Claude Code after saving.


Step 8: Use the MCP to Get Your Outstanding Tasks

Once connected, you can ask Claude things like:

What you ask What it does
"What are my incomplete tasks for this week?" Pulls all unchecked tasks from this week's notes
"Show me all tasks I haven't finished from last month" Aggregates incomplete tasks across last month
"What did I get done last week?" Shows all completed tasks from last week
"Generate a task rollover summary from last week" Creates a summary of what carried over
"Write my Linear tickets and carryover tasks into today's note" Populates your TODO section automatically

The MCP reads your daily notes, parses all - [ ] and - [x] checkboxes, and gives you a clear picture of what's still open.


Quick Reference: Task Syntax

Format Example
Incomplete task - [ ] Review the budget proposal
Completed task - [x] Review the budget proposal
With timestamp - [x] Review the budget proposal ✅ 2026-02-24
Sub-task - [ ] Check page 3 numbers

The MCP understands all of these formats.


Troubleshooting

"Daily note not creating in the right folder"

  • Check Settings > Daily notes > New file location matches your folder structure (e.g., Farther/{{date:YYYY}}/{{date:MMMM}})

"Cmd+T doesn't show templates"

  • Make sure the Templates core plugin is enabled in Settings > Core plugins
  • Make sure the Template folder location is set to Templates

"MCP can't find my notes"

  • Verify VAULT_ROOT in obsidian-mcp-server.js points to your vault
  • Verify WORKING_DIR matches your top-level folder name
  • Make sure your daily notes follow YYYY-MM-DD.md naming

"iCloud sync is slow"

  • This is normal for first sync. Files sync in the background.
  • On iPhone/iPad, open the Files app > iCloud Drive to trigger sync.

"Google Lookup plugin can't authenticate"

  • Double-check your Client ID and Client Secret in the plugin settings
  • Make sure the Google Calendar API and People API are both enabled in your Google Cloud project
  • Try re-authenticating from Settings > Google Lookup

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured