Skip to main content
Glama
obsidian-connector

obsidian-connector

by noragami90

Vault Connector for Obsidian

A local MCP connector that lets Claude read, write and search any Obsidian vault. It works directly with the Markdown files on disk — no community plugins, and Obsidian does not need to be running.

Independent project, not affiliated with or endorsed by Obsidian. "Obsidian" is a trademark of Dynalist Inc.

All access is sandboxed to the single vault folder you configure; the server refuses any path that would escape it.

Tools

Tool

Access

Description

list_notes

read

List Markdown notes, optionally within a folder

list_folders

read

List sub-folders of the vault or a folder

read_note

read

Read a note — or just one heading's section / a line range

get_note_info

read

Note metadata: dates, size, tags, link & task counts

search_notes

read

Text or regex search, with #tag and path-glob filters

list_tags

read

List every tag in the vault with usage counts

get_backlinks

read

Find notes linking to a target via [[wikilinks]]

get_outgoing_links

read

List links a note points to, flagging unresolved ones

list_tasks

read

List task checkboxes (- [ ]) with file and line

create_note

write

Create a note with optional YAML frontmatter

append_to_note

write

Append text to a note, optionally under a heading

edit_note

write

Find/replace text, or rewrite a heading's section

update_frontmatter

write

Set or remove YAML frontmatter fields

toggle_task

write

Toggle a task checkbox on a given line

move_note

write

Move/rename a note and rewrite [[wikilinks]] to it

delete_note

write (destructive)

Move a note to the vault's .trash (recoverable)

append_to_daily_note

write

Append an entry to today's (or a given date's) daily note

append_to_periodic_note

write

Append to a daily, weekly or monthly note

read_periodic_note

read

Read a daily, weekly or monthly note

create_note_from_template

write

Create a note from a template with {{variable}} substitution

Also exposes MCP prompts (summarize_note, daily_review) and a resource (obsidian://vault/structure) describing the vault layout.

Related MCP server: @kazuph/mcp-obsidian

Configuration

The server is configured through environment variables (set automatically from the connector settings when installed as a Desktop Extension):

Variable

Required

Default

Purpose

OBSIDIAN_VAULT_PATH

yes

—

Absolute path to the vault folder

OBSIDIAN_DAILY_FOLDER

no

`` (root)

Vault-relative folder for daily notes

OBSIDIAN_DAILY_FORMAT

no

YYYY-MM-DD

Daily-note filename format

OBSIDIAN_WEEKLY_FOLDER

no

daily folder

Folder for weekly notes

OBSIDIAN_WEEKLY_FORMAT

no

YYYY-[W]WW

Weekly-note format (WW = ISO week; [..] = literal)

OBSIDIAN_MONTHLY_FOLDER

no

daily folder

Folder for monthly notes

OBSIDIAN_MONTHLY_FORMAT

no

YYYY-MM

Monthly-note filename format

OBSIDIAN_TEMPLATES_FOLDER

no

`` (root)

Folder holding note templates

Development

npm install
npm run build         # compile TypeScript to dist/
npm run inspect       # open the MCP Inspector against the server

Try it locally in Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "obsidian": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"],
      "env": {
        "OBSIDIAN_VAULT_PATH": "/absolute/path/to/your/Vault",
        "OBSIDIAN_DAILY_FOLDER": "Log"
      }
    }
  }
}

Package as a Desktop Extension (.mcpb)

npm run pack          # builds and produces obsidian-connector.mcpb

The resulting .mcpb can be installed in Claude Desktop with one click, or submitted to the Claude connector directory via the Desktop Extension submission form.

License

MIT

Available Tools

20 tools
append_to_daily_noteAppend to daily noteA

Append an entry to today's (or a given date's) daily note, creating it with a heading if missing. Folder/format come from settings.

Inputs: content (required), date, heading.

append_to_noteAppend to noteA

Append text to a note, optionally under a specific heading. Creates the note if missing.

Inputs: path (required), content (required), heading.

append_to_periodic_noteAppend to periodic noteA

Append an entry to a daily, weekly or monthly note (created with a heading if missing). Folder/format per period come from settings.

Inputs: period (required), content (required), date, heading.

create_noteCreate noteA

Create a new note with optional YAML frontmatter. Fails if it exists unless 'overwrite' is true.

Inputs: path (required), content (required), overwrite, frontmatter.

create_note_from_templateCreate note from templateA

Create a note from a template file, substituting {{title}}, {{date}}, {{time}} and any custom {{variables}}.

Inputs: path (required), template (required), title, overwrite, +1 more.

delete_noteDelete noteA
Destructive

Move a note to the vault's .trash folder (recoverable; not a permanent delete).

Inputs: path (required).

edit_noteEdit noteA

Edit an existing note: either find/replace text, or replace the entire body under a heading. Use 'find'+'replace' for text edits, or 'section'+'replace' to rewrite a heading's content.

Inputs: path (required), replace (required), find, section, +1 more.

get_note_infoGet note infoA
Read-only

Return metadata for a note (created/modified time, size, tags, frontmatter keys, outgoing link and task counts) without its full body.

Inputs: path (required).

list_foldersList foldersA
Read-only

List immediate sub-folders of the vault or a given folder.

Inputs: folder.

list_notesList notesA
Read-only

List Markdown notes in the vault, optionally limited to a sub-folder.

Inputs: folder, recursive.

list_tagsList tagsA
Read-only

List every tag used in the vault with the number of notes using each.

Inputs: folder.

list_tasksList tasksA
Read-only

List Markdown task checkboxes (- [ ] / - [x]) across the vault or a note, with file and line.

Inputs: path, folder, status.

move_noteMove or rename noteA

Move or rename a note and rewrite [[wikilinks]] in other notes that point to it. Refuses to overwrite an existing file unless 'overwrite' is true.

Inputs: to (required), from (required), overwrite, update_links.

read_noteRead noteA
Read-only

Read a note. Optionally return only a single heading's section, or a line range, to save tokens on large notes.

Inputs: path (required), heading, to_line, from_line.

read_periodic_noteRead periodic noteA
Read-only

Read the daily, weekly or monthly note for today or a given date.

Inputs: period (required), date.

search_notesSearch notesA
Read-only

Search the vault by text or regular expression, optionally filtered by tag and path glob. Returns matching notes with snippets.

Inputs: tag, limit, query, regex, +4 more.

toggle_taskToggle taskA

Toggle a Markdown task checkbox on a given line (use list_tasks to find the line number).

Inputs: line (required), path (required).

update_frontmatterUpdate frontmatterA
Idempotent

Set or remove YAML frontmatter fields on an existing note without touching its body.

Inputs: path (required), set, unset.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 20 tools

    Disambiguation5/5

    Each tool has a distinct purpose. While there are several 'append' and 'list' tools, they target different entities (daily note, periodic note, tasks, tags, etc.) and are clearly differentiated by name and description.

    Naming Consistency5/5

    All tool names use consistent verb_noun snake_case pattern (e.g., append_to_note, create_note, list_tasks, read_note). The verb choice is appropriate and uniform across the set.

    Tool Count4/5

    20 tools is on the higher side but each tool addresses a specific need in Obsidian interaction (CRUD notes, tasks, tags, links, folders, search, frontmatter). The set is comprehensive without being bloated.

    Completeness5/5

    Covers all core operations: creating, reading, editing, deleting, moving notes; managing tasks; searching; frontmatter; backlinks/outgoing links; periodic notes; tags; folders. Only minor attachments or graph operations are missing, which are niche.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      This is a connector to allow Claude Desktop (or any MCP client) to read and search any directory containing Markdown notes (such as an Obsidian vault).
      837 npm
      1,352
      AGPL 3.0
    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Obsidian vault connector for Claude Desktop - enables reading and writing Markdown notes using Model Context Protocol (MCP)
      17 npm
      5
      -
    • A
      license
      A
      quality
      A
      maintenance
      Standalone 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.
      16
      33
      429 npm
      38
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides Claude with read, search, and write access to an Obsidian vault through MCP tools.
      7,397 npm
      Apache 2.0