Skip to main content
Glama

Mach Claude schlauer, was dich angeht.

Ein Local-first-Second-Brain, das über MCP mit Claude verbunden wird. Notizen werden als einfaches Markdown gespeichert und mit einem lokalen ML-Modell indexiert, vollständig offline, keine API-Schlüssel, nichts verlässt deinen Rechner.


Das Problem

Claude ist nur so schlau wie das, was im Gespräch ist. Deine Entscheidungen, dein Kontext, dein Denken – unsichtbar, außer du fügst sie jedes Mal ein.

You:    What did we decide about the auth approach last sprint?
Claude: I don't have context from previous conversations...

Related MCP server: Memsolus MCP Server

Die Lösung

You:    What did we decide about the auth approach last sprint?

Claude: [memex · search_notes · "auth approach decision"]

        Found 2 notes:

        Auth Architecture Decision  Apr 14  #auth #backend
        ─────────────────────────────────────────────────────
        Chose JWT + refresh tokens over sessions. Rationale:
        stateless design fits horizontal scaling plan.

        Based on your April 14th note: you went with JWT +
        refresh tokens. Tom also flagged keeping auth decoupled
        from payment logic, separate bounded contexts.

Claude durchsucht deine Notizen, bevor es antwortet, und speichert Erkenntnisse am Ende jedes Gesprächs – automatisch, ohne dass du darum bittest.


Installation

npm install -g @evan-moon/memex

Verbindung zu Claude Code herstellen:

memex mcp install

Das registriert memex sowohl bei Claude Code als auch bei Codex. Starte die Clients nach der Installation neu. Um einen der beiden Clients manuell zu registrieren:

claude mcp add memex -- node "$(memex mcp path)"
codex mcp add memex -- node "$(memex mcp path)"

Das war's. Beim ersten Start wird das Embedding-Modell (~450 MB) einmalig nach ~/.memex/models/ heruntergeladen.

Auto-Recall (optional)

memex recall install

Verwandelt das Abrufen von etwas, das Claude entscheiden muss, in etwas, das einfach passiert. Jede Eingabe, die du tippst, wird semantisch gegen deine Notizen durchsucht, und die Top-3-Titel werden als Kontext eingefügt, bevor Claude antwortet – so wie nativer Speicher funktioniert. Claude ruft dann vollständige Notizen mit get_note ab, wenn ein Titel relevant aussieht.

Ein Hintergrund-Daemon hält das Embedding-Modell warm (~/.memex/recall.sock), sodass eine Suche ~30 ms kostet statt der ~1,5 s, die eine kalte CLI-Suche mit dem Laden des Modells verbringt. Nach 2 Stunden beendet er sich.

Kosten: ~200 MB Arbeitsspeicher im warmen Zustand, plus bis zu 3 Notiztitel Kontext pro Prompt. Entfernen mit memex recall uninstall.


Funktionen

  • Semantische Suche, findet Notizen anhand der Bedeutung, nicht nur nach Stichwörtern. Mehrsprachig (Koreanisch + Englisch), läuft vollständig offline über multilingual-e5-base

  • Hybrid-Retrieval, Vektorsuche + BM25-Volltext + Tag-Abgleich, fusioniert über Reciprocal Rank Fusion

  • Chunk-Level-Embeddings, lange Notizen werden in Passagen von ~340 Token zerlegt und einzeln eingebettet, sodass eine auf Seite drei vergrabene Antwort genauso auffindbar ist wie eine im einleitenden Absatz. Die Suche liefert die passende Passage zurück, nicht die ersten Zeilen der Notiz

  • Cross-Encoder-Reranking (opt-in, MEMEX_RERANK=1), ruft doppelt so viele Kandidaten ab und sortiert sie mit bge-reranker-v2-m3 neu. Bringt ~+20 Prozentpunkte hit@1 auf dem Golden Set, bei ~1,8 s pro Suche – standardmäßig deaktiviert, weil Auto-Recall und die CLI auf sofortige Suchvorgänge ausgelegt sind

  • Datumsfilter, Suche mit --from / --to auf einen Zeitraum eingrenzen

  • Notiz-Ebenen, jede Notiz ist past (unveränderliche Aufzeichnung), state (veränderbarer Plan) oder rule (Verhaltensleitfaden für Claude). past-Notizen lehnen Aktualisierungen ab; rule-Notizen werden automatisch in den Systemprompt von Claude eingefügt

  • Flashback, beim Speichern und Suchen werden automatisch ältere Notizen aus einem anderen Ordner angezeigt, die semantisch verwandt sind: „du hast vor 124 Tagen in einem anderen Kontext darüber geschrieben“

  • Inferenz-Engine, deterministische Signale decken nicht synthetisierte Muster auf (jahresübergreifende Bögen, veraltete Zustandsnotizen, Tag-Wiederbelebungen); du beförderst gute zu Inferenzen (Hypothesen mit Herkunft), die automatisch ungültig werden, wenn sich ihre Quellnotizen ändern. Kein LLM im Kern

  • MCP-Server, Claude sucht und speichert automatisch. Keine zusätzliche CLAUDE.md-Einrichtung nötig

  • Auto-Recall, optionaler Hook, der bei jedem Prompt deine Notizen durchsucht und die Treffer einfügt, bevor Claude antwortet, sodass das Abrufen nie davon abhängt, dass Claude daran denkt, nachzusehen

  • Duplikaterkennung, save_note warnt, wenn eine semantisch ähnliche Notiz bereits existiert, und stößt Claude an, zu aktualisieren statt zu erstellen

  • Backlinks, verlinke Notizen mit [[Title]]-Syntax; get_note zeigt, welche Notizen darauf verweisen

  • Serien-Einklappung, ein datiertes Arbeitsprotokoll („… 2026-07-20“, „… 2026-07-23“) belegt höchstens zwei Plätze auf einer Ergebnisseite, und die Suche berichtet, wie viele weitere zurückgehalten wurden

  • Amendments, eine Korrektur hält fest, was sie korrigiert (amends), sodass die Suche die ersetzte Notiz markiert und auf die neueste Korrektur verweist, statt eine Behauptung zurückzuliefern, von der du bereits weißt, dass sie falsch ist

  • Digest, memex digest fasst Notizen zusammen, die in den letzten N Tagen gespeichert wurden, gruppiert nach Ordner

  • CLI, Notizen vom Terminal aus hinzufügen, durchsuchen, taggen, browsen und indexieren

  • Obsidian-kompatibel, Notizen werden als .md-Dateien gespeichert; funktioniert neben bestehenden Vaults

  • Lokale DB, SQLite + sqlite-vec unter ~/.memex/memex.db


CLI

# Add notes
memex add                                    # interactive prompt (asks for layer)
memex add --title "Note title" --content "..." --layer past
memex add --title "Note title" --file ./note.md --layer state
memex add --title "Note title" --content "..." --folder work/people/tom --layer past
memex add --title "Note title" --content "..." -T typescript -T architecture --layer past

# Layers
memex layer                               # distribution of past / state / rule
memex layer <id> state                     # move a note to a different layer

# Search
memex search "semantic search query"         # multilingual
memex search "knowledge management" --limit 10    # multilingual: matches Korean/Japanese notes too
memex search "query" --tag typescript        # filter by tag
memex search "query" --from 2026-04-01       # notes since a date
memex search "query" --from 2026-04-01 --to 2026-04-30

# Browse
memex list                                   # recent 10 notes
memex list --limit 20
memex show <id>
memex tags                                   # all tags with counts
memex related <id>                           # semantically related notes
memex digest                                 # last 7 days + signals + inferences
memex digest --days 30                       # summary of last 30 days

# Insights (inference engine)
memex signals                                # detect un-synthesized patterns
memex signals --type hidden_arc              # one type only
memex signals dismiss <id>                   # triage (also: snooze)
memex signals mint <signalId>                        # print evidence bundle to synthesize
memex signals mint <signalId> --title "..." --summary "..." --confidence 0.7
memex inferences                             # list inferences (auto-flags stale)
memex schedule                               # print cron/launchd snippet (no daemon)

# Edit / delete
memex edit <id>
memex delete <id>
memex delete --yes <id>                      # skip confirmation

# Index external directories
memex source add ~/Documents/My\ Notes       # register a vault
memex source list
memex source remove ~/Documents/My\ Notes
memex index                                  # scan vault + all sources
memex index --force                          # re-index everything
memex reembed                                # re-embed with current model

# Config
memex config show
memex config set vault-path ~/Documents/Second\ Brain

# MCP
memex mcp install                            # register with Claude Code and Codex

# Auto-recall
memex recall install                         # search notes on every prompt, inject hits
memex recall uninstall                       # remove the hook
memex mcp path                               # print MCP binary path

MCP-Server

Claude Code und Codex

memex mcp install

Oder manuell für Claude Code:

claude mcp add memex -- node "$(memex mcp path)"

Für Codex:

codex mcp add memex -- node "$(memex mcp path)"

Claude Desktop

Füge zu ~/Library/Application Support/Claude/claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "memex": {
      "command": "node",
      "args": ["<path from `memex mcp path`>"]
    }
  }
}

Verfügbare Tools

Tool

Description

save_note

Speichert eine Notiz, erfordert layer, warnt, wenn eine ähnliche Notiz bereits existiert, zeigt Flashbacks an

search_notes

Semantische Suche; unterstützt Filter category, tag, date_from, date_to; hängt für das Top-Ergebnis Flashbacks an

list_notes

Listet aktuelle Notizen auf

list_tags

Listet alle Tags mit Notizanzahl auf

list_folders

Listet alle Ordner mit Notizanzahl auf

get_note

Ruft vollständigen Inhalt und Backlinks einer Notiz anhand der ID ab

update_note

Aktualisiert Titel oder Inhalt. Lehnt past-Notizen (mit [Amendment]-Vorschlag) und rule-Notizen (nur Benutzer) ab

delete_note

Löscht eine Notiz anhand der ID

get_signals

Deterministische, nicht synthetisierte Muster (hidden_arc / stale_state / dangling_link / tag_burst)

update_signal_status

Ein Signal triagieren, verwerfen oder schlummern

list_inferences

Synthetisierte Hypothesen auflisten (prüft zuerst auf Veraltung)

get_inference

Eine Inferenz mit vollständiger Herkunft + Änderungs-/Löschmarkierungen

mint_inference

Eine genehmigte Hypothese persistieren, erfordert explizite Bestätigung

Inferenzen werden getrennt von Notizen gehalten (von der Suche ausgeschlossen) und als Hypothesen zitiert, nie als Fakten. Die Erkennung bleibt deterministisch; der einzige LLM-Schritt ist das Synthetisieren einer Zusammenfassung einer Inferenz, was Claude tut, niemals memex.

Notiz-Ebenen

Jede Notiz wird anhand ihrer Veränderbarkeit in eine von drei Ebenen eingeteilt:

Ebene

Bedeutung

Berechtigung von Claude

past

Aufzeichnung dessen, was passiert ist, Retros, Meetings, Entscheidungslogik, Debugging-Sitzungen

Nur Anhängen. update_note lehnt ab und schlägt stattdessen eine [Amendment]-Notiz vor

state

Aktueller Stand oder Pläne, Projektfortschritt, Roadmaps, die aktuelle Rolle einer Person

Frei aktualisierbar

rule

Verhaltensleitfaden für Claude, Codestil, Suchrichtlinie

Claude ist schreibgeschützt. Nur der Benutzer schreibt

Die CLI zeigt in list, search und show neben jeder Notiz ein farbcodiertes Abzeichen [past] / [state] / [rule] an.

  • save_note (MCP) und memex add (CLI) erfordern eine explizite layer. Die Klassifizierungsregeln sind in der Tool-Beschreibung dokumentiert, damit Claude richtig wählt.

  • Beim ersten Start erhalten vorhandene Notizen eine ordnerbasierte Auffüllung: projects/dev/heraldstate, codingrule, alles andere → past. Die Migration ist idempotent.

  • rule-Notizen werden auch automatisch in die Anweisungen des MCP-Servers eingefügt, siehe Rule layer auto-inject unten.

Flashback

Wenn du eine Notiz speicherst oder suchst, zeigt memex automatisch ältere Notizen aus einem anderen Ordner an, die semantisch ähnlich sind: „du hast vor 124 Tagen in einem anderen Kontext darüber geschrieben.“ Sie werden als systemgenerierte Backlinks gespeichert (note_links.source = 'flashback'), getrennt von deinen [[wikilinks]] (source = 'wiki').

Abstimmung per Env:

Env

Standard

Verhalten

MEMEX_FLASHBACK_DAYS

90

Mindestaltersabstand in Tagen

MEMEX_FLASHBACK_DIST

0.4

maximale Vektordistanz (niedriger = strengerer Treffer)

MEMEX_FLASHBACK_LIMIT

3

max. Vorschläge pro Einblendung

Rule layer auto-inject

Notizen mit layer = 'rule' werden beim Start an die Anweisungen des MCP-Servers angehängt, und zwar unter einem Abschnitt ## House Rules. Claude sieht sie zu Beginn jedes Gesprächs, ohne dass ein search_notes-Aufruf nötig ist. Das ist der richtige Ort für Codestil-Leitfäden oder andere Verhaltensrichtlinien.

Env

Standard

Verhalten

MEMEX_INJECT_RULES

aktiviert

Auf 0 setzen, um die Einfügung vollständig zu deaktivieren

MEMEX_RULES_MAX_CHARS

8000

Byte-Budget für den eingefügten Abschnitt; Überlauf wird mit einem console.warn abgeschnitten

Änderungen an Rule-Notizen werden beim nächsten Neustart von Claude Desktop / Claude Code übernommen.


Konfiguration

Die Konfiguration liegt unter ~/.memex/config.json.

Schlüssel

Standard

Beschreibung

vault_path

~/Documents/Second Brain

Verzeichnis, in dem .md-Dateien gespeichert werden

sources

[]

Zusätzliche Verzeichnisse zum Indexieren (z. B. bestehende Obsidian-Vaults)

aliases

{}

Such-Alias-Zuordnung, z. B. { "js": ["javascript", "ecmascript"] }, Werte können in einer beliebigen Sprache sein, um zwischen Schriftsystemen zu überbrücken

memex config set vault-path ~/my-vault

Architektur

~/.memex/
  config.json, vault path, sources, and aliases
  memex.db, SQLite DB (notes + note/chunk vec embeddings + FTS5 index)
  models/, cached embedding model

<vault>/
  *.md, notes (Obsidian-compatible)

Paket

Rolle

@memex/db

SQLite-Schema, drizzle-Abfragen, sqlite-vec + FTS5-Integration

@memex/embed

Lokaler Embedder über @huggingface/transformers

@memex/rerank

Lokaler Cross-Encoder-Reranker (optional)

@memex/core

Von CLI und MCP gemeinsam genutzter Notizdienst: Speichern, Bearbeiten, Suchen, Vektor-Indexierung

@memex/utils

Konfiguration, Pfad-Helfer, gemeinsame Dienstprogramme

@memex/mcp

MCP-Server (in die CLI-Distribution gebündelt)


Das Ökosystem

memex ist eines von drei Local-First-Tools, die ein Prinzip teilen: Deine Daten bleiben auf deiner Maschine, und die KI kommt zu ihr. Sie interoperieren über jeden beliebigen MCP-Client, und keines hängt von den anderen ab.

flowchart TB
    U([You])
    subgraph I["Interfaces, talk to your tools"]
        direction LR
        CD[Claude Desktop]
        CC[Claude Code]
        H["Herald · voice"]
    end
    subgraph T["Local-first tools, each owns its data, on your machine"]
        direction LR
        F["firma · money<br/>~/.firma"]
        M["memex · memory<br/>~/.memex"]
        S["skope · news<br/>~/.skope"]
    end
    U --> I
    I -- MCP --> F & M & S
    F <-. never call each other .-> M
    M <-.-> S
  • firma · Geld, Portfolio, Nettovermögen, Cashflow

  • memex · Gedächtnis, Notizen und den Kontext dahinter, über Sitzungen hinweg

  • skope · Nachrichten, ein personalisierter Blick auf die Welt

Du erreichst sie über Claude Desktop, Claude Code, Cursor oder Herald, eine Sprachschnittstelle. Die Tools wirken über das Modell zusammen, niemals durch gegenseitige Aufrufe.


llms.txt

llms.txt ist eine maschinenlesbare Zusammenfassung dieses Projekts für KI-Agenten, eine kompakte Beschreibung mit Dokumentationslinks, die dem llms.txt-Standard folgt.


Lizenz

MIT

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

Maintenance

Maintainers
Response time
2wRelease cycle
9Releases (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.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides AI agents with persistent, searchable memory that survives across conversations using semantic search, temporal versioning, and smart organization. Enables long-term context retention and cross-session continuity for AI assistants.
    14
  • A
    license
    A
    quality
    D
    maintenance
    Provides persistent long-term memory for AI agents through semantic search and automated knowledge graph extraction. It enables agents to store, recall, and reason over facts, preferences, and relationships across multiple conversations and sessions.
    14
    8
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A production-grade persistent memory service for AI agents. Agents forget everything between sessions by default — memex fixes that. It stores, retrieves, and ranks conversation memory using semantic search with recency decay, so agents surface what's relevant and recent, not just what's semantically closest.
    4
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Persistent memory for AI agents — verbatim conversations, searchable by meaning.

  • Universal memory for AI agents and tools. Save, organize and search context anywhere.

  • Persistent memory for AI agents. Search, store, and recall across sessions.

View all MCP Connectors

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/evan-moon/memex'

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