Memex

io.github.pragneshbagaryPublished by GitHub account pragneshbagaryv0.1.9Updated Oct 24, 2026

Persistent session memory for Claude Code. Local SQLite, no LLMs, no network.

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Memex gives Claude Code a persistent per-project session memory, storing structured logs of tasks, files, decisions and warnings in a local SQLite database.

What you can do
Load recent and relevant memory entries at session start, matched by keyword and file path, and save structured entries after meaningful work with task, files, decisions, warnings and tags. Update specific fields of an existing entry, search all entries by full text, and list entries filtered by tag. Delete stale entries by id. Outside the assistant, a command-line tool shows status, lists and searches history, and exports entries to markdown notes with wikilinks and tags.
When to use it
Useful for people working on the same project across many Claude Code sessions who are tired of re-explaining what was built, decided or broken last time. It complements static project documentation by recording what changes session to session.
Requirements
Runs locally as a stdio process; needs Python 3.10+, the mcp package (installed automatically) and SQLite with FTS5. The README lists the Claude Code CLI as a requirement. Optional environment variables MEMEX_DIR, MEMEX_GLOBAL, MEMEX_RECENT and MEMEX_MATCHED override defaults. No network or account needed.
Before you install
The assistant can write, update and delete memory entries, and the install command writes instructions into the project's .claude/CLAUDE.local.md file. Saved entries may include file paths, decisions and warnings, and are kept in a local SQLite database under the home directory until deleted manually.

Installation

In SourceWeft

  1. Open Memex in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

memex

Every Claude Code session starts without knowing what you built last time - which files you changed, what decisions you made, what broke. You re-explain. Claude re-reads. You start over.

memex keeps a structured log of every session. Claude reads it at the start of the next one.

No cloud. No LLM extraction. No cost per save. Just local SQLite and one command to install.

Install

bash
# with uvuvx mcp-memex install
# with pippip install mcp-memexmemex install

Restart Claude Code. That's it.

What gets saved

Each entry has structure - not a blob of text:

python
mem_save(    task="Replaced JWT auth with session cookies",    files=["src/auth.py", "src/middleware.py"],    decisions=["Session cookies over JWT - simpler, no token refresh needed"],    warnings=["Redis required - app won't start without REDIS_URL set"],    tags=["auth", "sessions"])

Claude calls mem_save when it finishes something meaningful. You can also just tell it: "save what we just did."

What Claude sees at session start

=== memex: session context (db: my_project.db) ===
--- Recent (2) ---[1] #4 - 2026-06-14T10:32  Task      : Replaced JWT auth with session cookies  Files     : src/auth.py, src/middleware.py  Decision  : Session cookies over JWT - simpler, no token refresh needed  Warning   : Redis required - app won't start without REDIS_URL set  Tags      : auth, sessions
[2] #3 - 2026-06-13T15:10  Task      : Added rate limiting to /api/login  Files     : src/middleware.py  Warning   : Rate limiter is in-memory per process - resets on restart  Tags      : auth, rate-limiting

Claude calls mem_load automatically at the start of every session. It returns the most recent entries plus any entries that match what you're working on - by keyword and by file path.

Browse from the terminal

You don't need to be inside Claude to look at your history:

bash
memex status                     # entry count, DB size, top tagsmemex list                       # recent entries for this projectmemex list --tag auth            # filter by tagmemex list --since 7d            # entries from the last 7 daysmemex list --since 2026-06-01 --until 2026-06-15  # date rangememex search "rate limit"        # full-text searchmemex version                    # print installed version

Export to markdown

Turn your history into portable, human-browsable notes - one .md file per entry, with [[wikilinks]] connecting related entries and files, plus tags as #hashtags. Works in Obsidian or any tool that understands [[links]]:

bash
memex export ./my-project-notes/

Entries that share a tag or a touched file are cross-linked under a Related section, so you can navigate your project history as a graph.

Six MCP tools

ToolWhat it does
mem_loadCalled at session start - returns recent + relevant entries
mem_saveSaves a structured entry after meaningful work
mem_updatePatches specific fields of an existing entry (keeps id and timestamp)
mem_searchFull-text search across all entries
mem_listLists entries, optionally filtered by tag
mem_deleteRemoves a stale entry by id

Why not just CLAUDE.md?

CLAUDE.md is for static project documentation - architecture, conventions, how to run tests. It doesn't change much and it isn't session-aware.

memex captures what's changing session to session: what you built yesterday, the decision you made this morning, the warning you discovered an hour ago. It's the difference between "here's the project" and "here's what happened last time."

memex install writes Claude's instructions into .claude/CLAUDE.local.md - a file Claude Code loads automatically without touching your project's own CLAUDE.md.

Memory is scoped per project

Each project gets its own SQLite database at ~/.memex/<project>.db based on the working directory. Sessions from different projects never mix.

Configuration

Set these in the MCP env block in ~/.claude.json if you need to override defaults:

VariableDefaultDescription
MEMEX_DIR~/.memexWhere DBs are stored
MEMEX_GLOBAL0Set to 1 to share one DB across all projects
MEMEX_RECENT5Max recent entries loaded per session
MEMEX_MATCHED5Max FTS-matched entries loaded per session

Uninstall

bash
memex removepip uninstall mcp-memex

Memory DBs are kept at ~/.memex/ - delete that directory manually if you want to wipe everything.

Requirements

  • Python 3.10+
  • mcp package (installed automatically)
  • SQLite with FTS5 (standard since Python 3.8)
  • Claude Code CLI

License

MIT

Source: README.md at commit 281809d

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.9LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts