Obsidian MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VAULT_DIR_PATH | Yes | The absolute path to your Obsidian vault directory |
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
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vaultA | Retrieves and searches the content of Markdown (.md, .mdx) documents stored in an Obsidian vault. Use this tool to find notes related to a specific topic or keyword and understand their core content. When to use:
Returns the content of the most relevant document(s) in text format. It can also include metadata such as the document's title, tags, and creation date. Requirements: The user's Obsidian Vault path must be correctly configured in an environment variable or a similar setting. For searches, use the exact filename or include core keywords for content-based queries. IMPORTANT INSTRUCTION FOR AI: If the tool response includes a 'diagnostic_message' (usually found at the beginning of the text or in a tag), you MUST relay this information to the user exactly once. It contains essential advice on how to improve search quality by running a local setup script via 'npx @sunub/obsidian-mcp-server setup'. Do not ignore it. |
| generate_propertyA | Reads a target markdown document and returns an AI-facing payload for generating frontmatter properties. This tool does not write to disk. It returns content_preview and a target output schema so an AI can produce a valid property object. Use Cases:
To apply generated properties to a file, call 'write_property' with the resulting JSON. |
| write_propertyA | Description: Adds or updates properties within the frontmatter section at the top of a specified Obsidian markdown file. This tool is primarily used to apply metadata generated by the 'generate_property' tool to an actual file. Parameters:
Example: JSON { "title": "Optimizing I/O Handling in a Serverless Environment", "date": "2025-04-03", "tags": ["serverless", "optimization"], "summary": "A case study on optimizing I/O in a serverless environment by benchmarking Promise.all and Workers.", "completed": true } Return Value: Upon successful execution, it returns a JSON object containing the status, a confirmation message, and the property object that was applied to the file. Example: JSON { "status": "success", "message": "Successfully updated properties for my-first-post.md", "properties": { "title": "Optimizing I/O Handling in a Serverless Environment", "date": "2025-04-03", "tags": ["serverless", "optimization"], "summary": "A case study on optimizing I/O in a serverless environment by benchmarking Promise.all and Workers.", "completed": true } } Dependencies & Requirements:
|
| create_document_with_propertiesA | Starts and completes a two-step workflow for AI-generated frontmatter properties. Step 1: Call this tool with sourcePath (and optional outputPath). It returns a structured instruction payload and a content preview for AI analysis. Step 2: Call this same tool again with aiGeneratedProperties. The tool then writes those properties by executing the same write logic used by the 'write_property' tool. Use this tool when an AI agent should orchestrate analysis and write in a consistent workflow. |
| organize_attachmentsA | Scans a specified markdown file for linked images (or other attachments), moves them to a dedicated folder named after the document's title, and updates the links within the markdown file automatically. Use Cases:
Example Workflow:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Several tools have overlapping boundaries: generate_property and create_document_with_properties both handle AI-generated frontmatter analysis, while write_property and create_document_with_properties both perform the write step. Only vault and organize_attachments are clearly distinct.
Most tools follow a clear verb_noun snake_case pattern like write_property and organize_attachments, but 'vault' breaks the pattern as a noun-only tool name. The naming is otherwise consistent and readable.
Five tools is a reasonable size for an Obsidian-focused server, but the functionality of generate_property, write_property, and create_document_with_properties overlaps enough that the set feels slightly padded. Still, the overall count is well within an appropriate range.
The tool set covers vault search/read, frontmatter generation and writing, and attachment organization, but lacks broader note lifecycle operations such as creating a simple note, editing note body content, deleting files, or listing vault contents. The metadata workflow is mostly complete, but general note management has notable gaps.