Skip to main content
Glama

memory-mcp

A unified, local memory for Claude — an MCP server that stores memories as 1024-dimensional embeddings in a single SQLite file (memory.db) and serves them back over the Model Context Protocol.

  • Runtime: TypeScript, stdio transport

  • Store: SQLite + sqlite-vec

  • Embedder: pluggable — local Ollama (default) or remote Voyage AI

  • Vectors: float[1024], cosine distance

Data model (two tables, one id)

One memory is stored as two rows that share the same id:

memories (normal table)

vec_memories (vec0 virtual table)

id, text, tags, source, parent_id, content_hash, created_at, updated_at

rowid, embedding float[1024]

sqlite-vec's vec0 table only holds the vector, so the readable content lives in memories and the two are joined on memories.id = vec_memories.rowid. content_hash (sha256 of the text) makes exact duplicates a no-op.

Related MCP server: memcp

Setup

cd ~/memory-mcp
npm install
npm run build

Local embeddings (default, nothing leaves the machine)

# install & run Ollama, then pull a 1024-d model:
ollama pull bge-large
ollama serve            # if not already running

Remote embeddings (Voyage)

export EMBEDDER=voyage
export VOYAGE_API_KEY=...   # voyage-3 = 1024-d

Copy .env.example to .env to see all options.

Wire it into Claude

Add to claude_desktop_config.json (Claude Desktop) or .mcp.json (Claude Code):

{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": ["/Users/tylertabarovsky/memory-mcp/dist/server.js"],
      "env": { "EMBEDDER": "ollama" }
    }
  }
}

Tools

Tool

Args

Does

memory_write

text, tags?, source?

chunk → embed → store

memory_search

query, k?

embed query → cosine kNN → ranked hits

memory_list

limit?, tag?

recent memories, optional tag filter

memory_delete

id

remove content + vector

Capture model

This scaffold uses the explicit model: Claude calls memory_write when it decides something is worth keeping. Simplest and least noisy. A passive/auto capture layer can be added later on top of the same tools.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • -
    license
    -
    quality
    D
    maintenance
    Provides persistent memory for AI assistants like Claude, storing and retrieving information across conversations using a local SQLite database.
    Last updated
  • A
    license
    -
    quality
    A
    maintenance
    Enables Claude Code to query and store memories from past conversations using FTS5 search and topic-based retrieval, with no API costs.
    Last updated
    803
    1
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables Claude to remember conversations and learn over time by storing and recalling messages, memory abstracts, and recent history using a local SQLite database.
    Last updated
    4
    47
    72
    MIT

View all related MCP servers

Related MCP Connectors

  • User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.

  • Universal memory for AI agents and tools. Save, organize and search context anywhere.

  • Persistent context for Claude. Your AI always knows your projects and next actions across sessions.

View all MCP Connectors

Latest Blog Posts

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/tylertab/memory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server