Seekstone MCP Server

The Obsidian MCP server that needs no plugin, no running Obsidian app — and doesn't blow your context window. Filesystem-direct: single-digit-ms

Local serverstdio

What is the Seekstone MCP Server?

The Obsidian MCP server that needs no plugin, no running Obsidian app — and doesn't blow your context window. Filesystem-direct: single-digit-ms search, ~2 KB

What it actually does

It reads your vault directly from disk rather than routing through the Obsidian Local REST API plugin, and holds a warm full-text index in-process. The practical difference is twofold:

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
Byteidentical frontmatter, guaranteed. patch_frontmatter edits YAML in place — preserving key order, quote style, and comments — and write-safety is proven byte-for
searchFull-text search. Returns ranked excerpts (default ~120 chars, tunable via excerptLength), not full notes. Fuzzy and prefix matching; with SEEKSTONE_SEMANTIC=1,
query_notesStructured metadata query. Filter by frontmatter key/value predicates (eq, ne, contains, exists, missing, gt/gte/lt/lte), tag, folder, modified time, and size;
context_packAnswer-ready context for a natural-language question in one call, hard-capped at a byte budget (default 2 KB): ranked excerpts, linked neighbor notes with one-l
read_noteRead the full content of a note by vault-relative path. Supports returning a single section, block, or line range.
read_notesRead up to 20 notes (or sections, blocks, line ranges) in one call under a total byte budget (default 16 KB). Over budget, each note is cut to a fair share and
list_notesList notes, optionally filtered by folder prefix or tag.
list_tagsList all tags in the vault sorted by usage count (or alphabetically).
outline_noteReturn a note's heading and block structure without its full content — cheap navigation before a targeted read.
get_backlinksFind all notes that link to a given note.
get_linksList all outgoing wikilinks and markdown links from a note.
resolve_noteTurn a note name, path, or frontmatter alias into its canonical vault path(s) — with provenance per match, all candidates when ambiguous, and did-you-mean sugge
get_periodic_noteRead today's (or any date's) daily, weekly, monthly, quarterly, or yearly note — path resolved from your vault config, no Obsidian required.
list_writesRecent writes from the journal — seq, timestamp, tool, touched paths, and whether each is still undoable. Metadata only, never note content.
create_noteCreate a note (optional frontmatter + body); parent directories are created automatically.
delete_noteMove a note to the vault's .trash/ folder (Obsidian-compatible, restorable). Pass permanent: true to skip the trash — the write journal still lets undo_write re
move_noteMove or rename a note — wikilinks and markdown links in other notes that point at it are rewritten so nothing breaks (rewriteLinks: false to opt out); destinati
rename_headingRename a heading in a note — every [[noteheading]] wikilink and embed across the vault is rewritten so references keep working (aliases preserved, fenced code b
append_noteAppend text to a note body without touching frontmatter.
patch_frontmatterSet, update, or delete frontmatter keys without reordering existing keys or changing quote style.
patch_noteAppend, prepend, or replace text at a heading or block reference (createIfMissing to add the section) — frontmatter untouched.
replace_in_noteFind and replace text in the note body — literal or regex, case sensitivity, whole-word matching, optional limit (replaces all occurrences by default), and a dr
append_periodic_noteAppend to today's periodic note, creating it from a template if it doesn't yet exist.
undo_writeRevert a journaled write: every file it touched goes back to its byte-identical pre-write state (a multi-file move or heading rename is restored whole; a delete

How to install the Seekstone MCP Server

{
  "mcpServers": {
    "seekstone": {
      "command": "npx",
      "args": [
        "-y",
        "seekstone"
      ],
      "env": {
        "SEEKSTONE_VAULT": "/absolute/path/to/your/vault"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
SEEKSTONE_VAULTDeclared in the maintainer’s client configuration.Check documentation

Example prompts to try

  • “Use Seekstone to Read.”
  • “Use Seekstone to Write.”

Frequently asked questions

The Obsidian MCP server that needs no plugin, no running Obsidian app — and doesn't blow your context window. Filesystem-direct: single-digit-ms search, ~2 KB Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.