Atlas / MCP servers / ebullient / Obsidian Vault

Obsidian VaultSAFE

mcp/ebullient/obsidian-vault

MCP tool allowing Open WebUI or Claude Desktop to retrieve files from your vault

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
12 6r · 4w · 2d
Transport
—
License
MIT
Stars
42
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

This Obsidian plugin runs an MCP (Model Context Protocol) server directly inside Obsidian, letting external LLM tools access your vault. Supports HTTP transport natively (Open WebUI, remote LLMs). An optional bridge script provides a bridge from HTTP to stdio (Claude Desktop).

Important Notes - Network Use: This plugin runs a local HTTP server on your machine to accept inbound MCP connections. It does not send your vault data to external LLM services by itself. - Privacy: This plugin lets you control vault access through Obsidian APIs and path ACLs instead of giving external tools direct filesystem access. - Desktop Only: This plugin requires a desktop environment and will not work on mobile devices.

Features

  • HTTP-based MCP server: Runs a Fastify server implementing the MCP protocol
  • Status Bar Indicator: Shows server status (stopped/running/error) with click-to-toggle functionality
  • Configurable Settings: Adjust server port, auto-start behavior, logging, and path ACLs to control access to areas of your vault
  • CORS Support: Enables access from remote machines via Tailscale or local network
  • MCP Tools: Read, search, list, create, edit, rename, and delete notes; templates and periodic notes — see MCP Tools Reference

Installation

Community Plugins

  1. Open Settings → Community Plugins
  2. Click "Browse" and search for "Vault as MCP"
  3. Install and enable the plugin

Manual Installation

  1. Download the latest release from GitHub
  2. Extract the files to your vault's .obsidian/plugins/vault-as-mcp/ directory
  3. Reload Obsidian
  4. Enable "Vault as MCP" in Settings → Community Plugins

Install with BRAT

Assuming you have the BRAT plugin installed and enabled:

  1. Open BRAT plugin settings
  2. Click 'Add beta plugin'
  3. Use `ht
Read from source at commit de6137a3f92fOBSERVED · 2026-10-08
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add obsidian-vault-mcp -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "obsidian-vault-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ]
    }
  }
}
03

Exposed tools (12)

6 read · 4 write · 2 destructive. Blast radius: 2 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
append_to_notereadAppend content to an existing note,
create_notewriteCreate a note or binary file; creates parent folders as needed.
delete_notedestructiveMove a note to the system trash (recoverable).
list_notesreadList notes and subfolders in a directory (non-recursive).
list_templatesreadList available Templater templates; call before create_note
patch_notewriteReplace an exact string in a note;
read_multiple_notesreadRead multiple notes in one request.
read_notereadRead note content by path. Returns raw markdown by
read_periodic_notewriteReads or creates a periodic note; pass create:true to create it from the template if missing.
rename_notedestructiveRename or move a note; prefer this over delete+create
search_notesreadFind notes across the vault by folder, heading, tag,
update_notewriteReplace the entire content of an existing note.
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
none-observed
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (4)

MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
delete_note, rename_note
Why it matters. 2 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.hidden_file · CWE-1104
.gitmodules
.gitmodules
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
src/vaultasmcp-NoteHandler.ts:859
const binaryString = atob(base64);
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@fastify/cors, fastify, obsidian-daily-notes-interface, @types/moment, @types/node, @typescript-eslint/parser, auto-changelog, esbuild
Why it matters. 14 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-08 · audit v0.4.1 · source sha de6137a3f92ffull audit observations/trust-audit/mcp-server/ebullient__obsidian-vault.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-08de6137a3f92fSAFEB89first audit
06

Questions

What is the Obsidian Vault MCP server?

MCP tool allowing Open WebUI or Claude Desktop to retrieve files from your vault

What tools does Obsidian Vault expose?

12 in total: 6 read-only, 4 that write, and 2 that can delete or overwrite (delete_note, rename_note). Every one is listed on this page with its risk.

Is Obsidian Vault safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 2 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Obsidian Vault need?

No credential environment variables were found in its source, so it appears to need none.

How current is this page?

The grade is for one exact copy of the source (de6137a3f92f), read on 2026-10-08. The repository is watched and re-audited when it changes.

Advertisement