Skip to main content
Glama
junnnnnw00

Obsidian Everywhere

by junnnnnw00

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP port (defaults 3737 for http-cli.js, 3738 for oauth-http-cli.js)
OAUTH_ISSUER_URLNoPublic HTTPS origin (e.g. your Cloudflare Tunnel hostname) for oauth-http-cli.js
OAUTH_LOGIN_SECRETNoSingle-user login secret for oauth-http-cli.js
OBSIDIAN_VAULT_PATHYesVault path (or pass as a positional CLI arg)
OBSIDIAN_EVERYWHERE_DBNoSQLite index path (default: <vault>/.obsidian-everywhere/index.db)
OAUTH_ENABLE_WRITE_TOOLSNoSet to 'true' to enable write tools on public OAuth connector (default: off)false
OBSIDIAN_EVERYWHERE_TOKENNoStatic bearer token for http-cli.js
OBSIDIAN_EVERYWHERE_READONLYNoSet to 'true' to disable write tools (default: write tools on)false

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
vault_overviewA

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_statusA

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

search_notesA

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

list_folderA

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

list_notesA

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.

regex_searchA

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

read_noteA

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

get_backlinksA

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

get_neighborhoodA

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

get_context_bundleA

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.

list_tagsA

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

get_notes_by_tagA

List every note carrying a given tag.

find_pathA

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.

get_relatedA

Recommend similar notes that are NOT directly linked to the given note. Default method 'jaccard' uses shared tags and shared 1-hop neighbors, to surface notes that probably should be linked but aren't yet. Method 'semantic' instead uses embedding similarity (meaning-based, not requiring shared tags/links at all) -- lazily computes/caches embeddings on first use, which may add latency and returns fewer results until the vault is fully embedded.

semantic_searchA

Meaning-based search via embedding similarity (multilingual-e5-small) -- finds conceptually related notes even when they don't share the query's exact words, unlike search_notes' full-text matching. Lazily computes/caches embeddings on first use (up to 50 notes per call); if the vault isn't fully embedded yet, the response says how many notes remain and results may be incomplete until a later call finishes indexing them.

find_orphansA

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

find_unresolvedA

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

get_hotkeysA

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_obsidian_settingsA

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

validate_baseA

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.

create_noteA

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.

apply_templateA

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.

append_to_noteA

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.

move_noteA

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.

rename_noteA

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

delete_noteA

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.

replace_textA

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

patch_sectionA

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

update_frontmatterA

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

remove_frontmatter_fieldA

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

bulk_update_frontmatterA

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.

bulk_remove_frontmatter_fieldA

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.

add_tagsA

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

remove_tagsA

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

rename_tagA

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.

bulk_replaceA

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.

rollback_bulk_editA

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

set_hotkeyA

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_folderA

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

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/junnnnnw00/obsidian-everywhere'

If you have feedback or need assistance with the MCP directory API, please join our Discord server