What problem does it solve? Obsidian Sync has no headless client, so running a synced vault on a server normally is not possible. This Skill runs the real Obsidian desktop app in a Docker container on Ubuntu, signs it into an obsidian.md account, and exposes the vault to Claude through the obsidian-local-rest-api plugin's built-in MCP endpoint over an SSH tunnel. ## Core Features & Use Cases - Headless server install: Installs Docker, the linuxserver/obsidian KasmVNC container, and the Local REST API plugin, with four Docker Compose fallbacks for hosts where Compose is missing. - Secure access model: Locks down the KasmVNC GUI with ufw and basic auth, and routes both the GUI and the MCP endpoint through SSH tunnels so nothing is published to the network. - Claude MCP integration: Registers the vault with Claude Code or Claude Desktop using the plugin's API key, with guidance on HTTP versus self-signed HTTPS and key rotation. - Use Case: A user wants Claude to read and write notes in a vault that syncs to all their devices but lives on an always-on home server. The Skill walks through install, lockdown, sign-in, finalize, and connecting Claude over a tunnel. ## Quick Start Ask Claude to install and lock down an Obsidian vault server on your Ubuntu host and then connect Claude to it over MCP.