Memory Fts

io.github.kurovu146Published by GitHub account kurovu146v1.0.1Updated Oct 24, 2026

Long-term memory for Claude Code with SQLite FTS5 search and BM25 ranking

The publisher's own server: Memory.fit

VerifiedSTDIODesktop onlyDatabasesKnowledge & Memory

Overview

AI-generated overview

Local long-term memory server for Claude Code that saves facts in a SQLite database and retrieves them with hybrid keyword and semantic search.

What you can do
  • Save facts to long-term memory with an optional category such as preference, decision, technical or project
  • Search memories with hybrid FTS5 keyword and semantic vector search, merged by rank fusion, with a substring fallback
  • Update a memory's content or category by ID, list memories grouped by category, and delete memories by ID
  • Expose a memory context resource with the top 30 facts ranked by access frequency, recency and category weight
  • Optionally inject the top memories into every prompt through a Claude Code hook
When to use it
Useful when you want Claude Code to remember preferences, decisions and project details across sessions without a cloud service, and to recall them by meaning rather than exact wording.
Requirements
Runs locally as an npm package over stdio, so Node.js and npx are needed. No account or API key. Data is stored in a SQLite file at ~/.claude/memory.db by default, changeable with the MEMORY_DB_PATH environment variable. The optional hook setup writes a script and edits ~/.claude/settings.json.
Before you install
The server writes, updates and deletes records in a local database, and the delete tool removes memories permanently. The optional hook setup modifies your Claude Code settings file and injects stored memories into every prompt, so anything saved may be surfaced in later sessions. Embeddings are computed locally and no data leaves the machine.

Installation

In SourceWeft

  1. Open Memory Fts in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

claude-memory-fts

Long-term memory MCP server for Claude Code. Stores facts in a local SQLite database with hybrid search (FTS5 + semantic vector similarity) and automatic context injection.

Features

  • Hybrid search — FTS5 keyword search + semantic vector similarity, merged via Reciprocal Rank Fusion (RRF)
  • Semantic understanding — find memories by meaning, not just keywords (powered by all-MiniLM-L6-v2 embeddings)
  • Auto context injection — top 30 most important memories injected into every prompt via hook
  • Importance ranking — facts ranked by access frequency, recency decay, and category weight
  • Access tracking — tracks how often each memory is accessed
  • Upsert — automatically updates existing facts instead of duplicating
  • Categorized — organize by type: preference, decision, technical, project, workflow, personal, general
  • MCP Resources — exposes memory://context resource for session context
  • Zero config — works out of the box, stores data in ~/.claude/memory.db

Install

bash
# Add to Claude Codeclaude mcp add memory -- npx claude-memory-fts
# Auto-configure context injection hook (recommended)npx claude-memory-fts --setup-hook

The --setup-hook command automatically:

  1. Creates ~/.claude/scripts/memory-context.sh
  2. Adds a UserPromptSubmit hook to ~/.claude/settings.json
  3. Top 30 memories are injected into every prompt automatically

CLI Commands

CommandDescription
npx claude-memory-ftsStart MCP server (used by Claude Code)
npx claude-memory-fts --contextOutput top 30 facts (used by hook script)
npx claude-memory-fts --setup-hookAuto-configure context injection hook

Configuration

Environment VariableDefaultDescription
MEMORY_DB_PATH~/.claude/memory.dbPath to the SQLite database file

Example with custom path:

bash
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.

ParameterTypeRequiredDescription
factstringyesThe information to remember
categorystringnoOne of: preference, decision, personal, technical, project, workflow, general

memory_search

Hybrid search: runs FTS5 and semantic search in parallel, merges results with RRF. Falls back to LIKE for partial matches.

ParameterTypeRequiredDescription
keywordstringyesSearch keyword or phrase
limitnumbernoMax results (default: 10)

memory_update

Update a memory's content or category by ID.

ParameterTypeRequiredDescription
idnumberyesMemory ID
factstringnoNew content (omit to keep current)
categorystringnoNew category (omit to keep current)

memory_list

List all saved memories grouped by category.

ParameterTypeRequiredDescription
categorystringnoFilter by category
limitnumbernoMax results (default: 50)

memory_delete

Delete a memory by ID.

ParameterTypeRequiredDescription
idnumberyesMemory ID

Resources

memory://context

MCP resource exposing top 30 facts ranked by importance score:

  • Access frequency — frequently accessed facts score higher (capped at 20 points)
  • Recency — recently updated facts score higher (10 points, decays over 90 days)
  • Category weight — preference/decision (3), workflow/technical (2), project/personal (1), general (0)

How It Works

Search Pipeline

  1. FTS5 + BM25 and semantic vector similarity run in parallel
  2. Results are merged and deduplicated using Reciprocal Rank Fusion (k=60)
  3. Facts appearing in both lists get naturally boosted
  4. If both return empty, falls back to LIKE substring matching
  5. Access count is tracked on every search hit

Embeddings

  • Model: all-MiniLM-L6-v2 (384 dimensions, ~23MB)
  • Generated locally via @xenova/transformers — no API calls, no data leaves your machine
  • Embeddings are created on save and backfilled on server startup
  • Cosine similarity with 0.3 threshold to filter noise

Storage

  • SQLite with WAL mode for fast concurrent reads/writes
  • FTS5 virtual table synced via triggers for real-time full-text indexing
  • Embeddings stored as BLOB columns alongside facts

Development

bash
git clone https://github.com/kurovu146/claude-memory-mcp.gitcd claude-memory-mcpnpm installnpm run buildnpm test

License

MIT

Source: README.md at commit 975f9eb

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Memory integrations