Local, token-free file → knowledge-graph memory for any AI assistant (Claude, Gemini, Cursor, VS Code, Windsurf, ChatGPT's Codex, Grok). Convert any attachment to Markdown and digest it into a searchable graph + exportable notes, entirely on-device — deterministic and model-free (no LLM/GPU).
11 tools with complete input schemas and descriptions. Naming is verb-forward and clear (digest, convert, recall, forget, merge_memory). Descriptions are substantive (100-250 chars), explaining WHAT and WHEN. However, output schemas are undocumented, LLMs cannot infer response structure. Error handling is absent: no guidance on retryability, user-fixable vs fatal errors, or recovery paths. Parameters lack constraints (enums, ranges, patterns) and some lack descriptions (e.g., 'fast' in digest is marked deprecated but still present). No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Composition is sound, tools chain well (digest → recall, export → import). Security: no secrets in params, but no audit logging visible.
Convert files/dirs/globs to Markdown locally and write the .md files to ``out_dir`` (default: a ``markdown_converted/`` folder beside the input). Legacy Bengali (Bijoy/SutonnyMJ ANSI fonts) is auto-upgraded to Unicode during conversion. Token-free: returns ONLY counts + output paths, never document text. ``digest`` runs this same conversion first, so converting to Markdown is the default everywhere.
Compare two project memories (read-only): documents added/removed/changed (matched by portable content hash), entities and themes only-in-each, and a stats delta. Token-free.
Convert files/dirs/globs to Markdown locally, then build a knowledge graph + layered memory. Returns ONLY counts, paths and graph stats (token-free). Fully deterministic and model-free: extraction, summaries and embeddings all use the on-device classical/hash path, so two digests of the same corpus match.
Export the memory (memory.md, per-document notes, graph.json) as portable Markdown files to a destination directory.
Delete a project's memory (knowledge graph, converted Markdown, summaries and notes). Irreversible. Pass the project name explicitly. ``secure=True`` overwrites every file's bytes with random data before removal (best-effort — it cannot guarantee erasure on SSD/flash/copy-on-write/synced storage).
Output schemas undocumented. Tools return counts, paths, stats, and graph data, but LLMs cannot infer response structure. No documented fields for digest (counts? paths? graph stats separately?), recall (theme summaries + entity cards, what fields?), or export_memory (what files are written?).
No error handling guidance. Tools like forget (destructive, irreversible) and import_memory (backs up existing store) lack recovery paths. No indication of retryability, user-fixable errors, or what to do if a digest fails mid-corpus.
Missing tool annotations. Tools marked WRITE (digest, convert, forget, import_memory, merge_memory) and DESTRUCTIVE (forget) lack readOnlyHint/destructiveHint/idempotentHint annotations. Agents cannot distinguish safe-to-retry from irreversible operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Import a previously-exported bundle directory (graph.json + recall sidecars + notes) into a project, making it recall-ready on this machine. Backs up any existing store first. A recall-only snapshot — re-digesting the project replaces it. Token-free.
List convertible files under a directory (paths + sizes only).
Return the compact synopsis, stats and theme list for a project's memory.
Report the local stack: Tesseract, MarkItDown version, platform tuning, and existing projects. Fully deterministic + model-free (no inference engine).
Merge several source projects' converted corpora into a NEW project and rebuild one coherent memory (deterministic, model-free) — as if their files were digested together. Returns digest-style stats (token-free).
Answer from memory: returns a small, relevant slice (theme summaries + entity cards with provenance) — never whole documents. Optional filters (v3.1): ``doc`` limits hits to those citing one source document; ``entity_type`` limits to entity hits of a type (person/org/place/…). ``projects`` federates the search across several named memories at once (each hit tagged with its project).
Parameter constraints missing. 'k' in recall defaults to 0 (unclear semantics); 'entity_type' accepts free-form strings (should be enum: person/org/place/…). 'fast' in digest is deprecated but still present with no guidance on removal.
Confirmation pattern absent for destructive operations. forget() is irreversible but lacks dry-run or confirmation step. Agents can accidentally delete entire project memories without safeguard.