obsidian-pkm
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VAULT_PATH | Yes | Path to your Obsidian vault (required) | |
| OPENAI_API_KEY | No | Fallback OpenAI API key for semantic search | |
| VAULT_PKM_OPENAI_KEY | No | OpenAI API key for semantic search (preferred) | |
| VAULT_PKM_VAULT_NAME | No | Override vault name for obsidian:// links (defaults to basename of VAULT_PATH) | |
| OBSIDIAN_PKM_OPENAI_KEY | No | Deprecated fallback OpenAI API key for semantic search |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vault_readA | Read the contents of a markdown file from the vault. Supports pagination: read a single section by heading, last N lines, last N heading-level sections, chunk number, or line range. Files exceeding ~80k characters auto-redirect to peek data (file structure/outline) unless a pagination param or force=true is specified. Paths in this tool's output are formatted as markdown links |
| vault_peekA | Inspect a file's metadata and structure without reading full content. Returns file size, frontmatter, heading outline with approximate section sizes, and a brief preview. Use this to plan which sections to read from large files. Paths in this tool's output are formatted as markdown links |
| vault_writeA | Create a new note from a template. Notes must be created from templates to ensure proper frontmatter. Available templates: (No templates found - add .md files to 05-Templates/) Built-in variables (auto-substituted):
Required: frontmatter.tags - provide at least one tag for the note.
Optional: frontmatter.status, frontmatter.priority, frontmatter.project, frontmatter.deciders, frontmatter.due, frontmatter.source (depending on template type).
Pass custom <%...%> variables via the 'variables' parameter. Paths in this tool's output are formatted as markdown links |
| vault_appendA | Append content to an existing file, optionally under a specific heading. When 'position' is specified, heading is required and must exist in the file. Paths in this tool's output are formatted as markdown links |
| vault_editA | Edit a file by replacing an exact string match. The old_string must appear exactly once in the file for safety. Paths in this tool's output are formatted as markdown links |
| vault_update_frontmatterA | Update YAML frontmatter fields in an existing note. Parses existing frontmatter, updates specified fields, preserves everything else. Set a field to null to remove it. Protected fields (type, created, tags) cannot be removed. Field values are validated against the note's type (e.g. task status must be: pending, active, done, cancelled; task priority must be: low, normal, high, urgent). Paths in this tool's output are formatted as markdown links |
| vault_searchA | Search for text across all markdown files in the vault. Paths in this tool's output are formatted as markdown links |
| vault_listA | List files and folders in the vault. Paths in this tool's output are formatted as markdown links |
| vault_recentA | Get recently modified files. Paths in this tool's output are formatted as markdown links |
| vault_linksA | Get incoming and outgoing links for a note. Paths in this tool's output are formatted as markdown links |
| vault_neighborhoodA | Explore the graph neighborhood around a note by traversing wikilinks. Returns notes grouped by hop distance from the starting note, with frontmatter metadata for each node. Useful for understanding clusters, finding related context, and discovering connections. Paths in this tool's output are formatted as markdown links |
| vault_queryA | Query notes by YAML frontmatter metadata (type, status, tags, dates, custom fields, sorting). Paths in this tool's output are formatted as markdown links |
| vault_tagsA | Discover all tags used across the vault with per-note occurrence counts. Useful for exploring tag conventions, finding hierarchical tag trees, and understanding vault organization. |
| vault_activityA | Query or clear the activity log. Shows tool calls made across sessions with timestamps and arguments. Use action 'query' to retrieve entries, 'clear' to delete entries. |
| vault_trashA | Soft-delete a file by moving it to .trash/ (Obsidian convention). Reports files with broken incoming links as warnings. Use vault_move to relocate files instead. Paths in this tool's output are formatted as markdown links |
| vault_moveA | Move or rename a markdown file within the vault. Automatically updates wikilinks in all files that reference the moved file. Both paths must be exact. Paths in this tool's output are formatted as markdown links |
| vault_add_linksA | Add annotated wikilinks to a note's section (default: ## Related). Deduplicates by basename (skips links already present). Creates the section if missing. Requires exact path. Paths in this tool's output are formatted as markdown links |
| vault_link_healthA | Graph health report — finds orphan notes, broken wikilinks, weakly connected notes, and ambiguous links. Scans all markdown files (or a specific folder). Use to audit link quality and find notes that need better connections. Paths in this tool's output are formatted as markdown links |
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/AdrianV101/obsidian-pkm-plugin'
If you have feedback or need assistance with the MCP directory API, please join our Discord server