MCPVault
A local MCP server for safe read, search and edit of notes in an Obsidian vault, restricted to the vault root
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Reads and modifies note files in the given folder
- Can delete and move notes, though this requires a confirmation path
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/mcpvaultDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run in a terminal
claude mcp add --transport stdio obsidian -- npx @bitbonsai/mcpvault@latest /path/to/your/vaultOr add to the file .mcp.json, in the project
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": [
"@bitbonsai/mcpvault@latest",
"/path/to/your/vault"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Add to the file ~/.cursor/mcp.json, for all projects
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": [
"@bitbonsai/mcpvault@latest",
"/path/to/your/vault"
]
}
}
}If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Run in a terminal
code --add-mcp '{"name":"obsidian","type":"stdio","command":"npx","args":["@bitbonsai/mcpvault@latest","/path/to/your/vault"]}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"obsidian": {
"type": "stdio",
"command": "npx",
"args": [
"@bitbonsai/mcpvault@latest",
"/path/to/your/vault"
]
}
}
}If the file already exists, add the server inside the servers key.
Run in a terminal
codex mcp add obsidian -- npx @bitbonsai/mcpvault@latest /path/to/your/vaultOr add to the file ~/.codex/config.toml, for all projects
[mcp_servers.obsidian]
command = "npx"
args = ["@bitbonsai/mcpvault@latest", "/path/to/your/vault"]If the file already exists, append the block to the end.
Run in a terminal
gemini mcp add -s user obsidian npx @bitbonsai/mcpvault@latest /path/to/your/vaultOr add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": [
"@bitbonsai/mcpvault@latest",
"/path/to/your/vault"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
Add to the file ~/.config/devin/mcp_config.json, for all projects
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": [
"@bitbonsai/mcpvault@latest",
"/path/to/your/vault"
]
}
}
}If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.
Formerly Windsurf.
Add to the file cline_mcp_settings.json, for all projects
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": [
"@bitbonsai/mcpvault@latest",
"/path/to/your/vault"
]
}
}
}If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.
Add to the file .roo/mcp.json, in the project
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": [
"@bitbonsai/mcpvault@latest",
"/path/to/your/vault"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
A fork of Roo Code, same .roo folders.
Add to the file opencode.json, in the project
{
"mcp": {
"obsidian": {
"type": "local",
"command": [
"npx",
"@bitbonsai/mcpvault@latest",
"/path/to/your/vault"
]
}
}
}If the file already exists, add the server inside the mcp key.
Add to the file ~/.config/zed/settings.json, for all projects
{
"context_servers": {
"obsidian": {
"command": "npx",
"args": [
"@bitbonsai/mcpvault@latest",
"/path/to/your/vault"
]
}
}
}If the file already exists, add the server inside the context_servers key.
Add to the file .codeassistant/mcp.json, in the project
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": [
"@bitbonsai/mcpvault@latest",
"/path/to/your/vault"
]
}
}
}If the file already exists, add the server inside the mcpServers key.
Add the MCP server to the client config: command npx, args @bitbonsai/mcpvault@latest and the path to your Obsidian notes folder. Node.js 20 or newer is required.
Other ways from the author
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["@bitbonsai/mcpvault@latest", "/path/to/your/vault"],
"env": {}
}
}
}Replace the path with your actual Obsidian notes folder. Node.js 20 or newer is required.
This is third-party code. Review the repository files before installing.
What it does
MCPVault runs as a local stdio process and gives an MCP client access to an Obsidian notes folder. It exposes eighteen tools: read, write, patch, delete and move for notes and files, partial reads and note outline, directory and batch reads, search with multi-word matching and BM25 reranking, frontmatter and tag operations and wiki link resolution. Frontmatter edits are format-aware and preserve the layout of unchanged YAML fields. Operations are restricted to the vault root: the server blocks path traversal, symlinks, dotfiles and service directories such as .obsidian, .git and node_modules. Delete and move require a matching confirmation path. Obsidian does not need to be running and no plugin is required.
Who it is for. For people who keep a knowledge base in Obsidian and want to read and edit notes through an AI assistant with restricted access.
Good fit when
- You want the assistant to search and read notes in an Obsidian vault
- You want to create and edit notes while preserving frontmatter
- You need access to notes without running Obsidian and without its plugins
Not a fit when
- You have no local Obsidian-style notes folder
- You need cloud note access rather than local files
Example request
Find the notes about quarterly plans in my vault and put together a short summaryLimitations
The server works with local files and needs Node.js 20 or newer. Access is strictly limited to the given vault root. Delete and move run only with a matching confirmation path. The server itself has no network integrations, so availability depends only on the client.
How to disable. Remove the obsidian entry from your client's MCP configuration and restart it.
MCP
- Transport
- stdio
- Authentication
- not required
Security check
- Reads and modifies note files in the given folder
- Can delete and move notes, though this requires a confirmation path
README in short
The README describes MCPVault as a local MCP server that lets compatible clients read, search and edit notes in an Obsidian vault while restricting operations to the vault root. The client starts the server as a local stdio process and passes the folder path, and the same tools are available to every supported client. It ships config examples for Claude Desktop, Claude Code, ChatGPT Desktop, OpenCode, Gemini CLI, Codex, IntelliJ IDEA, Cursor, Windsurf and Ontheia. Eighteen tools cover file operations, partial reads, search with BM25 reranking, frontmatter, tags and wiki links, with delete and move requiring a confirmation path. The package is published to npm, MIT licensed.
FAQ
Does it need a running Obsidian or its plugin?
No. MCPVault works directly with the vault files, Obsidian does not need to run.
Can the server go outside the notes folder?
No. Operations are limited to the vault root, and traversal, symlinks and service directories are blocked.
Related
A self-hosted knowledge base with block-level references and a built-in MCP server for connecting AI agents to your notes
A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more
Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server
A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI