Back to the catalog

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

More