프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. 리뷰와 계정 기능은 다음 단계에서 열려요.
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Linksee Memory

제작자: michielinksee버전 0.19.0i★ –i내 컴퓨터에서 실행
레지스트리 이름io.github.michielinksee/linksee-memory

설치

개요

제작자가 쓴 설명(영어 원문)

Hand a project over with the reasons attached. Local-first cross-agent memory MCP + drift detection.

PopNx MCP의 세 기둥

이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.

할 수 있는 일

이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.

  • 연결 방식: 내 컴퓨터에서 실행
  • 전송 방식: stdio
  • 카테고리: 검색 및 AI 기억

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

설치하기 전에

  • 기본 점검: 1개 중 1개 통과
  • 내 컴퓨터에서 내 사용자 계정의 권한(파일, 네트워크, 앱)으로 실행돼요.
  • 레지스트리에 입력해야 할 키가 나와 있지 않아요.

필요한 것

  • npmNode.js 설치(npx 명령어용)

어떤 앱을 쓰세요?

위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.

Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요

{
  "mcpServers": {
    "linksee-memory": {
      "command": "npx",
      "args": [
        "-y",
        "linksee-memory"
      ]
    }
  }
}

터미널에서 이 명령어를 실행하세요

claude mcp add linksee-memory -- npx -y linksee-memory

Cursor에서 열기

또는 설정을 직접 복사하기

프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요

{
  "mcpServers": {
    "linksee-memory": {
      "command": "npx",
      "args": [
        "-y",
        "linksee-memory"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

VS Code에서 열기

또는 설정을 직접 복사하기

프로젝트의 .vscode/mcp.json에 붙여 넣으세요

{
  "servers": {
    "linksee-memory": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "linksee-memory"
      ]
    }
  }
}

브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.

이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.

선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 michielinksee 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • … 아직 점검 안 함

    계속 관리되고 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • … 아직 점검 안 함

    라이선스 있음

    아직 GitHub에서 이 저장소를 읽어 오지 않았어요

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

검색 및 AI 기억 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 5662개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 5662개 중 97%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 5662개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Linksee Memory, 안전한가요?

해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.19.0)은 어제 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Context7, Codebase Memory, Exa

대안

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Context7

제작자: upstash

Up-to-date docs for AI agents

컴퓨터 또는 클라우드★ 64,224MIT어제 업데이트
설치

Codebase Memory

제작자: DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

내 컴퓨터에서 실행★ 48,148MIT21일 전 업데이트
설치

Exa

제작자: exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

클라우드에서 실행★ 5,213MIT2개월 전 업데이트
설치

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

linksee-memory

A local MCP memory server: one SQLite file on your machine that Claude Code, Cursor, Windsurf, OpenAI Codex and Gemini CLI all read and write. No account, no credit card, no cloud, no API key. The server makes no network calls; telemetry is opt-in and off by default.

It is for handing a project over — to your next session, to another client, to the person after you — with the reasons attached. Every client can save and search the memory. In Claude Code, hooks also bring a recorded decision back at session start and before an edit. Drift detection shows which recorded decisions the code has since left.

Needs Node.js 22.16 or later (recommended: SQLite with FTS5 is built into Node, nothing is compiled), and Claude Code or Codex to try it (either one is enough). Node 20 and Node 22.0–22.15 still work through better-sqlite3, which then has to be built on install — on npm 12 that means allowing its install script (see troubleshooting).

Install

Claude Code, from inside a session (plugin: MCP server and skill, no hooks):

/plugin marketplace add michielinksee/linksee-memory

/plugin install linksee-memory@linksee-memory

Or from a shell, which also installs the hooks:

npx -y linksee-memory setup                       # Claude Code: MCP server, skill, hooks

codex mcp add linksee -- npx -y linksee-memory # Codex: the same memory

The plugin starts the server with npx -y linksee-memory@latest and ships the same skill setup installs. It has no hooks: the Stop hook (auto-capture) and the re-injection guard come only from setup. One or the other, not both:

  • Already ran setup? Do not add the plugin. With both, Claude Code runs the server twice (linksee and plugin:linksee-memory:linksee).
  • Installed the plugin and want the hooks? Disable it (/plugin → Installed → linksee-memory → disable, or claude plugin disable linksee-memory@linksee-memory), then run npx -y linksee-memory setup. The memory file is the same; nothing is lost.
  • Plugin only: no hooks, so nothing is saved unless the agent calls remember (the skill tells it when).
  • Windows: after installing the plugin, run /mcp and check that plugin:linksee-memory:linksee is connected. If it is not, disable the plugin first (previous bullet), then run npx -y linksee-memory setup from the shell block above. setup registers the server with claude mcp add, the form that is known to work on Windows, and it does not disable the plugin for you.

One command for Claude Code. setup --dry-run prints what it would change. It edits ~/.claude/settings.json, so the hooks apply in every repo, and keeps the old file as settings.json.bak- (what it writes).

First round trip

A new install has an empty memory, so "how did we solve this before?" finds nothing yet. Try this instead:

  1. In Claude Code or Codex, say: *"Remember: in this repo we decided to use X, because Y. Use Linksee."*
  2. Open a new session — in either one — and ask: *"What did we decide about X? Use Linksee."*
  3. Two repos: record a decision in repo A, then in repo B (e.g. Codex) ask the same. It does come back — the memory is per machine, not per repo — labelled entity: repo-a and by: ; entity_name on the recall narrows by a part of the entity name (repo-a also matches repo-a-backup).
  4. Reverse it: remember the new decision with supersedes: . recall then shows only the new one (supersedes # ); include_superseded: true shows both.

Works for me

Where the first round trip is known to work. Most cells are empty because nobody has tried them yet, not because they fail.

ClientWindowsmacOSLinux
Claude Codeverifiedreporteduntested
Codexuntesteduntesteduntested
Cursoruntesteduntesteduntested
Windsurfuntesteduntesteduntested
Gemini CLIuntesteduntesteduntested
  • verified: run by the maintainer with a record. Claude Code on Windows: remember in one session, recall in a new one, on 0.18.1 (record). The plugin install path connected on 2026-11-05; its round trip is not in the record.
  • reported: someone said it works, without a version or log. Claude Code on macOS: the maintainer on one Mac (#16); the hooks there are not checked.
  • untested: nobody has reported it either way.

If you fill one cell, your name goes in the weekly report under "Added by others". Report your client and OS — five fields, no database contents.

Weekly report: Discussion #16.

What it does not do

  • Reminders and blocks before an edit are Claude Code hooks. Cursor, Windsurf, Codex and Gemini CLI share the memory but get no warning before an edit.
  • Saving every session automatically is also Claude Code only. Other clients save when the agent calls remember.
  • The memory is shared on one machine. There is no sync to another machine; to hand it over, copy ~/.linksee-memory/ (with every client closed).
  • A database from a very early version (schema 1–5) is refused without being changed. Close every client and keep them closed while it runs, then npx -y linksee-memory@0.17.2 migrate --dry and npx -y linksee-memory@0.17.2 migrate: it migrates a copy and moves the original files, as one set, into memory.db.pre-migrate- / (details and how to go back).

Docs: docs.linksee.app · Site: linksee.app (setup guides for non-developers) · Free, MIT, local only — there is no paid tier you need.

What setup writes, and how to undo it

setup registers the MCP server (claude mcp add -s user linksee -- npx -y linksee-memory), installs the agent skill, adds a Stop hook that saves each session, and wires the re-injection guard for every repo (--project-guard for this repo only, --no-guard to skip). Running it again changes nothing that is already in place.

FileWhat
~/.claude.jsonthe linksee MCP server (via claude mcp add) — undo with claude mcp remove linksee
~/.claude/skills/linksee-memory/SKILL.mdthe agent skill
~/.claude/settings.jsonthe Stop hook (auto-capture) and the SessionStart / PreToolUse guard hooks. Merged into what is there — other hooks and settings are kept. If the file does not parse, setup leaves it untouched and says so. Before changing it, setup keeps the previous file as settings.json.bak- : to undo, copy that file back over settings.json.
~/.linksee-memory/runtime/ /only when setup ran from a temporary location (npx, pnpm dlx, bunx, or the system temp directory): setup runs npm install --prefix ~/.linksee-memory/runtime/ --no-save --omit=dev linksee-memory@ once (shown with its size; this downloads from the npm registry), because the hooks call node on it directly and those locations are temporary. Older versions are not removed automatically (about 35 MB each): setup prints the folder, and npx -y linksee-memory runtime prune lists them with what references each. With --yes --scope-confirmed it deletes only versions no settings file references; it cannot see other repos where you ran setup --project (pass their .claude/settings.json with --settings), and if a settings file cannot be read or parsed it deletes nothing. If the install fails, the hooks stay on the npx form.
~/.linksee-memory/telemetry-consentyour telemetry answer (off unless you said yes)

To remove everything: claude mcp remove linksee, delete the linksee hooks from settings.json (or copy the .bak back), then rm -rf ~/.claude/skills/linksee-memory ~/.linksee-memory — the last one deletes the memory stored in that folder. It does not reach copies you made yourself (for example to hand the memory over) or telemetry already sent if you opted in. Linksee itself never sends memory text anywhere. Step by step, with manual setup: docs/install.md.

Other clients

Every client points at the same stdio command and the same ~/.linksee-memory/memory.db. A decision made in Claude Code is recalled in Cursor.

ClientWhere
OpenAI Codexcodex mcp add linksee -- npx -y linksee-memory
Cursor~/.cursor/mcp.json
Windsurf~/.codeium/windsurf/mcp_config.json
Gemini CLI~/.gemini/settings.json
Claude Desktopclaude_desktop_config.json

The JSON clients take the same block:

{ "mcpServers": { "linksee": { "command": "npx", "args": ["-y", "linksee-memory"] } } }

Full configs, including Codex's config.toml: docs/install.md.

Everyday use

Say thisWhat happens
"use linksee"Recalls relevant memories before acting
"linksee this"Saves the decision or lesson now
"what's drifting?"Checks reality against the decisions you recorded

Adding "Use Linksee Memory" to your system prompt or CLAUDE.md prompts the agent to call recall more often; whether it does is still up to the agent.

What each part does, and where:

  • Shared (every client): remember saves to the one SQLite file; recall searches it when the agent calls it.
  • Re-injected (Claude Code only, hooks): remember({ content, anchor: {} }) also records the decision as an anchor. At session start the guard hook adds a short digest of recorded decisions (up to 8). Before an Edit / Write / Bash, a decision comes back only if it matches: with affects globs, the edited path must match (a Bash command that names no file can still match on a violation_signal); without affects, a detect_terms or violation_signal hit is needed. An empty anchor: {} has none of these, so it appears only in the session-start digest, never before an edit.
  • Contradiction warned or blocked (Claude Code only): the guard can only tell that an edit contradicts a decision if you give it the strings that mean "contradiction": anchor: { violation_signal: ["pgvector"] }. An empty anchor: {} is stored as a constraint and is re-injected, never matched as a contradiction. A match warns; after resolve_drift(action: "harden") it blocks. The guard fails open: its own errors never block anything. Details: docs/guard.md.

Tools: seven, six for memory and drift and one you ask for

Three for memory, three for drift, and share_draft,

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요

PopNx에게 묻기