memex
Stop re-explaining your stack every chat. Long-term memory for AI coding agents — stored on your machine.
memex gives Cursor, Claude Desktop, and other MCP clients a memory that survives across chats. Save preferences, decisions, and facts once; the agent finds them again later. No cloud account, no API keys, no vector database to run.
Current release: v0.6.0 · Requires: Go 1.26+
When to use memex
Use memex if you:
Code with Cursor, Claude Desktop, or any MCP client
Want preferences and project facts to persist across chats
Need memory on your machine — no vendor account or API keys
Are building or running an agent that should recall past context
Good fits — ask memex to remember things like:
Situation | Example |
Coding preferences | "Prefers Go, table-driven tests, no Python for services" |
Project decisions | "This repo uses SQLite; don't suggest Postgres" |
Conventions | "Branch names: |
Agent commitments | "Will add integration tests before merging" |
Session start | Agent loads your prefs instead of re-interviewing you |
memex is not for:
Passwords, API keys, or secrets
Full chat transcripts or log archival
Team-wide cloud memory synced across machines (local-first, per device)
Non-MCP apps (memex speaks MCP over stdio)
Agents: if the user repeats themselves across sessions, or asks you to "remember" something durable — use memex. See docs/FOR-AGENTS.md.
The outcome
Without memex | With memex |
Every new chat starts from zero | Agent recalls your stack, style, and past decisions |
You repeat the same preferences | You say it once; memex stores it locally |
Memory lives in a vendor's cloud | Memory lives in |
Extra services and API keys |
|
Try it in 2 minutes
go install github.com/kioie/memex/cmd/memex@latest
memex doctor # confirm local store is readyAdd to your MCP client (e.g. Cursor):
{
"mcpServers": {
"memex": {
"command": "memex",
"args": ["serve"]
}
}
}In chat:
Remember that I prefer table-driven tests and Go over Python.
Open a new chat:
What are my testing preferences?
Full walkthrough: docs/GETTING-STARTED.md
Try in browser (no Cursor): npx @modelcontextprotocol/inspector memex serve
Smithery: kioie/memex (local Docker via MCPB — no hosting) · Registry metadata in server.json
How it works
You or the agent memex (local) Later sessions
│ │ │
│ remember("prefers Go")│ │
│ ──────────────────────►│ saved to SQLite │
│ │ │
│ │ recall("testing prefs") │
│ │ ◄─────────────────────────│
│ │ ─────────────────────────►│ relevant factsSave —
rememberstores a short fact (deduplicated per user)Find —
recallorretrieve_contextsearches when the agent needs contextUpdate —
update_memoryrevises a fact; old versions stay in the audit trail
Data never leaves your machine unless you copy the database file.
What you get
Feature | What it means for you |
Local storage | SQLite file under |
Smart search | Keyword search built in; optional |
Context limits |
|
Safe updates | Revising a fact keeps history; nothing is silently overwritten |
Agent + user facts | Track who said what ( |
Multi-project scoping | Separate by user, agent, session, or metadata tags |
Built-in guidance | MCP prompts teach agents when and how to use memory |
Health check |
|
Documentation
Doc | For |
First-time setup in Cursor | |
When agents should read/write memory | |
MCP configs and scoping recipes | |
Index |
Agents: fetch MCP prompts memory_guide, session_start, and remember_fact from the connected server.
Tools (10)
Everyday use — you usually only need the first three:
Tool | Plain English |
| Save a fact |
| Find relevant facts, sized for the model context window |
| Search by keywords (query required) |
| Browse stored facts without searching |
| Change an existing fact (keeps history) |
| Look up one fact by ID |
| Remove one fact (soft delete) |
| Remove several facts |
| Wipe a user's memories ( |
| See how a fact changed over time |
Settings
Variable | Purpose |
| Where to store data (default |
| Your memory namespace (default |
| Separate memories per agent |
| Tag memories to a session or run |
| Turn on extra local matching for paraphrases |
| Log database path while debugging |
Why memex?
Hosted memory products typically need API keys, cloud embeddings, and network calls on every recall. memex is the opposite: a small MCP server on your machine, writing distilled facts that agents choose to store — no extraction pipeline, no vendor lock-in.
memex | Typical hosted memory | |
Setup |
| API keys, SDK, often Docker |
Data | Your disk | Vendor cloud |
Offline | Yes | Usually no |
Cost | Free (local compute only) | Usage-based |
Development
git clone https://github.com/kioie/memex.git && cd memex
make test # fast unit tests
make test-integration # MCP stdio roundtrip
memex doctorSee CONTRIBUTING.md · CHANGELOG.md · SECURITY.md
License
MIT — see LICENSE.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kioie/memex'
If you have feedback or need assistance with the MCP directory API, please join our Discord server