Adaptive Memory Graph
Persistent memory for Claude via weighted, interconnected knowledge nodes.
Open source Open in the app JSON README (API)
About
Persistent memory for Claude via weighted, interconnected knowledge nodes.
Details
- Kind
- MCP servers
- Topic
- AI, RAG & memory
- Publisher
- raskolnikovdd
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 1.1.1
- Last push
- 2026-03-11T18:48:56Z
- Repository state
- ativo
- Language
- Python
- License
- MIT
- Added
- 2026-08-29 04:01:16
- Updated
- 2026-08-29 04:01:16
- Origin id
io.github.raskolnikovdd/adaptive-memory-graph
README
# Adaptive Memory Graph
<!-- mcp-name: io.github.raskolnikovdd/adaptive-memory-graph -->
An MCP server plugin that gives Claude persistent, intelligent memory across sessions. It stores knowledge as weighted, interconnected nodes in a graph that evolves through conversation — nodes that get used gain weight, unused ones decay and eventually archive.
Works with **Claude Code** and **Claude Desktop**.
## Features
- **Weighted memory nodes** — Important memories stay prominent; stale ones fade
- **Cross-domain connections** — Link related knowledge across topics
- **Time-based decay** — Graph self-prunes so only relevant memories persist
- **Encrypted storage** — AES-256-GCM encryption with macOS Keychain key storage
- **Session logging** — Tracks which memories were accessed and how they were received
- **Domain organization** — Nodes organized by domain (e.g. health_and_safety, personal, ideas_and_projects)
- **Chat history ingestion** — Review and extract knowledge from past Claude Code sessions
## Installation
```bash
pip install adaptive-memory-graph
```
Or with [uv](https://docs.astral.sh/uv/):
```bash
uv pip install adaptive-memory-graph
```
## Setup
### Claude Code
```bash
claude mcp add adaptive-memory-graph -s user -- amg-server
```
### Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"adaptive-memory-graph": {
"command": "amg-server"
}
}
}
```
**Config file location:**
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
## Tools
| Tool | Description |
|------|-------------|
| `amg_load_index` | Load lightweight graph index at session start |
| `amg_expand_branch` | Fetch full node content when contextually relevant |
| `amg_get_connected_nodes` | Find related nodes across domains |
| `amg_log_session` | Log session summary at conversation end |
| `amg_update_graph` | Process pending logs and apply weight decay |
| `amg_export_report` | Generate human-readable graph summary |
| `amg_manual_adjust` | Boost, decay, archive, or delete nodes |
| `amg_add_node` | Add new nodes to the graph |
| `amg_search_nodes` | Search nodes by title, summary, tags, or content |
| `amg_list_chat_sessions` | List available Claude Code chat sessions for review |
| `amg_read_chat_session` | Read a chat session's conversation content |
## How It Works
1. **Session start** — Claude calls `amg_load_index` to get a lightweight summary of your memory graph
2. **During conversation** — If a topic is relevant, Claude expands specific nodes for deeper context
3. **Session end** — Claude silently logs which nodes were accessed and suggests new ones
4. **Between sessions** — Weight decay runs, archiving memories that haven't been useful
Nodes are stored as encrypted JSON on disk (`~/.amg/graph.json.enc`). The encryption key is stored in your macOS Keychain.
## Requirements
- Python 3.10+
- macOS (for Keychain-based encryption key storage)
## License
MIT