
Security News
GitHub Actions Checkout Now Blocks Risky pull_request_target Checkouts
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.
mcp-knowledge-graph
Advanced tools
MCP server enabling persistent memory for AI models through a local knowledge graph
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:
.aim directories: Keep AI memory files organized and easily identifiableaim_memory_ tool prefixes: Group all memory tools together and make their purpose obvious_aim safety markers: Each memory file starts with {"type":"_aim","source":"mcp-knowledge-graph"} to prevent accidental overwrites of unrelated JSONL filesThis consistent AIM naming makes it obvious which directories, tools, and files belong to the AI memory system.
.aim dir vs _aim file markerTwo different things with similar names:
.aim = Project-local directory name (MUST be named exactly .aim for project detection to work)_aim = File safety marker (appears inside JSONL files: {"type":"_aim","source":"mcp-knowledge-graph"})For project-local storage:
.aim in your project rootmy-project/.aim/memory.jsonlFor global storage (--memory-path):
~/yourusername/.aim/, ~/memories/, ~/Dropbox/ai-memory/, ~/Documents/ai-data/File Location Priority:
.aim - Uses .aim/memory.jsonl (project-local)memory-work.jsonl, memory-personal.jsonlSafety System:
{"type":"_aim","source":"mcp-knowledge-graph"}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.
work, personal, health) for organizing specific topics.aim directoriesAdd to your claude_desktop_config.json or .claude.json. Two common approaches:
Option 1: Default .aim directory (simple)
{
"mcpServers": {
"Aim-Memory-Bank": {
"command": "npx",
"args": [
"-y",
"mcp-knowledge-graph",
"--memory-path",
"/Users/yourusername/.aim"
]
}
}
}
Option 2: Dropbox/cloud sync (portable)
For accessing memories across multiple machines, use a synced folder. This is how the author of this MCP server keeps his own memories:
{
"mcpServers": {
"Aim-Memory-Bank": {
"command": "npx",
"args": [
"-y",
"mcp-knowledge-graph",
"--memory-path",
"/Users/yourusername/Dropbox/ai-memory"
]
}
}
}
This creates memory files in your specified directory:
memory.jsonl - Master Database (default for all operations)memory-work.jsonl - Work databasememory-personal.jsonl - Personal databaseIn any project, create a .aim directory:
mkdir .aim
Now memory tools automatically use .aim/memory.jsonl (project-local master database) instead of global storage when run from this project.
Once configured, AI models use the master database by default or can specify named databases with a context parameter. New databases are created automatically - no setup required:
// Master Database (default - no context needed)
aim_memory_store({
entities: [{
name: "John_Doe",
entityType: "person",
observations: ["Met at conference"]
}]
})
// Work database
aim_memory_store({
context: "work",
entities: [{
name: "Q4_Project",
entityType: "project",
observations: ["Due December 2024"]
}]
})
// Personal database
aim_memory_store({
context: "personal",
entities: [{
name: "Mom",
entityType: "person",
observations: ["Birthday March 15th"]
}]
})
// Master database in specific location
aim_memory_store({
location: "global",
entities: [{
name: "Important_Info",
entityType: "reference",
observations: ["Stored in global master database"]
}]
})
Global Setup:
/Users/yourusername/.aim/
├── memory.jsonl # Master Database (default)
├── memory-work.jsonl # Work database
├── memory-personal.jsonl # Personal database
└── memory-health.jsonl # Health database
Project Setup:
my-project/
├── .aim/
│ ├── memory.jsonl # Project Master Database (default)
│ └── memory-work.jsonl # Project Work database
└── src/
aim_memory_store - Store new memories (people, projects, concepts)aim_memory_add_facts - Add facts to existing memoriesaim_memory_link - Link two memories togetheraim_memory_search - Search memories by keywordaim_memory_get - Retrieve specific memories by exact nameaim_memory_read_all - Read all memories in a databaseaim_memory_list_stores - List available databasesaim_memory_forget - Forget memoriesaim_memory_remove_facts - Remove specific facts from a memoryaim_memory_unlink - Remove links between memoriescontext (optional) - Specify named database (work, personal, etc.). Defaults to master databaselocation (optional) - Force project or global storage location. Defaults to auto-detectionUse aim_memory_list_stores to see all available databases:
{
"project_databases": [
"default", // Master Database (project-local)
"project-work" // Named database
],
"global_databases": [
"default", // Master Database (global)
"work",
"personal",
"health"
],
"current_location": "project (.aim directory detected)"
}
Key Points:
Important: Always specify --memory-path to control where your memory files are stored.
Auto-approve read operations (recommended):
{
"mcpServers": {
"Aim-Memory-Bank": {
"command": "npx",
"args": [
"-y",
"mcp-knowledge-graph",
"--memory-path",
"/Users/yourusername/.aim"
],
"autoapprove": [
"aim_memory_search",
"aim_memory_get",
"aim_memory_read_all",
"aim_memory_list_stores"
]
}
}
}
"File does not contain required _aim safety marker" error:
{"type":"_aim","source":"mcp-knowledge-graph"} as first line_aim marker or delete and let the system recreate itMemories going to unexpected locations:
.aim folder (uses project-local storage)--memory-path directoryaim_memory_list_stores to see all available databases and current locationls .aim/ or ls /Users/yourusername/.aim/ to see your memory filesToo many similar databases:
MIT
FAQs
MCP server enabling persistent memory for AI models through a local knowledge graph
The npm package mcp-knowledge-graph receives a total of 225 weekly downloads. As such, mcp-knowledge-graph popularity was classified as not popular.
We found that mcp-knowledge-graph demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub Actions checkout now blocks risky pull_request_target checkouts by default to help prevent pwn request supply chain attacks.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.