/ 디렉터리 / 플레이그라운드 / claude-mem
● 커뮤니티 thedotmack ⚡ 바로 사용

claude-mem

제작: thedotmack · thedotmack/claude-mem

claude-mem captures every Claude Code session, compresses it with AI into a searchable memory, and injects only the relevant bits into future sessions.

claude-mem is a plugin/skill hybrid for Claude Code (also Gemini CLI and OpenCode). Five lifecycle hooks observe everything your agent does; an AI compression pass distills sessions into structured observations; a SQLite + Chroma vector store powers semantic recall. You search memory with the mem-search skill, and a local web viewer at localhost:37777 shows the memory stream in real time. Privacy controls via <private> tags keep secrets out. The biggest win: no more 'remind me what we decided last Tuesday' at the start of every session.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

claude-mem-skill.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "claude-mem-skill": {
      "command": "npx",
      "args": [
        "claude-mem",
        "install"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "claude-mem-skill": {
      "command": "npx",
      "args": [
        "claude-mem",
        "install"
      ]
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "claude-mem-skill": {
      "command": "npx",
      "args": [
        "claude-mem",
        "install"
      ]
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "claude-mem-skill": {
      "command": "npx",
      "args": [
        "claude-mem",
        "install"
      ]
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "claude-mem-skill",
      "command": "npx",
      "args": [
        "claude-mem",
        "install"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "claude-mem-skill": {
      "command": {
        "path": "npx",
        "args": [
          "claude-mem",
          "install"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

claude mcp add claude-mem-skill -- npx claude-mem install

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: claude-mem

Resume a multi-week project without re-briefing Claude every morning

👤 Engineers on long-running features or research ⏱ ~5 min beginner

언제 쓸까: You spend the first 10 minutes of every session re-explaining context that Claude had yesterday.

사전 조건
  • Claude Code installed — npm install -g @anthropic-ai/claude-code
  • claude-mem installed — npx claude-mem install (registers hooks in ~/.claude)
흐름
  1. Work normally
    Just use Claude Code. claude-mem is passive — hooks capture events automatically.✓ 복사됨
    → localhost:37777 shows the memory stream updating as you work
  2. Start tomorrow's session
    Where did we leave off on the migration branch?✓ 복사됨
    → Claude recalls concrete facts + cites observation IDs
  3. Correct misremembering
    That's wrong about the DB schema — we decided to keep the v1 field. Mark that observation as corrected.✓ 복사됨
    → mem-search writes a correction; future recall prioritizes it

결과: Sessions feel continuous. The re-briefing ritual disappears.

함정
  • Memory recalls stale facts after you change course — Explicitly mark corrections; mem-search respects recency and overrides
  • Sensitive code snippets get captured — Wrap them in <private>...</private> tags; hooks skip private blocks
함께 쓰기: filesystem

Turn individual sessions into team knowledge without writing docs

👤 Team leads; ICs who avoid writing postmortems ⏱ ~10 min intermediate

언제 쓸까: You solve a gnarly bug, explain the fix to Claude, and want that explanation findable next month without writing a README.

흐름
  1. Narrate your fix
    Walk me through why the deadlock happened and the fix you just landed. Be complete — future me might read this.✓ 복사됨
    → Claude writes a narrative; compression captures it
  2. Tag the memory
    Tag this observation with 'db-deadlock-2026-04' and 'billing-cluster'.✓ 복사됨
    → Tags stored on the observation
  3. Recall later
    A month later: 'We've got another deadlock in billing — pull any prior notes.'✓ 복사됨
    → The April note surfaces first

결과: Lightweight knowledge base that grows by itself.

함정
  • Memory gets noisy as months pass — Use mem-search --prune on low-signal old sessions; Endless Mode (beta) handles this automatically
함께 쓰기: memory

Keep customer data and secrets out of memory captures

👤 Anyone working with sensitive data ⏱ ~15 min intermediate

언제 쓸까: You work on code that touches PII or secrets and can't let them land in a local vector store.

흐름
  1. Wrap sensitive blocks
    Write me the sample data with real test records wrapped in <private> tags so claude-mem doesn't capture the values.✓ 복사됨
    → Private blocks are in the transcript but not in the memory store
  2. Verify
    Open localhost:37777 and check today's stream. Confirm no records from the <private> block appear.✓ 복사됨
    → Private content absent
  3. Add repo-wide policy
    Update CLAUDE.md: 'Always wrap real customer data in <private>'.✓ 복사됨
    → CLAUDE.md updated; future sessions inherit

결과: Memory is useful without being a data-leak surface.

함정
  • Forgetting to tag sensitive content — Make it a pre-commit / hook convention; claude-mem can enforce prompts that remind on detection

조합

다른 MCP와 조합해 10배 효율

claude-mem-skill + filesystem

Memory recalls the file you edited, filesystem re-reads it

Pull from mem-search the last file we edited in the billing refactor; then read it and continue where we left off.✓ 복사됨
claude-mem-skill + serena

Memory supplies the intent; Serena supplies the current code state

Memory says we're renaming ChargeService → BillingService; use Serena to finish the rename.✓ 복사됨
claude-mem-skill + github

Cross-reference memory with real PR state

Memory says we opened a PR yesterday; use GitHub MCP to get its current status and review comments.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
mem-search (skill) query: str, limit?: int, since?: date Any time you'd ask Claude to 'remember' — full-text and semantic search over your history free (local SQLite + embedding model)
mem-compress (hook) session transcript Automatic — runs at session end; rarely invoked manually small Claude call per session
web viewer URL http://localhost:37777 Debug what's being captured; check privacy filters free

비용 및 제한

운영 비용

API 쿼터
Local SQLite + Chroma vectors; embedding model bundled
호출당 토큰
Small — observations are already compressed
금액
Free (MIT)
Compression calls use your Claude API key; set a monthly budget in the claude-mem config if you chat a lot

보안

권한, 시크릿, 파급범위

자격 증명 저장: None for the tool itself; compression uses your existing Claude API key
데이터 외부 송신: Compression calls go to Anthropic (your account); nothing else leaves your machine
절대 부여 금지: Uploading the SQLite/Chroma store off-device without review — it contains transcripts

문제 해결

자주 발생하는 오류와 해결

Web viewer at localhost:37777 won't load

Check the hook is running: ps aux | grep claude-mem. Reinstall with npx claude-mem install if it's absent.

확인: curl -I http://localhost:37777
Recall returns nothing useful

First few sessions are cold; memory gets better after ~10 sessions as patterns emerge. Also check that hooks are actually firing (see viewer).

확인: Open viewer during a session; events should stream in real time
Compression calls are expensive

Lower compression depth in config or use Endless Mode (beta) which is cheaper per session

확인: Check Anthropic usage dashboard for attribution
<private> content still shows up

Tag must be on its own lines; inline <private>…</private> in the middle of a sentence isn't parsed. Use block form.

확인: Reproduce and inspect the stored observation in the viewer

대안

claude-mem 다른 것과 비교

대안언제 쓰나단점/장점
Memory MCPYou want explicit, user-controlled memory writes — not passive captureYou do the memory-saving yourself; less ambient, less magic
Serena memoryYour use case is code-focused and you'd rather have per-project notes than transcript compressionNo session-stream capture; more project-level
Just take notesYou prefer explicit, human-curated notesNo automation; discipline-dependent

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기