Skip to main content
Glama

The 3 a.m. feeling

You explained the architecture yesterday. The cart cap is 37. You banned Redis for a reason. SQLite won the debate.

Today your agent knows none of it. So you paste the README again. Re-explain the constraints again. Watch it reintroduce Redis… again.

Cloud "memory layers" fix this by uploading your code and your chat to someone else's server. Hard pass.

memxt gives your agent a memory palace on your own disk — one it searches and writes as it works, wired straight into the coding loop with MCP + hooks. Verbatim. Local. Yours.


Related MCP server: OpenExp

⚡ Install

curl -fsSL https://raw.githubusercontent.com/Yupcha/memxt/main/install.sh | bash

~/.memxt/bin/memxt + an on-device MiniLM model. macOS / Linux, x86_64 & arm64. No keys, no accounts.

~/.memxt/bin/memxt adopt --write   # wire up your agents + mine the current repo
~/.memxt/bin/memxt inspect         # palace health
~/.memxt/bin/memxt serve           # browse it → http://127.0.0.1:8765

🪄 Claude Code in 30 seconds

/plugin marketplace add Yupcha/memxt
/plugin install memxt

That's the whole setup. From now on, every session just… remembers.

Fires on

What happens

SessionStart

Wakes up with identity + project truth + recent work — injected in ~10 ms

PreCompact

Saves the conversation before context gets crushed

Stop

Autosaves the turn tail — verbatim, embedded locally, no cloud LLM

memory_searchmemory_get

Cheap index first, full memory only when needed

/remember · /recall

When you want to be explicit

~/.memxt/bin/memxt mine . my-project   # optional: seed the palace from your repo

Next session, nobody re-explains the 37-item cart cap, the SQLite choice, or the Redis ban. It's just known.


🧩 Every agent, one palace

One MEMXT_DB. Every subscription you already pay for reads and writes the same memory.

Agent

Setup

Claude Code

Plugin (above) — the best experience

Codex

memxt instructions --harness codexconfig.toml + AGENTS.md

Cursor

memxt adopt --write.cursor/mcp.json

Grok CLI

grok mcp add memory … -- ~/.memxt/bin/memxt mcp, then start a new session

Any MCP client

memxt mcp over stdio

~/.memxt/bin/memxt instructions --harness grok   # also: codex · cursor · zed · claude

Standing rules live in AGENTS.md so agents know when to reach for memory — not just how. Full multi-harness guide (doctor, restart, troubleshooting) → docs/harnesses.md.

MCP loads at session start. After adding memxt, open a new session.


✅ Proof, not vibes

Coding Continuity Bench — 6/6. Paraphrased questions (cart 37 / 0x5C, SQLite vs Postgres, the Redis ban, HttpOnly cookies) + wake-up + profile. Every one recalled.

./scripts/bench-continuity.sh

Fast where it counts — Apple Silicon · Metal:

Op

Time

Session wake-up

~10 ms (no model load)

Warm vector search (MCP resident)

sub-ms

Mine ~15 files

~1 s

Peak RAM (model loaded)

~100 MB

Method → BENCHMARK.md · details → docs/BENCHMARKS_CONTINUITY.md.


📉 Token savings

Not a synthetic leaderboard. On this repo: wire up the agent, mine the project, ask 5 continuity questions.

paste the docs every restart    ████████████████████████████  9,623 tokens
memxt wake + targeted recall     ████████                      2,703 tokens

Path

Into the model

Tokens*

Without

README + ROADMAP + AGENTS + docs + recap

9,623

With

wake_up + 5× memory_search

2,703

Saved

6,920 (71.9%) · ~3.6× less

* tiktoken cl100k_base. Honest caveat: a perfect 176-token hand-written recap can look cheaper — but real amnesiac sessions re-dump docs or just fail. Full method → docs/TOKEN_SAVINGS.md.


🏛 How it works

                a palace on your disk
                        │
   Wings (projects) → Rooms (topics) → Drawers (verbatim memory + embedding)
                        │
        search  =  vectors + FTS5 + facts + recency, fused
                        │
        wake-up =  who you are + project truth + recent work,  in ~10 ms

Property

Detail

Verbatim

Your decisions aren't silently rewritten by an LLM

Hybrid search

Semantic and keyword (0x5C, function names) and fact modes

Profiles

Stable project facts, with supersession when the truth changes

Dream

Keeps hot vectors in f32, compresses cold history to 4-bit (~6× smaller) — infinite past, bounded cost

Local

MiniLM on-device + SQLite. Zero network at query time

memxt search "cart limit" --mode hybrid
memxt search "SQLite" --mode facts --wing my-project
memxt dream --budget 50000        # compress old memories, keep them searchable
memxt serve --port 8765           # inspect / search / dream in the browser

How it stacks up

We don't chase cloud LoCoMo / LongMemEval leaderboards. We win the thing you actually feel: your agent stops forgetting, and your code stays on your machine.

memxt

claude-mem

Mem0 / Supermemory

Runs as

~7 MB local binary

Node + Bun worker

Cloud API (+ self-host)

Code leaves machine

Never

Local DB — but compresses via cloud LLM

Yes, by default

Memory LLM bill

$0

Claude / Gemini / OpenRouter

Metered

Works with

Claude · Codex · Cursor · Grok

Claude-first

Platform

Remembers by

Verbatim + facts + profiles

AI-summarized observations

Extracted entities

Wake-up

~10 ms, no model

Worker inject

Network

The closest peer is claude-mem — genuinely great at automatic Claude capture. If you've hit its cloud-compression costs, or you also live in Grok and Codex, memxt is the same continuity with zero memory tax and one palace across all of it.

Full teardown (feature kill-sheet, stack matrix, 8 sharp tools vs 53) → research/COMPETITOR_KILL_SHEET.md.

cloud memory API   ──►  your code + chat leave the building
memxt              ──►  a SQLite palace on disk · 0 API keys · 0 query network

CLI

memxt adopt [--write] [--no-mine]    Wire up agents + optionally mine the repo
memxt mine <path> [wing]             Incremental codebase ingest
memxt search <q> --mode hybrid | memories | documents | facts | episodes
memxt wake-up | inspect | dream | serve
memxt forget | export | import | mcp | hook | instructions
MEMXT_DB=~/.memxt/palace.db
MEMXT_MODEL=~/.memxt/lib/minilm.gguf
MEMXT_WING=my-project    # optional; defaults to the git-root name

Build from source

Most people never need this. Requires Zig 0.16 + cmake:

git clone --recursive https://github.com/Yupcha/memxt && cd memxt
zig build --release=fast   # builds llama.cpp (Metal on macOS) + fetches the MiniLM GGUF

Details live in install.sh and the comments in build.zig.


Roadmap · License · Star

↑ drag it in 3D

If memxt saves you one re-explain session, star it and tell another Claude Code user.

That's how local tools win. ⚡

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
8Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yupcha/memxt'

If you have feedback or need assistance with the MCP directory API, please join our Discord server