mcp-knowledge-graph

MCP.Pizza Chef: shaneholloman

Every chat normally starts from scratch. This tool saves the people, projects, and facts you mention into plain files on your own machine, then lets the assistant look them up later. You can keep one shared memory or separate ones for work, personal, and health topics, and any project folder can hold its own. It works with Claude Desktop, Claude Code, and other apps that support MCP. No account or paid key is needed.

Data
Notes

Use This MCP server To

Remember who I met at a conference and what we discussed Save a client's preferences so I stop repeating them Keep work and personal details in separate memory files Ask what my assistant already knows about a project Link a person to the company and projects they work on Forget facts that are no longer true

README

MCP 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.

Why ".aim" and "aim_" prefixes?

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 identifiable
  • aim_ tool prefixes: Group related memory functions together in multi-tool setups
  • _aim safety 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.

CRITICAL: Understanding .aim dir vs _aim file marker

Two 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:

  • Directory MUST be named .aim in 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

Storage Logic

File Location Priority:

  1. Project with .aim - Uses .aim/memory.jsonl (project-local)
  2. No project/no .aim - Uses configured global directory
  3. 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

Master Database Concept

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.

mcp-knowledge-graph FAQ

Which apps does this work in?
Claude Desktop, Claude Code, and any other app that supports MCP servers.
Do I need to pay for an account or key?
No. It runs on your own computer and stores memories in plain files there.
How hard is the setup?
You paste a short block into your app's config file and restart it. Node.js 22 or newer must already be installed.
Can I use this to keep notes about my clients between chats?
Yes — tell it to save the details once, then ask for them back in a later conversation.
Where does my information actually live?
In text files inside a folder you choose, so you can read, back up, or delete them yourself.
Can I keep work and personal memories apart?
Yes. It supports separate named memory files such as work, personal, or health.
Will it overwrite my other files?
No. It only writes to files carrying its own safety marker and refuses to touch anything else.