Obsidian MCP Server

by cyanheads
Verified

obsidian_update_properties

Update properties in an Obsidian note's YAML frontmatter. Intelligently merges arrays (tags, type, status), handles custom fields, and automatically manages timestamps (created by Obsidian, modified by MCP server). Existing properties not included in the update are preserved.

Input Schema

NameRequiredDescriptionDefault
filepathYesPath to the note file (relative to vault root)
propertiesYesProperties to update

Input Schema (JSON Schema)

{ "properties": { "filepath": { "description": "Path to the note file (relative to vault root)", "format": "path", "type": "string" }, "properties": { "additionalProperties": false, "description": "Properties to update", "properties": { "author": { "type": "string" }, "custom": { "additionalProperties": true, "type": "object" }, "dependencies": { "items": { "type": "string" }, "type": "array" }, "papers": { "items": { "type": "string" }, "type": "array" }, "platform": { "type": "string" }, "repository": { "format": "uri", "type": "string" }, "sources": { "items": { "type": "string" }, "type": "array" }, "status": { "items": { "enum": [ "draft", "in-progress", "review", "complete" ], "type": "string" }, "type": "array" }, "tags": { "items": { "pattern": "^#", "type": "string" }, "type": "array" }, "title": { "type": "string" }, "type": { "items": { "enum": [ "concept", "architecture", "specification", "protocol", "api", "research", "implementation", "guide", "reference" ], "type": "string" }, "type": "array" }, "urls": { "items": { "format": "uri", "type": "string" }, "type": "array" }, "version": { "type": "string" } }, "type": "object" } }, "required": [ "filepath", "properties" ], "type": "object" }