1.6 KiB
1.6 KiB
azos/org-roam
Setup
- Directory:
~/roam/ - Database:
~/.emacs.d/org-roam.db(sqlite-builtin connector) - MCP server:
org-roam-mcpregistered in~/.claude.jsonvia 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 upstreamaserranoni/org-roam-mcp); fork fixes:create_nodewrites directly to SQLite so new nodes are immediately searchable (no emacsclient needed), andcli_mainis 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 - MCP unavailable in projects with Python dev shells: if a project uses
use flakewith apython3.withPackagesdev shell (e.g.roll/impl), direnv setsPYTHONPATHto that shell's Python site-packages. org-roam-mcp uses Python 3.13; the inheritedPYTHONPATHpoints to a different Python version, causing import failures (symptom:ImportError: cannot import name 'Sentinel' from 'typing_extensions'). Fix:PYTHONPATH: ""in the MCP serverenvblock of~/.claude.json(already set inazos-core/features/claude-memory/default.nixas of the fix). If mcp__org-roam__ tools are missing in a session, check whether the project's direnv is pollutingPYTHONPATH.