obsidian-mcp
Bridges Obsidian vaults with MCP-compatible AI tools, enabling read/write/search of notes, task management, and vault operations through 34 tools and prompt templates.
README
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-mcp
To make it available across all projects, add --scope user:
claude mcp add obsidian --scope user --env OBSIDIAN_VAULT="My Vault" -- npx -y @zethictech/obsidian-mcp
The -- separator is required so the command and its args aren't parsed as claude mcp add flags.
Environment Variables
| Variable | Required | Description |
|---|---|---|
OBSIDIAN_VAULT |
Yes | Vault name or ID |
OBSIDIAN_CLI_PATH |
No | Override path to obsidian binary (auto-detected by default) |
OBSIDIAN_TIMEOUT |
No | CLI timeout in milliseconds (default: 30000) |
Available Tools (34)
Read-only tools (20)
| Tool | Description |
|---|---|
read_note |
Read the full content of a note |
get_file_info |
Get metadata about a file |
list_files |
List files in the vault |
list_folders |
List folders in the vault |
search |
Search the vault for text |
search_with_context |
Search with surrounding line context |
get_backlinks |
List incoming links to a note |
get_links |
List outgoing links from a note |
find_unresolved_links |
Find broken/unresolved links |
find_orphan_notes |
Find notes with no incoming links |
get_outline |
Get heading structure of a note |
get_properties |
List frontmatter properties |
read_property |
Read a specific property value |
list_tags |
List tags in the vault or a note |
list_tasks |
List tasks (checkboxes) |
daily_read |
Read today's daily note |
daily_path |
Get the daily note file path |
get_vault_info |
Get vault info (name, path, size) |
wordcount |
Count words/characters in a note |
get_help |
Get CLI help for any command |
Write tools (9)
| Tool | Description |
|---|---|
create_note |
Create a new note |
append_note |
Append content to a note |
prepend_note |
Prepend content to a note |
set_property |
Set a frontmatter property |
daily_create |
Open/create today's daily note |
daily_append |
Append to today's daily note |
daily_prepend |
Prepend to today's daily note |
update_task |
Toggle or update a task's status |
add_bookmark |
Add a bookmark |
Destructive tools (5)
| Tool | Description |
|---|---|
move_note |
Move a note (updates all links) |
rename_note |
Rename a note (updates all links) |
delete_note |
Delete a note (trash or permanent) |
remove_property |
Remove a frontmatter property |
run_command |
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 |
|---|---|---|
analyze_vault |
— | Vault health overview: orphan notes, unresolved links, tags |
summarize_note |
file required |
Read and summarize a specific note |
find_related |
file required |
Find related notes via backlinks, links, and shared tags |
daily_review |
— | Review today's daily note and suggest follow-up actions |
suggest_links |
file required |
Suggest wikilinks to add based on note content |
Troubleshooting
Server not starting?
- Verify
OBSIDIAN_VAULTis set and matches your vault name exactly - Ensure 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-mcp
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。