Mmcp.market

Obsidian Everywhere MCP server

by junnnnnw00·io.github.junnnnnw00/obsidian-everywhere·v0.9.2

Graph context, semantic search, guarded edits, and reviewable Git for local Obsidian vaults.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Growing

15 stars118 downloads/wk

Reviews

Write one

Nobody has reviewed Obsidian Everywhere yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Obsidian Everywhere tools (46, 9 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • add_tags

    Add one or more tags to a note's frontmatter `tags` array, deduplicated against existing tags.

  • append_to_note

    Append content to an existing note — either at the end of the file, or at the end of a specific heading's section. Fails without writing anything if the heading isn't found. Reindexed immediately.

  • apply_templatewrite action

    Create a new note from an existing template note (path, title, or alias), substituting Obsidian's core Templates plugin variables: {{date}}, {{date:FORMAT}}, {{time}}, {{time:FORMAT}}, {{title}}. FORMAT supports YYYY/YY/MM/DD/HH/mm/ss tokens. Templater-only syntax (<% %>) is not evaluated and is left as literal text. Fails if the target note already exists unless overwrite is set.

  • bulk_remove_frontmatter_fieldwrite action

    Remove exactly one frontmatter field from every note under a folder (or the whole vault) that carries it. Defaults to dry-run, enforces maxFiles, and creates a rollback snapshot (restorable via rollback_bulk_edit) when applied.

  • bulk_replace

    Replace text across notes selected by folder, optionally using regex. Defaults to dry-run, reports every changed file, enforces maxFiles, and creates a rollback snapshot before applying.

  • bulk_update_frontmatterwrite action

    Merge the same frontmatter fields into every note under a folder (or the whole vault). Only notes where a value actually changes are touched. Defaults to dry-run, enforces maxFiles, and creates a rollback snapshot (restorable via rollback_bulk_edit) when applied.

  • create_notewrite action

    Create a new note in the vault. Fails if the note already exists unless overwrite is set. The note is indexed immediately — outlinks/tags in its content become real graph edges right away, visible to the very next tool call.

  • delete_notewrite action

    Delete a note. By default it is moved to the vault's .trash folder and deletion is refused when backlinks exist. Permanent deletion and backlink override must be explicit.

  • find_orphans

    List notes with no outgoing or incoming links — useful for vault maintenance.

  • find_path

    Find the shortest connection path between two notes (links treated as undirected), with a one-line summary of each note along the way. Shows how two concepts are actually connected in the vault.

  • find_unresolved

    List links that don't resolve to any note in the vault, grouped by target — useful for vault maintenance.

  • get_backlinks

    List every note that links to the given note, with the sentence/line each link appears in.

  • get_context_bundle

    The killer feature: given a topic (note path/title/alias, or a search phrase), pack the center note plus its most relevant 1-hop neighbors (prioritized by backlink count, then recency) into a token budget. Prefer this over read_note when you want broad context on a topic rather than just one note.

  • get_hotkeys

    Read persisted Obsidian hotkey bindings and their actual command IDs from .obsidian/hotkeys.json. This includes configured commands, not the app's full runtime command registry.

  • get_neighborhood

    Get the n-hop subgraph around a note: an explicit node list and edge list, treating links as undirected for hop counting.

  • get_notes_by_tag

    List every note carrying a given tag.

  • get_obsidian_settings

    Read the Templates folder and enabled/disabled core plugins from persisted vault settings.

  • get_related

    Recommend similar notes that are NOT directly linked to the given note. Default method 'jaccard' is lightweight and uses shared tags and shared 1-hop neighbors. The optional method 'semantic' uses local embedding similarity and requires OBSIDIAN_EVERYWHERE_ENABLE_SEMANTIC=true because its multilingual model exceeds the default low-memory budget.

  • git_commit

    Preview, then create one unsigned local commit from explicitly selected safe files. Preview binds a single-line message and exact proposed tree to a five-minute one-use approval ID. Hooks, filters, hidden paths, suspected secrets, amend, and commit-all are blocked.

  • git_diff

    Read a bounded patch for safe repository-relative paths, including an explicitly selected untracked file in head mode. External diff drivers, textconv, submodules, and color are disabled; hidden/sensitive paths and configured clean filters are refused.

  • git_log

    Read recent local commit history without fetching a remote or exposing remote URLs.

  • git_push

    Preview, then push exactly the current HEAD to its existing upstream branch at an operator-pinned HTTPS destination. Execution uses an exact-OID lease as a compare-and-swap guard. Caller-provided force, URLs, refs/refspecs, tags, hooks, signing, submodules, push options, and automatic retry are unavailable.

  • git_status

    Inspect the live Git status of the operator-configured repository. Hidden, excluded, and sensitive paths are counted but never named. Git paths are repository-relative. This does not fetch a remote.

  • list_folder

    List the immediate child folders, Markdown notes, and attachments in one vault folder.

  • list_notes

    List note paths explicitly, optionally scoped to a folder, with pagination. Use this instead of an empty full-text search when enumerating files. Pass `properties` to project specific frontmatter fields (e.g. status, project) alongside each note without reading every note individually.

  • list_tags

    List the full tag hierarchy (including nested #parent/child tags) with note counts.

  • move_note

    Move a note to a new vault-relative path and update every resolvable wikilink/Markdown link that pointed to it. Fails if the destination exists.

  • patch_sectionwrite action

    Replace the content under one heading, preserving the heading and the rest of the note.

  • read_file

    Read any indexed vault file. Markdown delegates to read_note; PDF/Office/OpenDocument/EPUB/RTF/text/code/data files return locally extracted, paginated text; supported images return MCP image content. Legacy or unknown binary formats return metadata and a clear unsupported status.

  • read_note

    Read a note's full content plus its graph context header (outlinks, backlinks, tags, frontmatter). Optionally read just one heading's section.

  • regex_search

    Search note bodies with a JavaScript regular expression and return matching file, line, and excerpt.

  • remove_frontmatter_fieldwrite action

    Remove exactly one YAML frontmatter field without replacing the note body.

  • remove_tagswrite action

    Remove one or more tags from a note's frontmatter `tags` array.

  • rename_note

    Rename a note within its current folder and update links that point to it.

  • rename_tag

    Rename a tag vault-wide, across both frontmatter `tags` arrays and inline #tag text. Defaults to dry-run and creates a rollback snapshot (restorable via rollback_bulk_edit) when applied.

  • replace_text

    Replace exact text in one note without overwriting the full note. Multiple matches require all: true or an exact expectedOccurrences guard.

  • rollback_bulk_edit

    Restore every file from a rollback snapshot created by bulk_replace or rename_tag.

  • search_files

    Search filenames, vault-relative paths, and extracted text from non-Markdown vault files (PDF, DOCX, PPTX, XLSX, OpenDocument, EPUB, RTF, and text/code/data files). Extraction is local, cached, and incremental.

  • search_notes

    Full-text search over note content and titles, with optional tag/folder filters. Each result includes its outgoing/incoming link counts and tags.

  • semantic_search

    Optional meaning-based search via local multilingual-e5-small embeddings. Requires OBSIDIAN_EVERYWHERE_ENABLE_SEMANTIC=true because the model can exceed 500 MiB RSS; the default low-memory mode keeps graph, FTS, attachment search, and Jaccard related-note search available without loading it.

  • set_hotkey

    Set persisted hotkey bindings for an exact Obsidian command ID. The app may need a vault reload; command IDs cannot be runtime-validated by the standalone server.

  • set_templates_folder

    Set the persisted folder used by Obsidian's Templates core plugin.

  • update_frontmatterwrite action

    Merge one or more fields into a note's YAML frontmatter without replacing its body.

  • validate_base

    Statically validate YAML and core structural fields in a .base file or fenced base block. Reports the limit that formula semantics and rendering require a live Obsidian app.

  • vault_overview

    Get a high-level picture of the vault: note counts, top tags, hub notes by PageRank, and recently modified notes. Good first call at the start of a conversation.

  • vault_status

    Report mount-guard state, index freshness, indexed counts, write availability, and the last full reconciliation.

Public scan report

scanner v0.1.9 · 2026-09-21 · same rubric, same numbers if you re-run it

no findings
  • Code scan33 source files scanned25/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 7 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

What the publisher says

From the Obsidian Everywhere repository's README, as published. We do not edit it. Read it on GitHub

English | 한국어

🧠 Obsidian Everywhere

Turn linked notes into AI context, use that context from agents anywhere, and checkpoint approved changes with Git.

Graph context · local semantic search · remote agents · guarded edits · opt-in Git checkpoints

Watch the Remote Vault Bridge in 44 seconds

Remote setup guide

Remote request → semantic search → graph context → guarded edit → mount-loss recovery.

Obsidian Everywhere is built around three ideas:

files.** Backlinks, n-hop neighborhoods, shortest paths, PageRank, full-text search, and local multilingual embeddings turn a topic into focused, token-budgeted context.

  1. **Notes are a graph and a semantic knowledge base, not a folder of text

Bridge exposes that same graph and its guarded write tools over authenticated Streamable HTTP. A Claude Code or Codex process on another server can search, reason over, append to, and reorganize a vault that remains on your own machine.

  1. Your vault should be usable where your agents run. The Remote Vault

the vault or one configured folder inside it is already a Git repository, the opt-in Git tools can inspect status, bounded diffs, and local history. Commit and push each require a preview, explicit confirmation, and a short-lived one-use approval ID.

  1. Version-control actions deserve a narrower boundary than file writes. If

The local path stays the source of truth. Obsidian Everywhere does not create a hosted copy, telemetry service, or mandatory cloud account; optional Git push publishes only to a repository the operator already configured. Remote access is a transport you operate, not a vault-sync product.

Contents

  • Watch the Remote Vault Bridge in 44 seconds
  • Features
  • Three core workflows
  • Vault Git
  • Try it without your vault
  • Why Obsidian Everywhere?
  • Where does this actually run?
  • Quickstart
  • Configuration
  • Development
  • Project status
  • Contributing

Features

vault (.md files)
  │  parse · watch
  ▼
SQLite index (FTS5)  ⇄  in-memory graph (graphology)
  │                       n-hop · shortest path · PageRank
  ▼
41 core MCP tools + 0–5 opt-in Git tools
  │
  ▼
local stdio  ·  authenticated remote HTTP  ·  OAuth HTTP

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Install directly

Runs npx -y obsidian-everywhere on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add obsidian-everywhere -- npx -y obsidian-everywhere
Add to Cursor

Obsidian Everywhere: common questions

Is Obsidian Everywhere MCP server safe?
Yes, by our scan: it is graded A (92/100). Read the Obsidian Everywhere safety report
How do I install Obsidian Everywhere?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Obsidian Everywhere need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Obsidian Everywhere maintained?
The last commit was 7 days ago (2026-09-14). The latest release is v0.9.2.
What can I use instead of Obsidian Everywhere?
Servers from other publishers that do the same job: Srclight MCP server, Agent Memory MCP server and Kindex MCP server. Compare all Obsidian Everywhere alternatives.

Alternatives to Obsidian Everywhere

Same job from other publishers: the closest match first, then the best rated.

All Obsidian Everywhere alternatives →
  • Srclight
    Deep code indexing for AI agents. FTS5 + embeddings + call graphs + git intelligence. Fully local.
    A
  • Agent Memory
    Git-native project memory for AI coding agents: Markdown source of truth, reviewable, secret-safe.
    A
  • Kindex
    Persistent knowledge graph and MCP server for AI workflows with git-tracked project context.
    A
  • Kindex
    Persistent knowledge graph and MCP server for AI workflows with git-tracked project context.
    B
  • Gitwand
    Auto-resolves Git merge conflicts so agents only touch the complex hunks.
    A

More from junnnnnw00