{
  "markdown": "# Adaptive Memory Graph\n\n<!-- mcp-name: io.github.raskolnikovdd/adaptive-memory-graph -->\n\nAn 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.\n\nWorks with **Claude Code** and **Claude Desktop**.\n\n## Features\n\n- **Weighted memory nodes** — Important memories stay prominent; stale ones fade\n- **Cross-domain connections** — Link related knowledge across topics\n- **Time-based decay** — Graph self-prunes so only relevant memories persist\n- **Encrypted storage** — AES-256-GCM encryption with macOS Keychain key storage\n- **Session logging** — Tracks which memories were accessed and how they were received\n- **Domain organization** — Nodes organized by domain (e.g. health_and_safety, personal, ideas_and_projects)\n- **Chat history ingestion** — Review and extract knowledge from past Claude Code sessions\n\n## Installation\n\n```bash\npip install adaptive-memory-graph\n```\n\nOr with [uv](https://docs.astral.sh/uv/):\n\n```bash\nuv pip install adaptive-memory-graph\n```\n\n## Setup\n\n### Claude Code\n\n```bash\nclaude mcp add adaptive-memory-graph -s user -- amg-server\n```\n\n### Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"adaptive-memory-graph\": {\n      \"command\": \"amg-server\"\n    }\n  }\n}\n```\n\n**Config file location:**\n- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `amg_load_index` | Load lightweight graph index at session start |\n| `amg_expand_branch` | Fetch full node content when contextually relevant |\n| `amg_get_connected_nodes` | Find related nodes across domains |\n| `amg_log_session` | Log session summary at conversation end |\n| `amg_update_graph` | Process pending logs and apply weight decay |\n| `amg_export_report` | Generate human-readable graph summary |\n| `amg_manual_adjust` | Boost, decay, archive, or delete nodes |\n| `amg_add_node` | Add new nodes to the graph |\n| `amg_search_nodes` | Search nodes by title, summary, tags, or content |\n| `amg_list_chat_sessions` | List available Claude Code chat sessions for review |\n| `amg_read_chat_session` | Read a chat session's conversation content |\n\n## How It Works\n\n1. **Session start** — Claude calls `amg_load_index` to get a lightweight summary of your memory graph\n2. **During conversation** — If a topic is relevant, Claude expands specific nodes for deeper context\n3. **Session end** — Claude silently logs which nodes were accessed and suggests new ones\n4. **Between sessions** — Weight decay runs, archiving memories that haven't been useful\n\nNodes are stored as encrypted JSON on disk (`~/.amg/graph.json.enc`). The encryption key is stored in your macOS Keychain.\n\n## Requirements\n\n- Python 3.10+\n- macOS (for Keychain-based encryption key storage)\n\n## License\n\nMIT\n",
  "bytes": 3037,
  "sha": "1b852700fa01fb7f2fe450484c2477ddfd9ea0820349eab5374d0564315ce02a",
  "repo_slug": "raskolnikovdd/adaptive-memory-graph",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_raskolnikovdd_adaptive_memory__f82102d1/readme"
}