ObsidianMCP
Provides tools to interact with an Obsidian vault, including reading, creating, updating, deleting notes, performing full-text and semantic search, executing commands, managing periodic notes, and more.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ObsidianMCP find notes semantically related to 'deep learning'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ObsidianMCP
An MCP (Model Context Protocol) server that connects Claude to your Obsidian vault via the Obsidian Local REST API plugin.
Prerequisites
Obsidian with the Local REST API community plugin installed and enabled
An API key from the plugin settings (Settings → Local REST API → API Key)
Node.js 18+
Related MCP server: obsidian-mcp-server
Setup
npm install
npm run buildConfiguration
Set the following environment variables:
Variable | Required | Default | Description |
| Yes | — | API key from the Local REST API plugin |
| No |
| Host where Obsidian is running |
| No |
| Port for the REST API |
| No |
|
|
| No |
| Set to |
| No | — | Path to |
Usage with Claude Code
Add to your Claude Code MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/path/to/ObsidianMCP/dist/index.js"],
"env": {
"OBSIDIAN_API_KEY": "your-api-key-here",
"OBSIDIAN_VERIFY_SSL": "false",
"OBSIDIAN_SMART_ENV_PATH": "/path/to/your/vault/.smart-env"
}
}
}
}Usage with Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"obsidian": {
"command": "node",
"args": ["/path/to/ObsidianMCP/dist/index.js"],
"env": {
"OBSIDIAN_API_KEY": "your-api-key-here",
"OBSIDIAN_VERIFY_SSL": "false",
"OBSIDIAN_SMART_ENV_PATH": "/path/to/your/vault/.smart-env"
}
}
}
}Available Tools
File Operations
list_vault_files — List files/folders in the vault
read_note — Read a note's content
create_note — Create or overwrite a note
append_to_note — Append content to a note
patch_note — Insert/replace content under a specific heading
delete_note — Delete a note
open_note — Open a note in the Obsidian UI
upload_attachment — Upload an image/PDF/audio/video file to the vault, then embed with
![[filename]]
Active Note
get_active_note — Read the currently open note
update_active_note — Overwrite the currently open note
append_to_active_note — Append content to the currently open note
patch_active_note — Insert/replace content under a heading in the active note
delete_active_note — Delete the currently open note
Search
search_vault — Full-text fuzzy search across the vault
search_dataview — Run a Dataview DQL query (requires Dataview plugin)
search_jsonlogic — Run a JsonLogic structured query
Periodic Notes
get_periodic_note — Read a daily/weekly/monthly/quarterly/yearly note
create_periodic_note — Create or overwrite a periodic note
append_to_periodic_note — Append to a periodic note
Commands
list_commands — List available Obsidian commands
execute_command — Execute an Obsidian command by ID
Semantic Search (Smart Connections)
semantic_search — AI-powered semantic search across the vault (finds conceptually related content)
find_related_notes — Find notes semantically related to a given note
smart_connections_status — Index stats: sources, blocks, model, dimensions
Requires the Smart Connections plugin and
OBSIDIAN_SMART_ENV_PATHenv var. The firstsemantic_searchcall downloads the embedding model (~30MB, cached afterwards).
Server
get_server_status — Check REST API status and version info
Available Tools
22 toolsappend_to_active_noteC
Append content to the currently active/open note in Obsidian.
Inputs: content (required).
append_to_noteB
Append content to the end of an existing note. Use ![[filename.png]] to embed attachments.
Inputs: path (required), content (required).
append_to_periodic_noteB
Append content to a periodic note (e.g. add an entry to today's daily note).
Inputs: period (required), content (required).
create_noteB
Create a new note or overwrite an existing one in the vault. Embed attachments using ![[filename.png]] syntax.
Inputs: path (required), content (required).
create_periodic_noteB
Create or overwrite a periodic note (daily, weekly, monthly, quarterly, or yearly).
Inputs: period (required), content (required).
delete_active_noteA
Delete the currently active/open note in Obsidian.
Inputs: no named parameters.
delete_noteC
Delete a note from the vault.
Inputs: path (required).
execute_commandA
Execute an Obsidian command by its ID. Use list_commands to find available command IDs.
Inputs: commandId (required).
get_active_noteA
Read the content of the currently active/open note in Obsidian.
Inputs: no named parameters.
get_periodic_noteB
Get the content of a periodic note (daily, weekly, monthly, quarterly, or yearly).
Inputs: period (required).
get_server_statusA
Check the status of the Obsidian Local REST API server and get version info.
Inputs: no named parameters.
list_commandsB
List all available Obsidian commands that can be executed.
Inputs: no named parameters.
list_vault_filesA
List files and directories in the Obsidian vault. Provide a folder path to list its contents, or omit to list the root.
Inputs: path.
open_noteC
Open a note in the Obsidian UI.
Inputs: path (required).
patch_active_noteC
Insert or replace content relative to a heading in the currently active note.
Inputs: content (required), heading, insertPosition, headingBoundary.
patch_noteB
Insert or replace content relative to a heading in a note. Useful for updating specific sections.
Inputs: path (required), content (required), heading, insertPosition, +1 more.
read_noteB
Read the markdown content of a note in the vault.
Inputs: path (required).
search_dataviewB
Run a Dataview DQL query against the vault. Requires the Dataview plugin to be installed in Obsidian. Example: 'TABLE file.mtime AS "Modified" FROM "Notes" SORT file.mtime DESC'
Inputs: dql (required).
search_jsonlogicB
Run a JsonLogic query against the vault for structured/programmatic searches. Useful for filtering notes by metadata fields.
Inputs: query (required).
search_vaultB
Search for notes in the vault using full-text fuzzy search. Returns matching filenames and context.
Inputs: query (required), limit.
update_active_noteB
Overwrite the content of the currently active/open note in Obsidian.
Inputs: content (required).
upload_attachmentA
Upload an attachment (image, PDF, audio, video) to the vault from a local file path. After uploading, embed it in a note using ![[filename]] syntax.
Inputs: localPath (required), vaultPath (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 22 tools
The tool set includes many similarly purposed tools, such as append_to_note vs. append_to_active_note and patch_note vs. patch_active_note, which could confuse an agent about which to use. However, the distinction between note-specific operations and active-note operations is clearly described, mitigating some ambiguity.
Most tools follow a consistent verb_noun pattern (e.g., get_active_note, append_to_note). A few tools like execute_command and search_dataview deviate slightly, but overall the naming is predictable and readable.
With 22 tools, the set is on the heavy side for an Obsidian MCP server. While many tools are justified, the presence of both generic and active-note variants for note operations inflates the count unnecessarily.
The tool set covers a wide range of operations including note creation, reading, updating, deletion, search, and periodic notes, which is fairly complete for Obsidian workflows. However, some operations like moving or renaming notes are missing, which could cause workarounds.
Maintenance
Related MCP Connectors
Give Claude a second brain for your notes, tasks and contacts. OAuth; it can't delete anything.
1Notes and memory assistant: one Markdown vault that Claude, ChatGPT and any MCP client can share.
Work on your own computers from Claude or ChatGPT: run commands, edit and search files.
Search your Obsidian vault to quickly find notes by title or keyword, summarize related content, a…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with Obsidian vaults via the Local REST API plugin for comprehensive note management, file operations, and vault navigation. It supports creating and editing notes, executing Obsidian commands, and performing advanced searches using Dataview queries.38 npm52MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to interact with an Obsidian vault through the Local REST API, allowing file listing, reading, searching, creating, and updating markdown notes.7,721 npmApache 2.0
- FlicenseAqualityDmaintenanceEnables Claude to create, read, update, and search notes in a local Obsidian vault, with automatic YAML frontmatter and folder management.71-
- AlicenseAqualityBmaintenanceEnables Claude clients to interact with an Obsidian vault as a knowledge graph, supporting full-text search, backlink traversal, neighborhood exploration, and note creation/append.4186 npm16MIT