Memex
Local-first second brain with semantic search.
Connector by evan-moon · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/evan-moon-memex
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 8 read · 5 write · 1 delete
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 14
Read from the source code; the running server may list different tools.
Read 8 · Look things up without changing anything.
get_inferenceget_noteget_signalslist_folderslist_inferenceslist_noteslist_tagssearch_notes
Write 5 · Create, change, send or run things.
mint_inferencesave_noteset_registerupdate_noteupdate_signal_status
Delete 1 · Delete, drop, revoke or wipe things.
delete_note
Files it touches
- Any path the agent passes to its tools
Tools (14)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
delete_noteDelete a note by ID. Removes both the markdown file and the index entry. Rule-layer notes are user-only and always rejected — suggest `memex delete <id>` instead.
get_inferenceGet one inference with full provenance: its summary, confidence, and every evidence note (with a snapshot of the note at mint time and whether it has since changed or been deleted). IMPORTANT: an inference is a HYPOTHESIS the engine/agent synthesized, NOT a stored fact. When you use one in an answer, cite it as such with its confidence and evidence note ids (e.g. "[Inference #42, conf 0.78, from notes #1,#2] ..."). Never state it as something the user "knows" or "believes".
get_noteGet the full content of a note by ID.
get_signalsList deterministic "signals" — un-synthesized patterns the engine found in the notes (NO LLM involved, these are facts about the corpus structure): - hidden_arc: notes that clearly belong together but were never linked, spread over a long time (an un-synthesized thread) - stale_state: a "state" note that has newer related notes since it was last updated - dangling_link: a [[link]] to a note that doesn't exist (an open question) - tag_burst: a tag that went dormant and then resurfaced Use this when the user asks "what patterns/threads/themes are in my notes", "what should I write about", "what…
list_foldersList all top-level folders (categories) in the second brain with their note counts. Call this before saving a note to pick the right folder.
list_inferencesList inferences (LLM-synthesized hypotheses derived from notes). Staleness is re-checked first, so an inference whose source notes changed shows status "stale". IMPORTANT: an inference is a HYPOTHESIS the engine/agent synthesized, NOT a stored fact. When you use one in an answer, cite it as such with its confidence and evidence note ids (e.g. "[Inference #42, conf 0.78, from notes #1,#2] ..."). Never state it as something the user "knows" or "believes".
list_notesList recent notes from the second brain.
list_tagsList all tags in the second brain with their note counts. Call this before saving a note to pick consistent existing tags rather than inventing new ones.
mint_inferencePersist a synthesized inference (a non-obvious claim that holds across several notes but is stated in none). ONLY call this when the user EXPLICITLY asks to save/record/keep a discovery ("save that", "record this insight"). NEVER auto-mint in the background — unvalidated hypotheses pollute the brain. First present the hypothesis in chat; mint only after the user approves. Provide either fromSignalId (sources are taken from that signal) or evidenceNoteIds, or both.
save_noteDescription is built at runtime.
search_notesSearch the second brain for relevant context. Call this BEFORE answering any question that could relate to past conversations, people, projects, or decisions the user may have stored. Always search first, then answer — even if the connection seems loose. For important or vague questions, pass MULTIPLE phrasings in one call: once in the user's language and once in English, or once with their wording and once with the underlying concept — results are fused server-side. Short keyword queries work better than long sentences. Returns a compact index (id, title, snippet) where the snippet is the pas…
set_registerRecord what is currently true about a subject as one value under one key, instead of writing another note that says it. Use this for a fact that gets replaced rather than accumulated — a price, a deadline, a headcount, a monthly figure, a current status. The value is addressed by (subject, predicate, scope), so you never need to know which note held the previous value: writing a new one supersedes it and the old value stays readable as history. Keep writing notes for anything narrative; this is only for a value that has one current answer.
update_noteExtend or correct an existing note. Use when new information belongs with an existing note rather than standing alone. Search first to find related notes, then update rather than creating a duplicate. Layer rules: - past notes are immutable — this tool will reject with PAST_IMMUTABLE. Create an [Amendment] save_note with a [[backlink]] instead. - rule notes are user-only — this tool will reject with RULE_USER_ONLY. Surface your proposed change in chat for the user to apply. - state notes update freely. Documents (`operation: "edit-document"`) are a different thing from memory notes. They car…
update_signal_statusTriage a signal: dismiss noise so it never resurfaces, or snooze it for later. Use when a signal is clearly not worth synthesizing (e.g. a burst of boilerplate). Confirm with the user before dismissing.
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 42
- Last commit
- Sep 20, 2026 (1 month ago)
- Last release
- Sep 20, 2026 (1 month ago)
- Last package publish
- Sep 20, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.evan-moon/memex- Version
- 0.5.0
- Auth
- No auth
- Packages
- npm @evan-moon/memex
- License
- MIT
- Repository
- github.com/evan-moon/memex
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from evan-moon
Cite this page
Memex MCP server. Agent Mart. https://agentmart.dev/connectors/evan-moon-memex (last updated 2026-10-25)