obsidian-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | HTTP server host | 127.0.0.1 |
| PORT | No | HTTP server port | 3000 |
| DEBUG | No | Enable debug logging | false |
| TRANSPORT | No | Transport mode: stdio or http | stdio |
| OBSIDIAN_VAULT_PATH | Yes | Absolute path to your Obsidian vault |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| obsidian_list_notesA | List notes in the Obsidian vault with pagination support. Returns a list of note paths, names, tags, and modification dates. Use 'folder' to filter to a specific directory. Use 'offset' and 'limit' for pagination on large vaults. Returns JSON by default with schema: { "total": number, "count": number, "offset": number, "notes": [{ "path": string, "name": string, "tags": string[], "modified": string }], "hasMore": boolean, "nextOffset"?: number } |
| obsidian_read_noteA | Read the full content of a specific note by path. The path can be with or without .md extension. Set include_frontmatter=false to get only the markdown content. Returns: { "path": string, "name": string, "content": string, "frontmatter"?: object, "tags": string[], "modified": string } |
| obsidian_write_noteA | Create or update a note in the vault. Provide markdown content and optionally YAML frontmatter. Directories are created automatically if they don't exist. Set overwrite=false to prevent overwriting existing notes. Returns the created/updated note metadata. |
| obsidian_delete_noteA | Permanently delete a note from the vault. WARNING: This action cannot be undone. The note file will be removed from the filesystem. |
| obsidian_search_notesA | Search notes by content, title, tags, or folder.
Returns ranked results with match information: { "total": number, "results": [{ "path": string, "name": string, "score": number, "matches": string[], "tags": string[], "excerpt"?: string }] } |
| obsidian_vault_statsA | Get statistics about the Obsidian vault. Returns: { "totalNotes": number, "totalSize": number (bytes), "totalTags": number, "lastModified": string (ISO date) } |
| obsidian_get_linksA | Get outgoing links from a specific note. Extracts both wiki-style [[links]] and markdown links. Shows whether each linked note exists in the vault. Returns: { "note": string, "links": [{ "path": string, "displayText"?: string, "exists": boolean }] } |
| obsidian_get_backlinksA | Get backlinks to a specific note (notes that link TO this note). Useful for understanding how notes are connected and finding related content. Returns: { "note": string, "backlinks": [{ "path": string }] } |
| obsidian_list_tagsA | List all tags used in the vault with their usage counts. Tags are extracted from both YAML frontmatter and inline #tags. Results are sorted by frequency (most used first). Returns: { "total": number, "tags": [{ "tag": string, "count": number }] } |
| obsidian_get_tagged_notesA | Get all notes that have a specific tag. The tag can be provided with or without the # prefix. Returns: { "tag": string, "total": number, "notes": [{ "path": string, "name": string, "tags": string[] }] } |
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/sethdavis512/obsidian-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server