Skip to main content

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

  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

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)

Source distribution for adaptive-memory-graph 1.1.1
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)

Table of built distributions (wheels) for adaptive-memory-graph 1.1.1
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page