MCPVault
Obsidian MCP Server logo

Obsidian MCP Server

未申請

作者: cyanheads

Read, write, search, and surgically edit Obsidian vault notes, tags, and frontmatter via MCP. STDIO or Streamable HTTP.

ai-toolscyanheadsknowledge-basemcpmodel-context-protocolnote-takingobsidiantypescript

インストール

$docker run --rm -e OBSIDIAN_API_KEY=your-key -p 3010:3010 obsidian-mcp-server

未申請リスティング

このMCPサーバーはあなたのものですか?

このリスティングは公開情報から自動的にインデックスされました。申請することで、ページの編集、互換性の設定、成長ツールのアンロックができます。2分以内に完了します。

このサーバーを申請する

ツール(22個)

caseSensitive

when false, match case-insensitively

flexibleWhitespace

substitute any run of whitespace in search with \s+. Literal mode only — has no effect when useRegex: true (express it directly).

jsonlogic

JSONLogic tree evaluated against path, content, frontmatter.<key>, tags, and stat.{ctime,mtime,size}; custom glob and regexp operators

obsidian_append_to_note

Append content to a note. Without section, creates the file if missing. With section, appends to a specific heading, block, or frontmatter field (file must exist).

obsidian_delete_note

Permanently delete a note. Elicits human confirmation when the client supports it.

obsidian_execute_command

Execute an Obsidian command-palette command by ID. Opt-in via OBSIDIANENABLECOMMANDS=true.

obsidian_get_note

Read a note as raw content, full structured form (content + frontmatter + tags + stat, with optional outgoing links), structural document map, or a single section.

obsidian_list_commands

List Obsidian command-palette commands, optionally filtered by nameRegex on display name. Opt-in via OBSIDIANENABLECOMMANDS=true (paired with obsidianexecutecommand).

obsidian_list_notes

List notes and subdirectories under a vault path. Recursive walk (default depth 2, max depth 20; 1000-entry cap) with optional extension and nameRegex filters.

obsidian_list_tags

List every tag found across the vault with usage counts, including hierarchical parents. Optional nameRegex post-filters the result set.

obsidian_manage_frontmatter

Atomic get / set / delete on a single frontmatter key.

obsidian_manage_tags

Add, remove, or list tags. Defaults to the frontmatter tags: array; location: 'inline' or 'both' opts into mutating the note body.

obsidian_open_in_ui

Open a file in the Obsidian app UI, with failIfMissing and newLeaf toggles.

obsidian_patch_note

Surgical append / prepend / replace against a heading, block reference, or frontmatter field.

obsidian_replace_in_note

Body-wide search-replace inside a single note. Literal or regex matching with whole-word, whitespace-flexible, and case-sensitivity options; supports capture-group replacement.

obsidian_search_notes

Search the vault by text, JSONLogic, or BM25-ranked Omnisearch (when the plugin is reachable). Results paginate via opaque cursors.

obsidian_write_note

Create a note, replace a single section in place, or — with overwrite: true — clobber an existing file. Refuses whole-file writes against an existing path by default.

omnisearch

BM25-ranked search via the community Omnisearch plugin. Supports quoted phrases, -exclusion, path: / ext: filters, typo tolerance, and PDF + OCR coverage (via Text Extractor). Only present in the mode enum when the plugin's HTTP server is reachable at startup; the upstream hard-caps results at 50 —

replaceAll

when false, only the first match is replaced

text

substring match with surrounding context windows. contextLength controls characters of context per side of each match (default 100; bump it for more context per hit). Optional pathPrefix filter (text mode only — passing pathPrefix in any other mode is rejected with pathprefixinvalidmode).

useRegex

treat search as an ECMAScript regex. With useRegex: true, the replacement honors $1 / $& capture-group references.

wholeWord

wrap the pattern in \b…\b; works in both literal and regex modes