MCP-first · Local-first · Open source · v0.2

The memory layer for AI agents

Persistent hierarchical memory that agents can retain, recall, and prune. One excellent local store. Clean MemoryStore port for later backends.

Install

npm i @umg0/umg0

Drop-in via MCP (stdio). Offline by default. No cloud required.

  • Claude Code
  • Cursor
  • Hermes
  • Cline
  • Copilot
  • Zed
  • Any MCP client
agent · session

# Session start: restore context

recall("umg0 landing page")

semantic

Prefer TypeScript strict mode

procedural

Always dry-run prune before eviction

# New durable fact

retain("Brand accent is soft violet #C4B5FD", tier:"semantic")

✓ stored · importance scored

# Session end

reflect("decisions + prefs from session")

✓ consolidated · candidates retained

4

Tiers

6

MCP tools

FTS

SQLite local

MCP-first — one memory layer across your tools

Works with Claude Code, Cursor, Hermes, Cline, VS Code, Zed, Windsurf, and any MCP client

4
Memory tiers

working → procedural

6
MCP tools

retain through promote

FTS-first
Default search

optional hybrid embeds

7d
Metrics window

stats + umg://stats

The problem

What should be remembered gets forgotten, or never cleaned.

Agent amnesia and unbounded memory bloat are two sides of the same infrastructure gap. umg0 is the layer in between.

01

Agents forget every session

Preferences, decisions, and project context die when the context window resets. You re-explain the same things.

02

Flat stores bloat

Dump everything into one bag and recall gets noisy. Tokens rise. Signal falls. Memory becomes a liability.

03

No lifecycle discipline

Without tiers, scores, and pruning, agents keep stale facts and never promote proven patterns into skills.

Product

Hierarchical memory, not a bigger bag.

Every memory has a tier, importance, decay score, and lifecycle. Recall re-ranks with configurable weights: FTS, importance, decay, tier, recency, and entity match. Then consolidation keeps the store sharp.

  • Auto-tier on write, or set tier explicitly
  • Additive-first writes; supersede only when confidence is clear
  • Multi-pass merge and promotion quality gates
  • Namespace isolation (optional hard isolation)
umg0namespace · global
local sqlite · WAL

working

Current task scratch

24h · cap 50

episodic

Specific interactions

30d · cap 500

semantic

Facts, prefs, decisions

365d · cap 1000

procedural

Skills & lessons

near-immortal · cap 200

Active memoriesscore
  • semantic

    Brand accent is soft violet #C4B5FD

    0.91
  • semantic

    Prefer TypeScript strict mode across the monorepo

    0.87
  • procedural

    Always dry-run prune before destructive eviction

    0.94
  • episodic

    Landing page copy review: omit Login until auth exists

    0.62
retainrecallreflectlist_memoriesprunepromote_to_skill

Why umg0

Infrastructure-grade agent memory.

Honest v0.2 scope: one excellent local backend, clean MemoryStore port, multi-backend routing out of scope.

Hierarchy

Four tiers. Clear retention.

Working for scratch, episodic for interactions, semantic for durable facts, procedural for skills. Each tier has its own TTL, cap, and decay half-life.

  • Auto-tier or explicit tier on write
  • Tier weight in configurable ranking
  • Procedural protected from eviction by default
procedural
semantic
episodic
working

retention ↑ · pressure ↓

Consolidation

Memory that stays sharp.

Importance from entity density and rarity, multi-pass merge, confidence-gated supersede (additive-first on ambiguity), tunable decay, and eviction under pressure. The differentiator is pruning quality, not store size.

  • Merge similar; supersede only when clear (≥0.75)
  • Decay with session-recency boost
  • Promotion quality gates + proposed skills dry-run

// write path (v0.2)

1. score importance

2. find similar

→ merge if similar ≥ 0.82

→ supersede only if confidence ≥ 0.75

→ else additive (keep both)

3. insert + light prune

recall score =

fts · imp · decay · tier · recency · entity

Interface

MCP-first. Local-first.

Six tools agents already understand. SQLite FTS5 offline by default, WAL and single-writer discipline. Optional hybrid embeddings and LLM reflect stay behind flags.

  • stdio MCP server + CLI (stats, compact, prune)
  • 7-day metrics via umg stats / umg://stats
  • Works with any MCP client (Claude Code, Cursor, Hermes, Cline, VS Code, …)

// .mcp.json

{
  "mcpServers": {
    "umg": {
      "command": "node",
      "args": ["./dist/index.js", "mcp"]
    }
  }
}

# umg stats · umg compact · umg prune --dry-run

How it works

A disciplined write path.

Useful agent memory is not a bigger store. It is hierarchical retention plus aggressive consolidation.

  1. 01

    Retain

    Write durable facts, preferences, and decisions. Auto-tier or set semantic / working explicitly. Similar facts merge; clear contradictions supersede.

  2. 02

    Recall

    Retrieve ranked context for the current task. Configurable multi-factor score: FTS, importance, decay, tier, recency, entity.

  3. 03

    Reflect

    Session write-back consolidates decisions and preferences. Heuristic extract by default; optional LLM reflect behind a flag.

  4. 04

    Prune & promote

    Scores and caps keep the store clean. Multi-pass merge on prune. Patterns can promote to procedural skills with quality gates.

Quickstart

Memory in minutes. Not a platform migration.

Connect via MCP or use the CLI. Same six tools for retain, recall, reflect, list, prune, and promote in any MCP-compatible client.

Install

npm i @umg0/umg0
# Preferred (npm package @umg0/umg0)
npx -y @umg0/umg0 retain --content "Prefer TypeScript strict mode" --tier semantic
npx -y @umg0/umg0 recall --query "TypeScript"
npx -y @umg0/umg0 stats
npx -y @umg0/umg0 prune --dry-run

# After: npm i -g @umg0/umg0
# umg0 retain --content "..." --tier semantic

Same MCP server works across clients. Only the config file location changes.

Use cases

Built for agents that need durable context.

Coding agents

MCP coding agents (Claude Code, Cursor, Cline, Hermes, and more) that recall project decisions, style prefs, and past fixes instead of relearning every session.

Personal agent memory

Preferences, constraints, and standing instructions that survive context resets across tools.

Project knowledge

Namespace-scoped facts for each codebase: architecture choices, naming rules, and hard-won lessons.

Skill promotion

Patterns that prove useful promote to procedural skills: durable playbooks, not one-off notes.

Get started

Give your agents a memory that lasts.

Persistent. Hierarchical. Clean. Install locally and connect via MCP in minutes.