Persistent memory for AI models through a local knowledge graph.
Store and retrieve information across conversations using entities, relations, and observations. Works with Claude Code/Desktop and any MCP-compatible AI platform.
AIM stands for AI Memory - the core concept of this system. The three AIM elements provide clear organization and safety:
.aimdirectories: Keep AI memory files organized and easily identifiableaim_tool prefixes: Group related memory functions together in multi-tool setups_aimsafety markers: Each memory file starts with{"type":"_aim","source":"mcp-knowledge-graph"}to prevent accidental overwrites of unrelated JSONL files
This consistent AIM naming makes it obvious which directories, tools, and files belong to the AI memory system.
Two different things with similar names:
.aim= Project-local directory name (MUST be named exactly.aimfor project detection to work)_aim= File safety marker (appears inside JSONL files:{"type":"_aim","source":"mcp-knowledge-graph"})
For project-local storage:
- Directory MUST be named
.aimin your project root - Example:
my-project/.aim/memory.jsonl - The system specifically looks for this exact name
For global storage (--memory-path):
- Can be ANY directory you want
- Examples:
~/yourusername/.aim/,~/memories/,~/Dropbox/ai-memory/,~/Documents/ai-data/ - Complete flexibility - choose whatever location works for you
File Location Priority:
- Project with
.aim- Uses.aim/memory.jsonl(project-local) - No project/no .aim - Uses configured global directory
- Contexts - Adds suffix:
memory-work.jsonl,memory-personal.jsonl
Safety System:
- Every memory file starts with
{"type":"_aim","source":"mcp-knowledge-graph"} - System refuses to write to files without this marker
- Prevents accidental overwrite of unrelated JSONL files
The master database is your primary memory store - used by default when no specific database is requested. It's always named default in listings and stored as memory.jsonl.