Skip to main content

Intelligent persistent memory graph MCP plugin for Claude — weighted, interconnected knowledge nodes that evolve through conversation

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adaptive_memory_graph-1.1.1.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adaptive_memory_graph-1.1.1-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file adaptive_memory_graph-1.1.1.tar.gz.

File metadata

  • Download URL: adaptive_memory_graph-1.1.1.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for adaptive_memory_graph-1.1.1.tar.gz
Algorithm Hash digest
SHA256 51b22eacbbb4613da29153c172d82c3161778c921406f21423ec9368ead5c045
MD5 c61942a507a332e17e879b211bebb8ad
BLAKE2b-256 35b81333657aaad8be5d3df79f50ed9c504d5eb1a368ac8304d4ee286e1e0774

See more details on using hashes here.

File details

Details for the file adaptive_memory_graph-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for adaptive_memory_graph-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c7d8e920d83db8400b48b1a711ddd934e76f84fed8a12ca805518f0e680af954
MD5 ff9074bc366b508068b0de7aac92734c
BLAKE2b-256 3dd89c3361d4756e42701f883460639b20ce24cf9c4fd29a68ed7170f72b1cc9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page