claude-memory-fts
Long-term memory mcp server with sqlite fts5 full-text search, bm25 ranking, and access tracking. zero config via npx.com
claude-memory-fts
Long-term memory MCP server for Claude Code. Stores facts in a local SQLite database with FTS5 full-text search and BM25 ranking.
Features
- Persistent memory — facts survive across sessions via SQLite
- Full-text search — FTS5 with BM25 ranking for relevant results
- LIKE fallback — partial matches when FTS5 finds nothing
- Access tracking — tracks how often each memory is accessed
- Upsert — automatically updates existing facts instead of duplicating
- Categorized — organize memories by type (preference, decision, technical, project, workflow, personal, general)
- Zero config — works out of the box, stores data in
~/.claude/memory.db
Install
# Add to Claude Code
claude mcp add memory -- npx claude-memory-fts
# Or run directly
npx claude-memory-fts
Configuration
| Environment Variable | Default | Description |
|---|---|---|
MEMORY_DB_PATH | ~/.claude/memory.db | Path to the SQLite database file |
Example with custom path:
claude mcp add memory -e MEMORY_DB_PATH=/path/to/my/memory.db -- npx claude-memory-fts
Tools
memory_save
Save a fact to long-term memory.
| Parameter | Type | Required | Description |
|---|---|---|---|
fact | string | yes | The information to remember |
category | string | no | One of: preference, decision, personal, technical, project, workflow, general |
memory_search
Search memories by keyword using FTS5 full-text search with BM25 ranking.
| Parameter | Type | Required | Description |
|---|---|---|---|
keyword | string | yes | Search keyword or phrase |
limit | number | no | Max results (default: 10) |
memory_list
List all saved memories grouped by category.
| Parameter | Type | Required | Description |
|---|---|---|---|
category | string | no | Filter by category |
limit | number | no | Max results (default: 50) |
memory_delete
Delete a memory by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | yes | Memory ID |
How It Works
- Memories are stored in a SQLite database with WAL mode for fast writes
- FTS5 virtual table mirrors the main table via triggers for real-time full-text indexing
- Search uses BM25 ranking for relevance, with a LIKE fallback for partial matches
- Each search/list call tracks access count and last accessed timestamp
- Duplicate facts are upserted (category and timestamp updated, no new row created)
Development
git clone https://github.com/kurovu146/claude-memory-mcp.git
cd claude-memory-mcp
npm install
npm run build
node dist/index.js
License
MIT
Related Servers
FDA Data MCP
FDA-only compliance data MCP (recalls, warning letters, inspections, 483s, approvals, CFR parts).
SolanaBot
Interact with the Solana blockchain to check balances, send SOL, and airdrop SOL.
CData Sync
A Model Context Protocol server for CData Sync, enabling data replication and transformation.
DBeaver MCP Server
Integrates with DBeaver to provide AI assistants access to over 200 database types using existing connections.
Metabase MCP Server
Interact with Metabase, the open-source business intelligence platform, using Large Language Models.
CData eBay MCP Server
A read-only MCP server for querying live eBay data. Requires a separately licensed CData JDBC Driver for eBay.
MariaDB
An MCP server for retrieving data from a MariaDB database.
TiDB
An MCP server for TiDB, a serverless, distributed SQL database.
MySQL Database Access
Provides read-only access to MySQL databases.
CelestialMCP
Provides astronomical data such as celestial object positions, rise/set times, and visibility information.