:PROPERTIES: :ID: c945da4f-de5c-4eb8-bd99-810576a2545a :END: #+title: azos/org-roam #+filetags: :project: :knowledge: :org-roam: * Setup - Directory: =~/roam/= - Database: =~/.emacs.d/org-roam.db= (sqlite-builtin connector) - MCP server: =org-roam-mcp= registered in =~/.claude.json= via home-manager activation - org-agenda includes =~/roam/= so TODOs in roam files appear in agenda * Gotchas - org-roam-mcp is forked at =anerisgreat/org-roam-mcp= (not upstream =aserranoni/org-roam-mcp=); fork fixes: =create_node= writes directly to SQLite so new nodes are immediately searchable (no emacsclient needed), and =cli_main= is defined natively (no postPatch needed) - emacsql stores all Emacs strings in SQLite with surrounding ="..."= — the Python DB layer strips these with =_clean_path=/_clean_string= - org-roam timestamps in SQLite are Emacs =(HIGH LOW USEC PSEC)= tuples: =HIGH = secs >> 16=, =LOW = secs & 0xFFFF=