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
pip install adaptive-memory-graph
Or with uv:
uv pip install adaptive-memory-graph
Setup
Claude Code
claude mcp add adaptive-memory-graph -s user -- amg-server
Claude Desktop
Add to your claude_desktop_config.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
- Session start — Claude calls
amg_load_indexto get a lightweight summary of your memory graph - During conversation — If a topic is relevant, Claude expands specific nodes for deeper context
- Session end — Claude silently logs which nodes were accessed and suggests new ones
- 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
Metadata
Release files for adaptive-memory-graph 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| adaptive_memory_graph-1.1.1.tar.gz | 17.6 kB | Without provenance | Details for adaptive_memory_graph-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| adaptive_memory_graph-1.1.1-py3-none-any.whl | Python 3 | none | any | Details for adaptive_memory_graph-1.1.1-py3-none-any.whl |
Total release size: 34.7 kB
Release files / adaptive_memory_graph-1.1.1.tar.gz
| Download URL | adaptive_memory_graph-1.1.1.tar.gz |
|---|---|
| Size | 17.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
51b22eacbbb4613da29153c172d82c3161778c921406f21423ec9368ead5c045
|
|
BLAKE2b-256 checksum How to use checksums |
35b81333657aaad8be5d3df79f50ed9c504d5eb1a368ac8304d4ee286e1e0774
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / adaptive_memory_graph-1.1.1-py3-none-any.whl
| Download URL | adaptive_memory_graph-1.1.1-py3-none-any.whl |
|---|---|
| Size | 17.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c7d8e920d83db8400b48b1a711ddd934e76f84fed8a12ca805518f0e680af954
|
|
BLAKE2b-256 checksum How to use checksums |
3dd89c3361d4756e42701f883460639b20ce24cf9c4fd29a68ed7170f72b1cc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Security for adaptive-memory-graph 1.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.