AI News HubLIVE
站内改写3 min read

Show HN: Local RAG memory system that AI can write directly to

local-memory-mcp is a local MCP server that gives AI assistants like Claude and ChatGPT persistent memory using ChromaDB. Data stays on your machine, no cloud or subscription required. It solves the problem of AI forgetting everything after a session ends.

SourceHacker News AIAuthor: ptobey

Notifications You must be signed in to change notification settings

Fork 0

Star 4

BranchesTags

Open more actions menu

Folders and files

NameName

Last commit message

Last commit date

Latest commit

History

17 Commits

17 Commits

docs

docs

examples

examples

src

src

.dockerignore

.dockerignore

.env.example

.env.example

.gitignore

.gitignore

CODE_OF_CONDUCT.md

CODE_OF_CONDUCT.md

CONTRIBUTING.md

CONTRIBUTING.md

Dockerfile

Dockerfile

LICENSE

LICENSE

README.md

README.md

SECURITY.md

SECURITY.md

config.example.json

config.example.json

demo.gif

demo.gif

docker-compose.yml

docker-compose.yml

requirements.txt

requirements.txt

run_mcp_v1_http_sse.py

run_mcp_v1_http_sse.py

run_mcp_v1_stdio.py

run_mcp_v1_stdio.py

Repository files navigation

AI assistants forget everything when the conversation ends. This fixes that - locally.

No cloud. No subscription. No account. Your data stays on your machine.

local-memory-mcp gives Claude, ChatGPT, and other MCP-compatible assistants a persistent memory layer powered by local vector search (ChromaDB). Tell it something once. It remembers across sessions.

The problem it solves

Every new Claude or ChatGPT session starts blank. Your preferences, your project context, your decisions - gone. You re-explain yourself constantly.

local-memory-mcp is a local MCP server that lets your AI assistant:

Store things worth remembering ("my deep work block is 6:30–9 AM")

Retrieve relevant context at the start of any new session

Version and supersede memories as your situation changes

Never send your data anywhere

It's the memory layer AI assistants should have built in, but don't.

Quickstart (Docker - 2 minutes)

git clone https://github.com/ptobey/local-memory-mcp.git cd local-memory-mcp docker compose up --build -d

Then point your MCP client at http://localhost:8000/mcp. Done.

→ Claude Desktop setup · ChatGPT setup · Manual Python install

How it works

[Assistant via MCP Client] | v [run_mcp_v1_stdio.py | run_mcp_v1_http_sse.py] | v [src/mcp_server_v1.py] / | \ v v v [vector_store.py] [reconciliation.py] [health_monitor.py] | | v v [Local ChromaDB] [Reconciliation Log]

Write path: store/update writes a chunk → reconciliation checks for overlap/conflict → returns warnings and self-heal hints when a write looks risky.

Read path: search runs semantic retrieval → ranking blends similarity with lightweight lexical/recency signals → deprecated chunks stay hidden unless explicitly requested.

Features

MCP tools: store, search, update, delete, get_chunk, get_evolution_chain

Versioned updates (strategy="version") with supersedes chains

Soft delete by default (history retained), optional hard delete

Heuristic reconciliation and conflict logging

Warning-first write responses with structured warnings[] and self-heal fields

Health checks for oversized chunks and unresolved conflicts

Local backup/restore for the persisted vector DB

Stdio and SSE transports

Optional SSE auth: none (local-only), bearer, or oauth

The design idea behind it (AIX)

AIX (AI eXperience) means designing for how LLMs actually consume context, not how humans file documents:

Prefer clear text chunks over rigid document schemas

Keep metadata minimal but useful: timestamps, confidence, supersedes links, deprecation flags

Preserve history with version chains instead of destructive overwrites

Return warning-rich tool responses so the model can self-correct

The goal is practical retrieval quality and reliable AI behavior, not perfect human taxonomies.

Example workflow

Store a memory:

tool: store input: { "text": "Weekday focus block is 6:30-9:00 AM, current default schedule." }

Retrieve it later:

tool: search input: { "query": "current deep work schedule", "top_k": 5 }

Bootstrap a new session by running a few focused retrievals, then synthesizing only active, non-deprecated chunks into a short brief for the new model instance. More flows in examples/.

Privacy & deployment

Local-first and user-controlled by default

Data stored in local ChromaDB files under the configured persist directory

No cloud backend required; optional remote access via user-managed tunneling

Never commit real secrets - use local config/env values

Documentation

Setup guide

Integrations (Claude Desktop + ChatGPT)

Architecture

AIX notes

Docker guide

Limitations

Roadmap

License

MIT. See LICENSE.

About

Persistent local memory for Claude and ChatGPT. No cloud, no subscription. Self-hosted RAG over MCP.

Topics

python

memory

mcp

self-hosted

claude

rag

local-first

llm

chatgpt

chromadb

Resources

Readme

License

MIT license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

4 stars

Watchers

0 watching

Forks

0 forks

Report repository

Releases

1 tags

Packages 0

Uh oh!

There was an error while loading. Please reload this page.

Contributors 1

ptobey Patrick Tobey

Languages

Python 99.1%

Dockerfile 0.9%