Local-first agent memory MCP - cross-agent brain with token-saving file diff cache. By Synapse Arrows.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add linksee-memory -- npx -y linksee-memory{
"mcpServers": {
"linksee-memory": {
"command": "npx",
"args": ["-y", "linksee-memory"]
}
}
}Resumen de MCP Servers
# linksee-memory
> **Claude Code forgets everything when you start a new session. Your successor knows even less.**
>
> **Linksee Memory lets you hand a project over — to your next session, to Cursor or Codex, to the person after you — with the reasons attached.** Record a decision once (`remember({ content, anchor: {} })`) and it comes back *before* the agent acts on it: re-injected on session start and ahead of every Edit / Write / Bash that touches it. Change your mind on the record and it stops nagging; leave it and it keeps the next agent from repeating last week's mistake.
>
> Underneath: **drift detection** across every project you run in parallel — which ones quietly left their goal (🔴), which were checked and hold (🔵), which nobody has looked at yet (⚫). One local SQLite file that **Claude Code, Cursor, Windsurf, OpenAI Codex and Gemini CLI** all read. Nothing leaves your machine.
>
> `npx -y linksee-memory setup` — one command, on in every repo.
[](https://www.npmjs.com/package/linksee-memory)
[](./LICENSE)
[](https://registry.modelcontextprotocol.io/)
[](https://glama.ai/mcp/servers/michielinksee/linksee-memory)
🌐 **Landing page**: [linksee-site.vercel.app](https://linksee-site.vercel.app) (includes non-developer onboarding for Claude Desktop / Cursor / Claude Code / OpenAI Codex / Gemini CLI)
📖 **Docs**: [docs.linksee.app](https://docs.linksee.app) — full reference: the product map & drift, install, and all 11 tools
<!-- releases: tag-driven, published from CI via npm trusted publishing (OIDC).
See .github/workflows/publish.yml — no token, no OTP, provenance attached automatically. -->
## Questions this answers
These are the questions people actually type — measured, verbatim (2026-09-04). If yours is here, this is the answer.
**Claude Code forgets everything when I start a new session. How do I make it remember decisions across sessions?**
Run `npx -y linksee-memory setup`. Every new session opens with `recall()` — a brief of what needs attention, where you are, what's unresolved — and your locked decisions are re-injected before the agent acts. Nothing to re-explain.
**Claude Codeがセッションをまたぐと過去の経緯を忘れてしまいます。記憶を持たせる方法を教えてください。**
`npx -y linksee-memory setup` の一回で入ります。新しいセッションは `recall()` の brief(注意すべきこと・いまどこか・未解決)から始まり、固定した決定は行動の直前に再注入されます。説明し直す必要はありません。
**What is the best MCP server for persistent memory across AI coding agents?**
Honest answer: if "remember across sessions" is all you need, a `CLAUDE.md` is enough — we measured it. Linksee is for the three moments it isn't: right before a mistake, when you change your mind, and when you run many projects and need to see which one drifted.
**AIコーディングエージェント用の記憶MCPサーバーでおすすめはありますか?**
正直に言うと、「セッションを跨いで覚える」だけなら `CLAUDE.md` で足ります(実測しました)。Linksee が要るのは、間違いかけたとき・方針を変えたとき・並行案件のどれが外れたかを知りたいとき、の3場面です。
**I want one shared memory between Claude Code, Cursor, and OpenAI Codex. What tools exist for that?**
One SQLite file. Claude Code, Cursor, Windsurf, OpenAI Codex and Gemini CLI all read and write the same memory — a decision made in one shows up in the others.
**Claude CodeとCursorとCodexで同じ記憶を共有したいのですが、どうすればいいですか?**
SQLite ファイル1つを全員で読みます。Claude Code / Cursor / Windsurf / Codex / Gemini CLI のどこで決めた決定も、他のエージェントの行動の直前に出てきます。
**My AI agent keeps re-implementing things we already decided against. How can I detect that a codebase has drifted from past decisions?**
Declare the decision (`remember({ content, anchor: { violation_signal: [...] } })`). The guard then warns — or blocks, if you hardened it — the moment an edit contradicts it, and `drift_status` shows every decision that reality has quietly left.
**過去に決めた設計方針とコードがずれていないかを検出できるツールはありますか?**
決定を宣言しておくと(`remember({ content, anchor: {...} })`)、それに反する編集の直前に警告(hardened なら拒否)が出ます。`drift_status` は「宣言と現実がずれた決定」を証拠つきで一覧します。
**Is there a local-first, self-hosted alternative to Mem0 for agent memory?**
Yes. No account, no API key, no cloud — one local file, MIT licensed. `npx -y linksee-memory setup` and it's on.
**Mem0 vs Zep vs Letta for a coding agent's long-term memory — which should I pick?**
We installed them and ran one scenario across all of them. Storing and recalling a decision: everyone passes. The difference appears *before a mistake* and *when you change your mind* — Linksee is built for those two moments; the others leave them to you.
**How do I stop Claude Code from repeating the same mistake it made last week?**
Record it as a caveat (`remember({ content, layer: 'caveat' })`). Caveats are protected from forgetting and come back when the same ground is touched again — and if you anchor it, the guard stops the repeat before it lands.
**開発の意思決定履歴をMCPサーバーで残しておく定番のやり方はありますか?**
`remember({ content, anchor: {} })` の1回で、記録と強制が同時に入ります。`drift_status` がその台帳で、各決定が いま守られているか(🔵)・ずれているか(🔴)・誰も確かめていないか(⚫)を示します。
## 🪄 Three spells to remember
| Say this | What happens |
|---|---|
| **"use linksee"** | Recalls relevant memories before acting |
| **"linksee this"** | Saves the decision / lesson right now |
| **"what's drifting?"** | Reconciles reality against your locked decisions |
> Make it automatic: add **"Use Linksee Memory"** to your system prompt / `CLAUDE.md`.
## 🗺️ Not just memory — a product map
Memory is the entry point. Tie it to a `map.yaml` of how your product fits together, and the `linksee-memory map` CLI catches drift with file:line evidence:

**The 30-second demo above:** the README says `--export`. The code doesn't. Linksee catches it — and shows what else a change would touch.
```bash
npx -y linksee-memory map where README.md # this file belongs to the README node — and what it touches
npx -y linksee-memory map explain readme # README promises --export; the code doesn't implement it — drift, with evidence
npx -y linksee-memory map affects readme # changing the README also touches docs, the CLI help, and the npm listing
```
→ see [The Map](#the-map) for the full flow.
## 📣 As featured on
- **Zenn**: [あなたの Claude Code、 実は前回のセッションを完全に忘れている](https://zenn.dev/kanseilink/articles/linksee-memory-claude-code-recall-20260508) — 73 ♡ on Zenn, **165+ users on Hatena Bookmark**, picked up by tech blogs + YouTube shorts (May 2026)
- **Zenn**: [あなたの MCP server、 実は Tools しか使ってない (5 blocks 全実装 / v0.3.0)](https://zenn.dev/kanseilink/articles/linksee-memory-mcp-five-blocks-20260507) — the 1% of MCP servers that implement all 5 blocks
- **Zenn**: [あなたの Claude memory、 実は Claude にしか残らない (5 LLM 横断する方法)](https://zenn.dev/kanseilink/articles/linksee-memory-claude-cross-llm-20260511) — cross-LLM memory pattern (May 12, 2026)
- **Zenn**: [Glama listing で 3 週間止まった話 (5 つの罠と解決策)](https://zenn.dev/michielinksee/articles/linksee-memory-mcp-publish-glama-traps-20260506) — npm + Glama deployment retrospective
> 「Cordex/Cursor/Code/Gemini 全部につなげられるから、 横断的にできてる MCP ってところがこれのすごいところ」
> — [Hatena Bookmark, May 2026](https://b.hatena.ne.jp/entry/s/zenn.dev/kanseilink/articles/linksee-memory-claude-code-recall-20260508) (165+ users)
---
## 🎬 See it in action
**Drift, caught.** Decisions don't survive session boundaries — but their consequences do. Ask any session:
```
You: What's drifting right now?
Agent: [calls drift_status]
28 anchors: ⚪ 1 held · 🔵 27 aligned
Needs attention:
⚪ HELD — "Focus on 4 areas: Recipe layer, agent-native API,
Japanese market, Agent Insights"
↻ Reopens 2026-07-04
Everything else is aligned — no unaccounted divergence.
```
**The memory underneath.** Drift detection only works because the *why* survives the session boundary:
**Without linksee-memory** — Monday morning, new Claude session:
```
You: We deployed last week but it crashed. How did we fix it?
Claude: I don't have access to previous sessions. Can you describe
what happened and walk me through the problem?
[30 minutes of log-spelunking and re-explanation]
```
**With linksee-memory** — Same question, different outcome:
```
You: We deployed last week but it crashed. How did we fix it?
Claude: Let me check my caveats...
🧠 [caveat] NextAuth sessions invalidate when JWT_SECRET
rotates — redeploy all affected projects in parallel.
(from session 2026-04-13, importance: 0.9)
Is this the deploy you're asking about? We hit it when
we rotated secrets mid-flow.
You: Yes, exactly. Let's not repeat that.
```
That single `caveat` memory is what separates "flat fact storage" from "the agent actually remembers the WHY". linksee-memory stores it across **six explicit layers** so retrieval stays explainable.
---
## 🔍 Drift Detection — "Intent Datadog"
Most teams make decisions, then forget them. The agent from last week decided "we'll use FTS5 instead of vector search" — but this week a new session installs `pgvector` without knowing why that was rejected. **That's drift.** Not a bug. Not malice. Just forgotten context.
Memory tools remember what you did. Nothing notices when you drift from what you decided — that's the layer Linksee Memory adds. Think **"Datadog for product decisions"**: unaccounted divergences surface as drift, intentional evolution (recorded as supersede/fix) stays quiet.
### How it works
1. **Declare** decisions as anchors: `declare_anchor({ kind: "decision", statement: "We use FTS5, not vector search", violation_signal: ["pgvector", "embedding"] })`
2. **The engine detects** when committed code reality diverges from these anchors
3. **State derivation** classifies each anchor:
- 🔴 **Drift** — reality diverges with no recorded resolution
- 🟡 **Review** — a soft signal awaits yourLo que la gente pregunta sobre linksee-memory
¿Qué es michielinksee/linksee-memory?
+
michielinksee/linksee-memory es mcp servers para el ecosistema de Claude AI. Local-first agent memory MCP - cross-agent brain with token-saving file diff cache. By Synapse Arrows. Tiene 14 estrellas en GitHub y su última actualización registrada es del 2026-09-08.
¿Cómo se instala linksee-memory?
+
Puedes instalar linksee-memory clonando el repositorio (https://github.com/michielinksee/linksee-memory) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar michielinksee/linksee-memory?
+
Nuestro agente de seguridad ha analizado michielinksee/linksee-memory y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene michielinksee/linksee-memory?
+
michielinksee/linksee-memory es mantenido por michielinksee. La última actividad registrada en GitHub es del 2026-09-08, con 0 issues abiertos.
¿Hay alternativas a linksee-memory?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega linksee-memory en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/michielinksee-linksee-memory)<a href="https://claudewave.com/repo/michielinksee-linksee-memory"><img src="https://claudewave.com/api/badge/michielinksee-linksee-memory" alt="Featured on ClaudeWave: michielinksee/linksee-memory" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!