agent-memory-sqlite MCP server
Commit Oct 30, 2026Provides persistent, searchable memory for coding agents using SQLite FTS5 to store and recall decisions and conventions across sessions.
Also known as Urthella/agent-memory-sqlite
- Stars
- 1
- Tools
- 4
- Downloads, 30 days
- —
- Latest version
- —
- Last commit
- Oct 30, 2026
- License
- MIT
What is agent-memory-sqlite MCP?
agent-memory-sqlite provides persistent, searchable memory for coding agents using SQLite FTS5 to store and recall decisions and conventions across sessions. It exposes 4 tools, such as remember, recall, recent.
Summary generated from the project's README
About agent-memory-sqlite MCP server
Coding agents that retain project-specific decisions and conventions across different sessions can use this tool to avoid repeating the same discovery process. It functions as a persistent memory layer by storing facts, decisions, and conventions in a single SQLite file. Developers can integrate it with MCP clients like Claude Code, Cursor, Claude Desktop, or Windsurf using npx.
The server uses Node's built-in sqlite module with FTS5 to provide ranked recall through BM25 relevance and recency boosting. It manages data through specific tools including remember for saving facts, recall for keyword searching, recent for viewing latest entries, and forget for deleting items by ID. Users can scope memories to specific projects or use a wildcard to search across all stored data.
Because it relies on a single SQLite file in WAL mode, it allows multiple agent sessions to share memory safely. The system handles deduplication using SHA-256 hashes and includes a tokenizer that folds diacritics to ensure searches remain effective even with accents. It requires Node 24 or higher to run.
What you can do with it
- 1Store deployment preferencesTell your agent to remember specific infrastructure choices like Vercel for future sessions.
- 2Retrieve project conventionsAsk the agent to recall previously saved coding standards or architectural decisions.
- 3Search across multiple projectsPerform a global search for a specific keyword across all managed project memories.
Written from the project's README. Every use case is checked against a quote from it.
agent-memory-sqlite MCP tools 4
Detected from the READMErememberrecallrecentforget
| remember | — | |
| recall | — | |
| recent | — | |
| forget | — |
Automated checks
Ran Nov 14, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachableurthella/agent-memory-sqlite is public and reachablegithub.com/urthella/agent-memory-sqlite ↗Pass
- Package names this repository as its sourceNot checked
- Build provenance (Sigstore attestation)Not checked
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-10-30github.com/urthella/agent-memory-sqlite ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNot checked
- No critical advisory in the package or its dependenciesNot checked
- No hidden instructions to the model4 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNo tool named like delete, drop or execPass
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubagent-memory-sqlite
Persistent, searchable memory for coding agents, exposed as an MCP server. Your agent saves the decisions and conventions it learns, and recalls them in the next session instead of rediscovering them.
- One SQLite file, shared safely by every agent session (WAL mode)
- Zero native dependencies: Node's built-in
node:sqlitewith FTS5, nothing to compile on Windows, macOS or Linux - Ranked recall: BM25 relevance, boosted by recency, scoped per project
- Works with any MCP client: Claude Code, Cursor, Claude Desktop, Windsurf
Quick start
Requires Node 24+.
Claude Code
claude mcp add memory -- npx -y github:Urthella/agent-memory-sqlite
Cursor / Claude Desktop (mcp.json / claude_desktop_config.json)
{
"mcpServers": {
"memory": { "command": "npx", "args": ["-y", "github:Urthella/agent-memory-sqlite"] }
}
}
Then just work: tell the agent "remember that we deploy on Vercel", and ask "what do we know about deploys?" in a later session.
Tools
| Tool | What it does |
|---|---|
remember |
Save a fact, decision or convention, with optional tags. Saving the same text again refreshes it instead of duplicating. |
recall |
Keyword search, best match first. Prefix matching, so lock finds locks. |
recent |
The latest saved or refreshed memories. |
forget |
Delete a memory by its #id. |
Every tool takes an optional project. It defaults to the name of the directory the agent runs in; "*" searches all projects.
How it works
flowchart LR
A[Coding agent] -- MCP over stdio --> S[server.ts]
S --> M[(memories table)]
M -- insert/update/delete triggers --> F[(FTS5 index)]
S -- MATCH + bm25 --> F
- Storage: a plain
memoriestable plus an external-content FTS5 index kept in sync by triggers, so text is stored once and every write path updates search. - Dedup: a SHA-256 of the text is unique per project; saving it again only bumps
updated_at. - Safe queries: free text is reduced to quoted prefix terms (
"redis"* OR "lua"*), so punctuation and FTS operators in a question can't break the query. - Ranking: the top BM25 hits are reranked by
relevance × (1 + recency), where recency halves every 30 days. - Accents: the tokenizer folds diacritics, so
agacfindsağaç.
Configuration
| Variable | Default |
|---|---|
AGENT_MEMORY_DB |
~/.agent-memory/memory.db |
AGENT_MEMORY_PROJECT |
name of the current directory |
Develop
npm ci # also builds dist/
npm test # node --test, runs the .ts sources directly
nix develop (or direnv) gives you the same Node 24 toolchain. CI runs on Linux, macOS and Windows.
License
agent-memory-sqlite MCP questions
What tools does agent-memory-sqlite MCP provide?
It exposes 4 tools, including remember, recall, recent, forget.