MCPVault

wholeWord

MCP tool from Obsidian MCP Server by cyanheads

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

How to use it

wholeWord is exposed by the Obsidian MCP Server MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the wholeWord tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.

Install Obsidian MCP Server

$docker run --rm -e OBSIDIAN_API_KEY=your-key -p 3010:3010 obsidian-mcp-server
FULL OBSIDIAN MCP SERVER LISTING

Other tools in Obsidian MCP Server (21)

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.