claude-memory
claude-memory
Claude Code용 메모리 + 프로젝트 추적. MCP 서버 하나로.
모든 과거 Claude Code 대화 기록에 대한 의미론적 검색 — 새 세션이 이전 세션을 기억, 컨텍스트 창을 훨씬 넘어섬
영구 메모(
remember) — 프로젝트별 또는 전역구조화된 추적: 프로젝트 → 마일스톤 → 에픽 → 티켓 → 할 일, 로드맵으로 렌더링
추적 항목이 동일한 벡터 공간에 포함 — 티켓이 의미론적 검색에 표시됨
프로젝트별 시스템 프롬프트, DB에 저장, 세션 시작 시 주입 가능
스택: Voyage AI 임베딩 + Qdrant 벡터 DB + SQLite + FastMCP. 모두 무료: Voyage 무료 티어는 개인 사용에 충분, Qdrant Cloud 무료 티어는 100만 벡터 보관(또는 로컬 docker 실행). 운영 비용 $0.
설정
키 두 개:
Voyage → https://dashboard.voyageai.com
Qdrant → https://cloud.qdrant.io에서 무료 클러스터, 또는
docker run -p 6333:6333 qdrant/qdrant
git clone https://github.com/mathis-sperlich/claude-memory
cd claude-memory
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
cp .env.example .env
# fill VOYAGE_API_KEY, QDRANT_URL, QDRANT_API_KEYingest.py의 SCAN_PROJECTS를 대화 기록 디렉터리로 지정하세요 (Claude Code는 ~/.claude/projects/<encoded-project-dir>/*.jsonl에 기록).
수집
.venv/bin/python ingest.py --dry-run # sanity-check chunking
.venv/bin/python ingest.py # embed + upsert멱등적 — 재실행 시 새 청크만 임베딩. cron 작업으로 안전. 시간별 launchd 템플릿: launchd/com.mathis.claude-memory.plist (경로 수정 후 ~/Library/LaunchAgents/로 cp, launchctl load).
CLI에서 검색 테스트:
.venv/bin/python query.py "how did the auth token refresh bug get fixed?"결과가 나쁜가요? ingest.py의 MAX_CHUNK_CHARS를 낮추거나, .env에서 더 큰 EMBED_MODEL을 시도하고 --reset으로 재수집하세요.
Claude Code에 연결
~/.claude/settings.json:
{
"mcpServers": {
"claude-memory": {
"command": "/path/to/claude-memory/.venv/bin/python",
"args": ["/path/to/claude-memory/mcp_server.py"]
}
}
}Claude Code 재시작. 완료 — 이제 Claude는 query_history, remember, 추적 도구, 시스템 프롬프트 도구를 보유.
도구
메모리
도구 | 용도 |
| 모든 것에 대한 의미론적 검색. |
| 최근에 무엇을 작업했는지 |
| 영구 메모 저장. |
| 메모 관리 |
추적
계층: 프로젝트 → 마일스톤(선택) → 에픽 → 티켓 → 할 일.
도구 | 용도 |
| 계층의 최상위 |
| 함께 출시되는 것 |
| 목표를 향한 티켓 그룹 |
| 작업 단위 |
| 작은 단계 |
| 필터링된 목록 |
| 항목 하나 + 하위 항목 |
| 부분 업데이트, 적용되지 않는 필드는 오류 |
| 삭제. 프로젝트는 먼저 비워야 함 |
| Markdown 로드맵: 마일스톤 → 에픽 → 티켓 + 진행률 |
| 모든 저장소의 모든 프로젝트 이름 |
status: open / in_progress / done. priority: P0–P3.
시스템 프롬프트
set_system_prompt(content, project=) / get_system_prompt(project=) / list_system_prompts() / delete_system_prompt(project=). 전역 + 프로젝트별 레이어, 읽을 때 합성. tracking.db에 저장. 설정되지 않으면 docs/usage.md로 대체.
훅 (선택, 결정적)
MCP 도구는 모델이 결정할 때 실행. 훅은 항상 실행. hooks/session_start.py는 매 세션 시작 시 현재 프로젝트의 열린 티켓 + 시스템 프롬프트를 주입:
{
"hooks": {
"SessionStart": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "/path/to/claude-memory/.venv/bin/python /path/to/claude-memory/hooks/session_start.py"
}]
}]
}
}원격 접근 (선택)
기본 = 로컬 stdio, 네트워크 없음. claude.ai나 다른 머신에서 같은 메모리를 원하나요? HTTP 전송 + Cloudflare 터널 + 로그인 허용 목록이 있는 GitHub OAuth:
.venv/bin/python mcp_server.py --transport http --port 8765launchd 서비스 + 자가 복구 워치독 포함 전체 가이드: CLOUD_SETUP.md.
참고
개인정보: Voyage는 임베딩 시 텍스트를 봄 (TOS에 따라 고객 데이터 학습 없음), Qdrant Cloud는 벡터 + 페이로드 저장. 둘 다 우려된다면 → 로컬 Qdrant + 로컬 임베더, 동일한 코드.
중단된 임베딩 요청은
VOYAGE_TIMEOUT/VOYAGE_MAX_RETRIES환경 변수로 제한 (기본 20초 / 2).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The project brain for AI coding agents — memory, decisions, sprints, knowledge base via MCP.
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mathis-sperlich/claude-memory'
If you have feedback or need assistance with the MCP directory API, please join our Discord server