Memento

Created By
iAchillesa year ago
A local, fully-offline MCP memory server using SQLite + FTS5 + sqlite-vec with embedding support
Overview

Memento

Some memories are best persisted.

A local, fully-offline MCP memory server using SQLite + FTS5 + sqlite-vec with embedding support via @xenova/transformers.

Features

  • Fast keyword search (FTS5)
  • Semantic vector search (sqlite-vec, 1024d)
  • Offline embedding model (bge-m3)
  • Structured graph of entities, observations, and relations
  • Easy integration with Claude Desktop (via MCP)

Prerequisite: sqlite3 CLI

Most macOS and Linux distros ship sqlite3 out of the box, but double-check that it’s there and new enough (≥ 3.38 for proper FTS5).

sqlite3 --version       # should print a version string, e.g. 3.46.0 2024-05-10

If you see “command not found” (or your version is older than 3.38), install the CLI:

PlatformInstall command
macOS (Homebrew)brew install sqlite
Debian / Ubuntusudo apt update && sudo apt install sqlite3

Installation

npm install -g @iachilles/memento

Make sure the platform-specific sqlite-vec subpackage is installed automatically (e.g. sqlite-vec-darwin-x64). You can verify or force install via:

npm i sqlite-vec

Usage

MEMORY_DB_PATH="/Your/Path/To/memory.db" memento

## Starting @iachilles/memento v0.3.3...
## @iachilles/memento v0.3.3 is ready!

Claude Desktop:

{
  "mcpServers": {
    "memory": {
      "description": "Custom memory backed by SQLite + vec + FTS5",
      "command": "npx",
      "args": [
        "-y",
        "memento"
      ],
      "env": {
        "MEMORY_DB_PATH": "/Path/To/Your/memory.db"
      },
      "options": {
        "autoStart": true,
        "restartOnCrash": true
      }
    }
  }
}

Optional:

Use SQLITE_VEC_PATH=/full/path/to/vec0.dylib if automatic detection fails.

API Overview

This server exposes the following MCP tools:

  • create_entities
  • create_relations
  • add_observations
  • delete_entities
  • delete_relations
  • delete_observations
  • read_graph
  • search_nodes (mode: keyword, semantic)
  • open_nodes

Embedding Model

This project uses @xenova/transformers, with a quantized version of bge-m3, running fully offline in Node.js.

License

MIT

Server Config

{
  "mcpServers": {
    "memory": {
      "description": "Custom memory backed by SQLite + vec + FTS5 with embedding support",
      "command": "npx",
      "args": [
        "-y",
        "memento"
      ],
      "env": {
        "MEMORY_DB_PATH": "/Path/To/Your/memory.db"
      },
      "options": {
        "autoStart": true,
        "restartOnCrash": true
      }
    }
  }
}
Project Info
Created At
a year ago
Updated At
a year ago
Author Name
iAchilles
Star
-
Language
-
License
-
Category

Recommend Servers

View All