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

Capabilities

Features and capabilities supported by this server

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