New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@raajvamsy/memorylayer

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@raajvamsy/memorylayer

Persistent semantic memory for AI agents — npx @raajvamsy/memorylayer

latest
Source
npmnpm
Version
1.7.1
Version published
Weekly downloads
201
1156.25%
Maintainers
1
Weekly downloads
 
Created
Source

memorylayer

Persistent, searchable memory for AI agents — shared across every agent, chat, and machine. Local-first. MCP-native. One command, no Docker.

npm License: MIT

Quickstart

npx @raajvamsy/memorylayer

First run downloads the embedding model once (~130 MB, cached in ~/.cache). Every run after that boots in under a second.

Requires Node 18–22 (engines caps at <23). Node 22 LTS is the safest choice — on Windows, better-sqlite3 currently ships no prebuilt binary for Node 18/20/21, which forces a native (node-gyp) build and can fail without Visual Studio Build Tools installed. Node 22 has a prebuilt binary and needs no compiler at all.

Then point any MCP client at the SSE endpoint:

{
  "mcpServers": {
    "memorylayer": {
      "url": "http://localhost:7400/sse"
    }
  }
}

Works with Claude Code, Cursor, Windsurf, Antigravity, and any MCP-compatible agent — same URL, no extra config.

IDE setup (one command)

Wire up your IDE — hooks, rules, and a skill file — automatically:

memorylayer setup                        # interactive: pick IDE + toggle components
memorylayer setup --ide all --yes        # silent, all detected IDEs

# Component flags
memorylayer setup --ide claude --no-hooks   # rules + skill only, no hook
memorylayer setup --ide all --remove --yes  # uninstall everything

Supports Claude Code, Cursor, Windsurf, and Antigravity. See memorylayer.in/docs/quickstart for manual setup.

Options

memorylayer [options]

  -p, --port <number>    Port to listen on (default: 7400)
      --host <string>    Host to bind (default: 127.0.0.1; use 0.0.0.0 for Docker)
  -k, --key <string>     API key — or set MEMORY_API_KEY env var
  -d, --data <path>      Data directory (default: ~/.memorylayer)
      --model <string>   Embedding model (default: Xenova/bge-small-en-v1.5)
      --stdio            Run as stdio MCP server (for Claude desktop)
      --log-level        debug | info | warn | error (default: info)

With an API key (higher limits)

npx @raajvamsy/memorylayer --key sk-ml-your-key-here
# or
MEMORY_API_KEY=sk-ml-your-key-here npx @raajvamsy/memorylayer

Get a free key at memorylayer.in.

Docker / remote access

npx @raajvamsy/memorylayer --host 0.0.0.0 --port 7400

Claude desktop (stdio)

{
  "mcpServers": {
    "memorylayer": {
      "command": "npx",
      "args": ["@raajvamsy/memorylayer", "--stdio"]
    }
  }
}

What it does

MemoryLayer gives AI agents a persistent, searchable memory store that survives across conversations, agents, and machines.

  • Shared memory — Claude, Cursor, and Windsurf all read and write the same namespace. What one agent learns, every agent knows.
  • Code intelligence — index a codebase with code_ingest, then ask questions. memory_answer returns the right symbol + its siblings + imports in one round trip.
  • Semantic + keyword search — hybrid BM25 + HNSW vector search with time decay and priority weighting.
  • Local-first — all content stays on your machine. Only license validation pings our servers.

MCP tools

Nine unified tools. Earlier releases exposed ~35 narrow tools (memory_upsert, memory_search, code_search, fs_read, …); those were collapsed into these and the old names are gone.

ToolWhat it does
rememberWrite. Auto-routes upsert / update / delete / chunk / batch by argument shape. Long content is chunked automatically.
recallRead. Intent-routed: search, one-call answer, weave (explore: true), list, or load by id. Answers closed relational questions proof-first.
codeCodebase intelligence: ingest, locate, impact, grep, status, stop.
consolidateMaintenance: TTL prune, replay-and-derive ripple, teach, compose, report.
verifyHallucination gate — splits text into claims and marks each grounded / refuted / unsupported.
proveZ3 proof certificate for a single high-stakes claim.
auditBatch-check every axiom in a loaded domain. Returns an exit code for CI.
domainFormal domains: load, assert, status, export, set_mode.
helpThis reference, in-tool.

Searching several namespaces at once

recall() targets one namespace per call. When related work lives in more than one, declare a group and read across it in a single query:

remember({ namespace: "design", group: "myproject" })
remember({ namespace: "bugs",   group: "myproject" })

recall({ query: "auth rewrite", group: "myproject" })   // both, one ranked pool
recall({ namespaces: ["design", "bugs"] })              // ad-hoc, no declaration
recall({ view: "namespaces" })                          // list all + their groups

Groups are declared, never guessed from namespace names. Writes stay single-namespacegroup only widens reads. An unknown group returns no results rather than silently searching everything. Not supported with explore: true.

WCM engine states

prove, verify, audit, domain and consolidate run on the WCM native engine. Their errors tell you whether to retry:

errorMeaning
wcm_bootingStill starting — first run after install/upgrade unpacks a large model payload (up to ~2 min). Retry shortly.
wcm_timeoutWarm, but this request was too expensive. Retry with a smaller input.
wcm_unavailableNot installed, or failed its integrity check. Don't retry.

Memory storage, search and the code tools never depend on WCM — they keep working in all three states.

Plans

PlanMonthly callsExtra tools
Free1,000Basic toolset + 50 memory_answer, 5 code_ingest, 50 memory_related
Pro ($19/mo)5,000500 memory_answer, 20 code_ingest, 200 memory_related
Pro+ ($49/mo)10,000memory_weave, memory_chunked_store, memory_batch_store (unlimited)
EnterpriseCustomPer-seat keys, org billing, SLA

REST API

The same server also exposes a REST API on the same port:

# Store a memory
curl -X POST http://localhost:7400/memory \
  -H "Content-Type: application/json" \
  -d '{"content": "User prefers TypeScript strict mode", "namespace": "prefs"}'

# Search
curl -X POST http://localhost:7400/memory/search \
  -H "Content-Type: application/json" \
  -d '{"query": "coding preferences", "namespace": "prefs"}'

# Health check
curl http://localhost:7400/health

Registry

Share memory packages (versioned, integrity-signed) with your team:

memorylayer login --token sk-ml-your-key
memorylayer init                         # creates memory.json
memorylayer publish                      # publish to registry
memorylayer add @yourname/package        # install a package

memorylayer sync push --namespace work   # encrypted backup
memorylayer sync pull --namespace work   # restore on another machine

Full registry docs at memorylayer.in/docs/registry.

Data

Everything lives in ~/.memorylayer:

  • memories.db — SQLite (source of truth)
  • HNSW index — rebuilt from the embeddings table on startup; never treat it as durable

Back up by copying the directory:

cp -r ~/.memorylayer ~/memorylayer-backup

Run with a custom data directory:

npx @raajvamsy/memorylayer --data /Volumes/external/ml-data

License

MIT © Raaj Vamsy

Keywords

mcp

FAQs

Package last updated on 20 Sep 2026

Related posts