memory_storeLABSCO SUMMARY
Forgetting is designed in, not a bug.
Most memory tools accumulate until retrieval degrades; here every edge decays exponentially and only replayed connections survive, so the graph stays shaped by what you keep coming back to. The contradiction handling is the other unusual bit — a concept landing near an existing contradicts edge gets a salience boost specifically so it isn't quietly decayed away before anyone looks at it.
What it is
A memory server modelled on how sleep shapes human memory. It extracts concepts from conversations into a knowledge graph with typed edges, scores each one for how much it should survive, and runs offline cycles that strengthen important connections, propose new associations, and surface conflicts. The author calls it a working prototype rather than production software.
What you get
memory_storeingests conversation text and extracts concepts and relationships;memory_retrievequeries the graph and returns ranked results with their connection contextmemory_dreamruns a full cycle — NREM replay strengthens high-salience edges and prunes weak ones, REM random walks propose links between nodes that are semantically close but unconnected, a waking gate re-tests those at a stricter threshold, and a threat pass flagscontradictsedgesmemory_dream_reportreturns a readable narrative of the last cyclememory_goalsmanages declared research goals, which then bias what gets consolidatedmemory_statusgives node and edge counts;memory_stats_detailedbreaks down appraisal per node, top edges, contradictions and dream-created edgesmemory_tuneadjusts parameters at runtime, such asdream.rem_jump_probability- A 3D force-directed viewer over the graph, served locally, with nodes sized by consolidation score and edges coloured by relationship type
Requirements
Python 3.11 or newer and an Anthropic API key — concept extraction is done by a model, so put ANTHROPIC_API_KEY in a .env file. Clone the repository and run uv sync, then point your client at the virtualenv's Python running -m mind, with PYTHONPATH set to src and cwd set to the project. The graph persists at ~/.neuroplastic-memory/graph.json, goals at goals.json and the last dream report alongside them, so memory is shared across every conversation unless you scope it to a project.
Setup effort
Build from source
USE CASES
Keeping research findings across separate conversations
Store the substantive parts as you go and retrieve them at the start of the next chat.
Finding a connection you hadn't made yourself
Run a dream cycle and read which associations survived the waking gate.
Catching where your notes contradict each other
Let the threat pass flag the conflicting nodes rather than discovering them later.
Steering what gets remembered
Declare goals, and concepts relevant to them are prioritised for consolidation.
Seeing what the graph has become
Read the counts and score distributions, or open the 3D viewer.
8 tools
Listed in project docs. Your client may show a different list.
memory_retrievememory_dreammemory_dream_reportmemory_goalsmemory_statusmemory_stats_detailedmemory_tuneBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation.
Requires
- uv
- Python 3.11 or later
- ANTHROPIC_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
MCP Clients
Claude Desktop
{
"mcpServers": {
"neuroplastic-memory": {
"command": "<YOUR_PATH_TO_MIND>/.venv/bin/python",
"args": [
"-m",
"mind"
],
"cwd": "<YOUR_PATH_TO_MIND>",
"env": {
"PYTHONPATH": "<YOUR_PATH_TO_MIND>/src"
}
}
}
}The configuration on this page does not set ANTHROPIC_API_KEY; the project's instructions put it in a .env file. To supply ANTHROPIC_API_KEY without depending on where the server looks for that file, use the block's "env" section.