save_memoryLABSCO SUMMARY
Memory that combines recency, frequency and importance instead of a blunt expiry rule.
The idea it is testing is that 'delete after 7 days' and 'keep the last 100' both throw away the wrong things; here a decay score weighs how recently and how often a memory was used against how important it is, and touch_memory lets use extend its life. Promotion to Markdown long-term storage is the escape hatch for facts you never want to lose. It is explicitly a research artifact, so treat it as a place to study the idea rather than a product to depend on.
What it is
A temporal memory server: memories decay over time and strengthen with use, with a two-layer design where frequently used ones get promoted to permanent long-term storage.
What you get
- save_memory and search_memory store and retrieve; search_unified searches short-term and long-term together
- touch_memory reinforces a memory so it lasts longer; promote_memory moves a well-used one to permanent storage
- read_graph, create_relation and cluster_memories build and traverse a knowledge graph of entities and relations
- consolidate_memories and gc run the decay-and-cleanup cycle; open_memories opens specific entries
- A decay score combining recency, frequency and importance decides what stays, rather than a fixed expiry
- Local storage — human-readable JSONL by default, or SQLite; long-term memory as Obsidian-friendly Markdown
Requirements
Python 3.10+. Short-term memory lives in JSONL or SQLite under a local config directory; long-term memory is Markdown with YAML frontmatter and wikilinks. All data stays on your machine, with no cloud service and no telemetry. The project is licensed AGPL-3.0 and describes itself as a research proof-of-concept, not a production product.
Setup effort
One command — uv tool install cortexgraph
USE CASES
Remembering a preference without it living forever
Save it; if it goes unused it fades, and referencing it again strengthens it.
Recalling something across short- and long-term memory
Search both layers in one query rather than checking them separately.
Keeping a critical fact permanently
Promote a well-used memory to Markdown long-term storage you control.
Connecting related facts
Create relations between memories and read the resulting graph.
Cleaning up faded memories
Run consolidation and garbage collection to let unused entries decay out.
18 tools
Listed in project docs. Your client may show a different list.
search_memorysearch_unifiedtouch_memoryobserve_memory_usageanalyze_messageanalyze_for_recallauto_recall_process_messagegcpromote_memorycluster_memoriesconsolidate_memoriescreate_relationread_graphopen_memoriesbackfill_embeddingsget_performance_metricsreset_performance_metricsBEFORE YOU INSTALL
What to know first
Tools you get
18 tools named in the project's documentation.
Requires
- uv on PATH
- Python 3.10 or later
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
uv tool install cortexgraphMCP Clients
Claude Desktop
{
"mcpServers": {
"cortexgraph": {
"command": "/Users/<YOUR_USERNAME>/.local/bin/cortexgraph"
}
}
}/Users/<YOUR_USERNAME>/.local/bin/cortexgraph is the path that which cortexgraph prints after the install. Claude Desktop does not read your shell's PATH, so it needs the full path.