rememberLABSCO SUMMARY
The tool budget is a dial, not a fixed cost.
Every registered tool at once would swamp a context window, and most memory servers make you take all of theirs. Here the profile is a single environment variable: a coding agent gets the 31-tool code surface with the graph tools, a chat client gets the 16-tool core one, and neither pays for the other's. The scoring contract is the other unusual piece — it refuses to report an answer confidence it cannot compute, and says so in the response.
What it is
SuperLocalMemory (SLM) keeps agent memory on your own machine in SQLite with sqlite-vec, and exposes it over MCP, a CLI, a dashboard and IDE integrations. Recall is not one vector lookup: semantic, BM25, temporal, Hopfield and spreading-activation candidate channels are fused, and every memory carries ingestion timing and provenance so an agent can ask what changed as well as what is true.
What you get
- A profile switch that decides how much tool surface reaches your client — the README sizes the profiles at
core16 tools,code31,mesh8,full49,power61 andwhole94 (every registered tool), while the docs and README together name 78 of them one by one — set throughSLM_MCP_PROFILE, and an unknown name stops startup rather than silently selecting another set - Writes that return a durable receipt with
operation_id,fact_idsandmaterialization_state, plus anidempotency_keyso a retry is not a duplicate —remember - Natural-language recall whose scores are explicitly separated:
relevance_scorefor query relevance,ranking_scorefor diagnostic ranking,memory_confidencefor the stored assertion, andanswer_confidenceleft null because retrieval scores are not answer probabilities —recall,search,fetch - Scoped memory —
personal,sharedwith named profiles, orglobal— with cross-profile recall default-deny - Code-graph tools for review and change work: blast radius, review context, architecture overview, dead-weight hunting —
build_code_graph,get_blast_radius,get_review_context,get_architecture_overview,find_large_functions - Explicit context optimisation rather than silent compression —
slm_compress,slm_cache_set,slm_cache_get,slm_optimize_stats - Lifecycle and governance surfaces: retention policy, consolidation, audit trail, health and a recall trace that shows which channels contributed —
set_retention_policy,compact_memories,audit_trail,recall_trace,consistency_check - Correction handling that keeps a human in the loop —
correct_pattern,review_correction,list_corrections
Requirements
Python 3.11 or higher, into a virtual environment: python -m pip install superlocalmemory gives you the slm CLI and the importable SDK. Two transports expose the same tools — HTTP against one shared daemon at http://127.0.0.1:8765/mcp/, or stdio via slm mcp. The default local runtime needs no Docker, no separate graph database and no API key; provider-backed enrichment, cloud backup and connectors are separate choices you make. Licensed AGPL v3.
Setup effort
One command — npm install -g superlocalmemory
USE CASES
Keeping a project's decisions across sessions and machines
Store facts with tags and a project label, then recall them by natural language; the receipt tells you when the write is durably queryable rather than just accepted.
Judging what a change will break before making it
Build the code graph for the repo and ask for the blast radius and review context around the function you are about to touch.
Fitting memory into a small context window
Set SLM_MCP_PROFILE to core for a predictable 16-tool surface, and route bulky results through the compress and cache tools instead of pasting them.
Working out why a recall returned what it did
Read the recall trace to see which retrieval channels produced each candidate, then run the consistency check if the store looks wrong.
Meeting a retention obligation
Set a retention policy, run consolidation, and read the audit trail for the hash-chained record of what was erased and when.
78 tools
Listed in project docs. Your client may show a different list.
recallsearchfetchlist_recentget_statusbuild_graphswitch_profilebackup_statusmemory_usedget_learned_patternscorrect_patternget_attributionforgetdelete_memoryupdate_memoryreview_correctionlist_correctionssession_initobservereport_feedbackclose_sessionreport_outcomeget_lifecycle_statusset_retention_policycompact_memoriesget_behavioral_patternsaudit_trailset_modeget_modehealthconsistency_checkrecall_traceget_versionprestage_contextget_retention_statsconsolidate_cognitiveget_soft_promptsreap_processesbuild_code_graphupdate_code_graphget_blast_radiusget_review_contextquery_graphsemantic_search_codelist_graph_statsfind_large_functionsdetect_changesget_architecture_overviewlist_flowsget_flowget_affected_flowslist_communitiesget_communitycode_memory_searchcode_entity_historylink_memory_to_codeenrich_blast_radiuscode_stale_checkrefactor_previewapply_refactorslm_compressslm_retrieveslm_cache_setslm_cache_getslm_optimize_statsslm_loop_runslm_loop_historyslm_loop_showobserve_bounded_loop_evidencemesh_summarymesh_peersmesh_sendmesh_inboxmesh_statemesh_lockmesh_eventsmesh_statusBEFORE YOU INSTALL
What to know first
Tools you get
78 tools named in the project's documentation.
Requires
Node 18+ with npm (npm global CLI path), or Python 3.11+ in a virtual environment (pip path)
INSTALLATION
Connect your client
Server setup
npm install -g superlocalmemoryNeeds Node 18+. Run slm setup (choose mode) and then slm doctor afterward — the npm install does not run setup for you. The project documents a second primary path: python -m pip install superlocalmemory inside a Python 3.11+ virtual environment. Clients configured with the HTTP address http://127.0.0.1:8765/mcp/ need the background daemon running — start it with slm serve start; clients that launch slm mcp (stdio) need no daemon.
MCP Clients
Claude Code
{
"mcpServers": {
"superlocalmemory": {
"command": "slm",
"args": [
"mcp"
]
}
}
}Cursor, Windsurf
{
"mcpServers": {
"superlocalmemory": {
"command": "npx",
"args": [
"-y",
"superlocalmemory",
"mcp"
],
"env": {}
}
}
}VS Code
{
"servers": {
"superlocalmemory": {
"type": "http",
"url": "http://127.0.0.1:8765/mcp/"
}
}
}Gemini CLI
{
"mcpServers": {
"superlocalmemory": {
"httpUrl": "http://127.0.0.1:8765/mcp/"
}
}
}Antigravity
{
"mcpServers": {
"superlocalmemory": {
"serverUrl": "http://127.0.0.1:8765/mcp/"
}
}
}Kimi
{
"mcpServers": {
"superlocalmemory": {
"url": "http://127.0.0.1:8765/mcp/"
}
}
}Grok CLI
[mcp_servers.superlocalmemory]
command = "mcp-remote"
args = [
"http://127.0.0.1:8765/mcp/",
"--allow-http",
"--transport",
"http-only",
]Hermes Agent
mcp_servers:
superlocalmemory:
type: http
url: http://127.0.0.1:8765/mcp/Command Code
{
"mcpServers": {
"superlocalmemory": {
"transport": "http",
"enabled": true,
"url": "http://127.0.0.1:8765/mcp/"
}
}
}JetBrains IDEs
slm connect jetbrainsContinue
{
"mcpServers": [
{
"name": "superlocalmemory",
"command": "npx",
"args": [
"-y",
"superlocalmemory",
"mcp"
]
}
]
}Zed
{
"context_servers": {
"superlocalmemory": {
"command": {
"path": "npx",
"args": [
"-y",
"superlocalmemory",
"mcp"
]
}
}
}
}Codex
slm connect codex