Skip to main content
Glama
jagoff

obsidian-mcp-complete

by jagoff

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OBSIDIAN_VAULTSNoname=path,name2=path2 pairs
OBSIDIAN_API_KEYNoObsidian Local REST API key
OBSIDIAN_REST_URLNoObsidian Local REST API URLhttps://127.0.0.1:27124
OBSIDIAN_READ_ONLYNoSet to 1 to disable all writes0
OBSIDIAN_MCP_PRETTYNoPretty-print JSON responses0
OBSIDIAN_VAULT_PATHNoSingle vault path
OBSIDIAN_RAG_COMMANDNoPath/command for obsidian-rag CLIrag
OBSIDIAN_DAILY_FOLDERNoFolder for daily notes00-Inbox
OBSIDIAN_DAILY_PATTERNNoFilename pattern for daily notesYYYY-MM-DD.md
OBSIDIAN_DEFAULT_VAULTNoVault used when tool call omits vaultfirst vault
OBSIDIAN_ENABLE_DELETENoSet to 1 to allow delete operations0
OBSIDIAN_ENABLE_UI_OPENNoAllow open obsidian:// system call0
OBSIDIAN_ENABLE_COMMANDSNoEnable command-palette tools0
OBSIDIAN_REST_INSECURE_TLSNoSkip TLS verification for local REST0
OBSIDIAN_MAX_SEARCH_RESULTSNoMax results from search tools50

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}
completions
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
obsidian_statusA

Return server configuration, vault roots, write safety flags, and tool capability summary.

obsidian_list_vaultsA

List configured Obsidian vaults.

obsidian_list_filesA

List files and folders in a vault folder. Supports recursive walks, max depth, and extension filtering.

obsidian_read_noteA

Read a note as raw content, full structured content, a document map, or one section.

obsidian_read_manyB

Read multiple notes in one call, optionally truncating content per note.

obsidian_searchA

Search notes by text or regex. Returns ranked snippets and supports tag and folder filters.

obsidian_smart_searchB

BM25-ranked vault search with title/tag/heading boosting and compact snippets.

obsidian_search_pathsB

Search filenames and vault-relative paths without reading full note bodies.

obsidian_recent_notesB

List recently modified notes or files, sorted newest first.

obsidian_vault_statsB

Return vault totals, file extensions, top folders, word-count sample, and graph health.

obsidian_rag_queryB

Run the local obsidian-rag CLI for true semantic retrieval/LLM answering. Requires rag to be installed and indexed.

obsidian_query_notesB

Structured Dataview-like query over local notes: tags, folders, linksTo, frontmatter equality/regex, sort, limit.

obsidian_get_frontmatterB

Read YAML frontmatter from a note.

obsidian_update_frontmatterB

Set, merge, replace, or delete frontmatter keys in a note.

obsidian_list_tagsB

List all tags across the vault with usage counts and sample notes.

obsidian_manage_tagsA

List, add, remove, or replace frontmatter tags on one note. Inline tags are preserved.

obsidian_create_noteB

Create a new Markdown note with optional frontmatter and related wiki-links.

obsidian_upsert_noteB

Create or replace a note. Can merge supplied frontmatter with existing frontmatter.

obsidian_append_to_noteB

Append or prepend Markdown to a note, optionally creating it.

obsidian_patch_noteB

Patch one heading, block reference, or frontmatter key with append/prepend/replace.

obsidian_replace_in_noteC

Search and replace inside one note. Supports literal or regex matching and replaceAll.

obsidian_regex_replaceA

Regex or literal find-and-replace across the vault with dry-run previews by default.

obsidian_move_noteA

Move or rename a note. Optionally rewrites incoming wiki-links and Markdown links.

obsidian_update_linksB

Rewrite incoming wiki-links and Markdown links from one target path to another. Dry-run by default.

obsidian_batch_renameA

Batch move/rename notes with optional incoming link updates. Dry-run by default.

obsidian_delete_noteA

Move a note to .trash/mcp or permanently delete it. Requires OBSIDIAN_ENABLE_DELETE=1 and confirmation.

obsidian_delete_folderA

Delete a folder recursively or move it to .trash/mcp. Dry-run by default and confirmation is required for real deletes.

obsidian_prune_empty_dirsB

Find and optionally remove empty directories bottom-up, skipping .obsidian, .git, and .trash.

obsidian_batch_create_notesA

Create many notes in one call. Each item reports success or error independently unless stopOnError is true.

obsidian_batchB

Execute multiple filesystem note operations in one call. Operations are best-effort unless stopOnError is true.

obsidian_linksA

Return outgoing links, backlinks, tags, and frontmatter for one note.

obsidian_get_backlinksA

List notes that link to a target note, with line numbers and raw link targets.

obsidian_traverse_graphB

Walk the note graph from a starting note for N hops in forward, backward, or both directions.

obsidian_shortest_pathB

Find a shortest graph path between two notes.

obsidian_find_orphansC

Find notes with no backlinks, no outgoing links, or neither.

obsidian_find_broken_linksC

List wiki/Markdown links that do not resolve to a note in the vault.

obsidian_graph_statsA

Return graph-level stats: node/edge counts, top connected notes, orphans, broken links.

obsidian_vault_graphB

Export the vault link graph as nodes, edges, and adjacency lists.

obsidian_vault_themesC

Map vault themes with TF-IDF-style term extraction and lightweight clustering.

obsidian_vault_suggestA

Suggest vault reorganization actions: MOCs, consolidation, archive candidates, and missing tags.

obsidian_diff_notesB

Compare two notes or compare a note with supplied text and return a structured line diff.

obsidian_list_tasksA

List Markdown tasks across the vault with filters for status, tags, folder, and due dates.

obsidian_update_taskB

Update one Markdown task by note path and 1-based line number.

obsidian_daily_noteA

Read, create, upsert, or append to a daily note using configurable date folder/pattern.

obsidian_periodic_noteB

Read/create/upsert/append daily, weekly, monthly, quarterly, or yearly notes.

obsidian_apply_templateB

Render a template note into a target note. Replaces {{date}}, {{title}}, {{vault}}, and custom variables.

obsidian_list_attachmentsA

List non-Markdown files, useful for images, PDFs, audio, and other embedded assets.

obsidian_import_attachmentB

Import a base64-encoded attachment into the vault.

obsidian_canvas_createB

Create an Obsidian JSON Canvas from semantic nodes/edges with automatic graph layout.

obsidian_canvas_readA

Read an Obsidian JSON Canvas as a compact semantic graph. Includes node/edge counts and raw arrays. Set includeRaw for full JSON.

obsidian_canvas_patchA

Patch a canvas by adding/updating/removing semantic nodes and edges, with optional relayout.

obsidian_canvas_relayoutA

Re-layout an existing JSON Canvas with dagre. Dry-run returns the candidate canvas without writing.

obsidian_write_canvasC

Create or overwrite an Obsidian .canvas file from nodes and edges.

obsidian_rest_statusB

Check the optional Obsidian Local REST API bridge status.

obsidian_rest_requestB

Escape hatch for Obsidian Local REST API requests. Requires OBSIDIAN_API_KEY.

obsidian_get_activeB

Read the note currently active in the Obsidian UI through Local REST API.

obsidian_post_activeB

Append Markdown to the currently active note through Local REST API.

obsidian_put_activeC

Replace the currently active note body through Local REST API.

obsidian_patch_activeB

Patch the active note by heading, block reference, or frontmatter key through Local REST API.

obsidian_delete_activeA

Delete the active note through Local REST API. Commands/delete must be explicitly enabled by configuration.

obsidian_list_commandsA

List Obsidian command-palette commands through Local REST API.

obsidian_execute_commandA

Execute an Obsidian command-palette command by id. Opt-in with OBSIDIAN_ENABLE_COMMANDS=1.

obsidian_search_dataviewC

Run a Dataview DQL query through the Obsidian Local REST API search endpoint.

obsidian_search_jsonlogicB

Run a JSONLogic query through the Obsidian Local REST API search endpoint.

obsidian_open_uriA

Build an obsidian://open URI for a note. This does not execute OS commands.

obsidian_open_in_uiA

Open a note in the Obsidian UI via obsidian:// URI. Execution requires OBSIDIAN_ENABLE_UI_OPEN=1.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
obsidian-statusConfigured vaults and safety flags.
obsidian-tagsVault-wide tag inventory for the default vault.

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/jagoff/obsidian-mcp'

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