obsidian-mcp
Provides tools and prompts to interact with an Obsidian vault, including reading, writing, searching notes, managing properties and tasks, and running various CLI commands.
Click on "Install 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., "@obsidian-mcpfind all orphan notes in my vault"
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.
Obsidian MCP
Access your Obsidian vault from Claude Desktop, Claude Code, and other AI tools that support the Model Context Protocol.
Obsidian 1.12 introduced a powerful CLI, but it isn't directly accessible from GUI-based AI tools like Claude Desktop. This MCP server bridges that gap — giving any MCP-compatible client full access to your vault through 34 tools and prompt templates.
Features: read/write/search notes, manage properties and tasks, run pre-built prompt workflows — all validated with Zod schemas and powered by the official Obsidian CLI.
Prerequisites
Obsidian 1.12+ (tested through 1.12.7) with the CLI enabled: Settings → General → Advanced → Command Line Interface → Enable
Obsidian app must be running (the CLI communicates with the app)
Setup
Install the package from npm and configure your MCP client to use it. The server runs locally on your machine and communicates with the Obsidian app via its CLI.
How it works
Your machine
┌─────────────────────────────┐
│ Claude Desktop / Claude Code│
│ ↕ stdio (stdin/stdout) │
│ obsidian-mcp (Node.js) │ ──CLI──→ Obsidian App (running)
└─────────────────────────────┘Each user runs the server locally via npx. The server receives tool calls from Claude over stdio and executes Obsidian CLI commands against the running app.
Claude Desktop
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"obsidian": {
"command": "npx",
"args": ["-y", "@zethictech/obsidian-mcp"],
"env": {
"OBSIDIAN_VAULT": "MyVault"
}
}
}
}Restart Claude Desktop after saving.
Claude Code
claude mcp add obsidian --env OBSIDIAN_VAULT="My Vault" -- npx -y @zethictech/obsidian-mcpTo make it available across all projects, add --scope user:
claude mcp add obsidian --scope user --env OBSIDIAN_VAULT="My Vault" -- npx -y @zethictech/obsidian-mcpThe -- separator is required so the command and its args aren't parsed as claude mcp add flags.
Environment Variables
Variable | Required | Description |
| Yes | Vault name or ID |
| No | Override path to |
| No | CLI timeout in milliseconds (default: |
Available Tools (34)
Read-only tools (20)
Tool | Description |
| Read the full content of a note |
| Get metadata about a file |
| List files in the vault |
| List folders in the vault |
| Search the vault for text |
| Search with surrounding line context |
| List incoming links to a note |
| List outgoing links from a note |
| Find broken/unresolved links |
| Find notes with no incoming links |
| Get heading structure of a note |
| List frontmatter properties |
| Read a specific property value |
| List tags in the vault or a note |
| List tasks (checkboxes) |
| Read today's daily note |
| Get the daily note file path |
| Get vault info (name, path, size) |
| Count words/characters in a note |
| Get CLI help for any command |
Write tools (9)
Tool | Description |
| Create a new note |
| Append content to a note |
| Prepend content to a note |
| Set a frontmatter property |
| Open/create today's daily note |
| Append to today's daily note |
| Prepend to today's daily note |
| Toggle or update a task's status |
| Add a bookmark |
Destructive tools (5)
Tool | Description |
| Move a note (updates all links) |
| Rename a note (updates all links) |
| Delete a note (trash or permanent) |
| Remove a frontmatter property |
| Run any CLI command directly |
run_commandis an escape hatch that gives you access to all ~100 CLI commands not covered by the structured tools above (sync, plugins, themes, templates, workspaces, publish, dev tools, etc.). Useget_helpto discover available commands.
All tool inputs are validated at runtime using Zod schemas. Invalid inputs return clear error messages before any CLI command is executed.
Prompts
Five pre-built MCP Prompts provide templated workflows. These gather vault data via CLI calls and return structured messages for the LLM.
Prompt | Arguments | Description |
| — | Vault health overview: orphan notes, unresolved links, tags |
|
| Read and summarize a specific note |
|
| Find related notes via backlinks, links, and shared tags |
| — | Review today's daily note and suggest follow-up actions |
|
| Suggest wikilinks to add based on note content |
Troubleshooting
Server not starting?
Verify
OBSIDIAN_VAULTis set and matches your vault name exactlyEnsure Obsidian 1.12+ is installed with the CLI enabled
Run
npx @zethictech/obsidian-mcp --versionto verify the package loads
Obsidian app not detected?
The CLI requires Obsidian to be running — start the app and try again
If Obsidian just launched, wait a few seconds for it to fully initialize
Stale npx cache?
npx --yes @zethictech/obsidian-mcpLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/ZethicTech/obsidian-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server