2026-07-03 Obsidian MCP Cutover to Athena
What I set out to do
Execute the cutover runbook from Old MacBook Home Server Setup: move the public Obsidian MCP connector (obsidian-mcp.achhina.com) off the OCI box onto athena, which serves its iCloud vault copy directly and kills the 30s+30s git-polling latency.
What I actually did
- Preflight from atlas: OCI box reachable, tunnel token present in
~/.config/secrets/.secrets. athena neededssh-copy-idfirst (done manually), plus accepting its new host key. - Stopped the OCI tunnel connector. Deviation:
systemctl disablefails on NixOS (units in the read-only store), so persistent-off =systemctl stop+ renaming/etc/obsidian-mcp/tunnel.env→tunnel.env.disabled(unit can’t start without itsEnvironmentFile; secret preserved).gitsync.timerleft running for GitHub backups. - Piped the
CF_OBSIDIAN_TUNNEL_TOKENline over SSH to athena; the dormant tunnel agent self-started via launchdPathStateafter a kickstart — 3 QUIC connections registered. - Verified end-to-end via the claude.ai connector: Anthropic-IP requests (160.79.106.x) in athena’s bridge log, and a connector-written test note propagated athena → atlas iCloud in seconds.
What was striking
- First e2e test was a false positive: the Claude Code session’s
obsidianMCP server is the local bridge on atlas, so the write never touched the tunnel — caught it because athena’s bridge log mtime hadn’t moved. The UUID-named claude.ai connector server is the one that exercises the real path. - NixOS’s read-only unit store made the runbook’s
disable --nowimpossible; the EnvironmentFile rename is a tidy persistent-off that doubles as secret preservation.
Follow-ups (same session)
- OCI box end-state decided: keep idling as a $0 fallback (tunnel disabled, gitsync backup running; secrets in
/etc/obsidian-mcp/are non-reproducible, so idling preserves them). - atlas’s obsidian-git intervals dropped from 30s back to 15m (
obsidian.nix, applied viahm switch) — git is backup-only now that athena serves the iCloud copy directly. Obsidian needs a restart to pick it up.
Top 3 tomorrow
- Update dotfiles:
hosts/obsidian-mcp/and atlas’srunTunnel=falsecomment describe a retired topology. - athena health checks (vault mtime advancing, external uptime monitoring) — last open checklist item.
- Commit the obsidian.nix interval change.
Related
Old MacBook Home Server Setup · Remote Obsidian MCP Cloud Host · 2026-06-24 Remote MCP Migration Complete