Skip to main content
Glama
raskolnikovdd

adaptive-memory-graph

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

Related MCP server: Fuzzy Memory MCP Server

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

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/raskolnikovdd/adaptive-memory-graph'

If you have feedback or need assistance with the MCP directory API, please join our Discord server