obsidian-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OBSIDIAN_DAILY_DIR | No | Folder for daily notes, relative to the vault root | Daily |
| OBSIDIAN_VAULT_PATH | Yes | Absolute path to your vault folder | |
| OBSIDIAN_TEMPLATE_DIR | No | Folder for templates, relative to the vault root | Templates |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_notesA | List markdown notes in the Obsidian vault, sorted by last modified (newest first). Optionally restrict to a subfolder. |
| read_noteA | Read a note from the vault. Returns the parsed frontmatter and the markdown body. |
| create_noteA | Create a new markdown note (parent folders are created automatically). Fails if the note exists unless overwrite is true. |
| append_noteA | Append text to a note. With 'heading', the text is inserted at the end of that heading's section (the section is created if missing). |
| edit_noteA | Edit a note by exact string replacement. Fails if old_text is not found, or is ambiguous without replace_all. |
| update_frontmatterA | Update a note's YAML frontmatter by key: merge |
| search_notes | Full-text search across the vault (case-insensitive), with optional tag and frontmatter filters. With only a tag/frontmatter filter and no query, lists all matching notes. Pass regex: true to interpret the query as a regular expression. |
| move_note | Move or rename a note, then rewrite [[wikilinks]] and markdown links in every other note so they keep resolving. |
| delete_note | Delete a note safely by moving it to the vault's .trash folder (Obsidian's trash convention). |
| backlinks | Find notes that link to a given note, via [[wikilinks]] (with #heading/|alias) or ](note.md) markdown links. |
| daily_note | Get today's daily note, creating it from a template if needed. Pass 'date' (YYYY-MM-DD) for another day. Notes live in the folder set by OBSIDIAN_DAILY_DIR (default 'Daily'). |
| get_outline | Get a note's heading outline (level/text/line) and total line count, without reading the full body. Skips '#' characters inside fenced code blocks. |
| create_from_template | Create a note from a template. Templates live in the folder set by OBSIDIAN_TEMPLATE_DIR (default 'Templates'). Replaces {{date}} (today, YYYY-MM-DD), {{title}} (the new note's filename), and any {{name}} passed in |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Mochiduki-0715/obsidian-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server