/ 디렉터리 / 플레이그라운드 / Memory
● 공식 modelcontextprotocol ⚡ 바로 사용

Memory

제작: modelcontextprotocol · modelcontextprotocol/servers

Claude가 여러 대화에서 읽고 쓰는 지속적인 지식 그래프로, 프로젝트, 팀, 선호도를 기억합니다.

Memory MCP의 표준 구현입니다. 엔티티(사람, 프로젝트, 사물), 관찰(사실), 타입이 지정된 관계를 로컬 JSON 지식 그래프로 저장합니다. Claude가 컨텍스트 윈도우에 의존하지 않고 특정 사실('우리 프로덕션 DB는 api-prod-01로 명명됨', 'Jamie는 PR 설명을 불릿 형식으로 선호함')을 기억하게 합니다.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

memory.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "memory",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "memory": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-memory"
        ]
      }
    }
  }
}

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

claude mcp add memory -- npx -y @modelcontextprotocol/server-memory

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

사용 사례

실전 활용법: Memory

Claude에게 매일 아침 프로젝트를 다시 설명하는 것을 멈추는 방법

👤 같은 코드베이스에 대해 Claude와 매일 대화하는 개별 개발자와 파워 사용자 ⏱ ~15 min beginner

언제 쓸까: 매 세션 시작 시 같은 배경 문단을 계속 붙여넣습니다: '우리 스택은 X, 프로덕션 DB는 Y, Z는 사용하지 않습니다'

사전 조건
  • 지속적인 파일 경로가 있는 Memory MCP 실행MEMORY_FILE_PATH=/Users/you/.claude/memory.json을 설정하여 재시작 후에도 그래프가 유지되도록 합니다
흐름
  1. 핵심 사실로 그래프를 초기화합니다
    엔티티를 생성합니다: 내 회사(Acme), 우리의 주 저장소(acme-corp/api), 프로덕션 데이터베이스(api-prod-01). 관찰을 추가합니다: 'Postgres 16 사용', 'AWS RDS us-east-1에서 호스팅', '백업 윈도우는 03:00 UTC'. 관계로 연결합니다.✓ 복사됨
    → 엔티티와 관계가 생성되고 read_graph를 통해 볼 수 있습니다
  2. 진행하면서 선호도 관찰을 추가합니다
    기억하십시오: 이 저장소에 대한 커밋 메시지를 작성해달라고 요청할 때, 명령형 분위기를 사용하고 접두사 태그 없이 사용합니다. 이를 'acme-corp/api' 엔티티의 관찰로 저장합니다.✓ 복사됨
    → 엔티티를 다시 만들지 않고 관찰이 추가됩니다
  3. 새로운 세션에서 회상을 테스트합니다
    api-prod-01에 대해 무엇을 알고 있습니까?✓ 복사됨
    → Claude가 그래프를 쿼리하고 일반적인 답변이 아닌 사실을 제시합니다

결과: 매 채팅마다 더 똑똑해지는 개인 지식 그래프 — Claude를 더 많이 사용할수록, 보일러플레이트를 덜 입력합니다.

함정
  • Claude가 메모리를 자동으로 사용하지 않습니다. 확인하는 것을 잊습니다 — 시스템/프로젝트 프롬프트에 '이 프로젝트에 대한 각 작업을 시작할 때 항상 메모리 그래프를 참조하세요'를 추가합니다
  • 그래프가 복잡해집니다 — 이름 변형이 약간 다른 중복 엔티티 — 명명 규칙(kebab-case)을 선택하고, 정기적으로 Claude에게 read_graph 실행 및 중복 제거를 요청합니다
함께 쓰기: filesystem · github

동료의 선호도에 대한 가벼운 CRM을 구축합니다

👤 많은 이해관계자들과 협력하는 IC와 리드 ⏱ ~10 min beginner

언제 쓸까: Slack과 이메일 중 누가 선호하는지, 불릿 vs 산문을 원하는 누가, 어떤 프로젝트에 누가 있는지 계속 잊어버립니다.

흐름
  1. 첫 상호작용에서 사람 엔티티를 생성합니다
    Person 엔티티 'jamie-chen'을 생성합니다. 관찰: '결제 팀의 PM', 'Loom을 문서보다 선호함', '리뷰는 PT 화요일/목요일 오전에 진행됨'.✓ 복사됨
    → open_nodes를 통해 엔티티가 표시됩니다
  2. 관계로 사람을 프로젝트에 연결합니다
    관계 추가: jamie-chen --owns--> checkout-redesign-2026. 그리고: alex-kim --reviews--> checkout-redesign-2026.✓ 복사됨
    → 관계가 그래프에 나타납니다
  3. 이들에게 뭔가를 쓰기 전에 쿼리합니다
    Jamie를 위해 결제 재설계에 대한 업데이트를 작성하려고 합니다. 그들의 커뮤니케이션 선호도와 프로젝트에 대해 무엇을 알고 있습니까?✓ 복사됨
    → 저장된 선호도를 반환하고 초안 톤에 반영합니다

결과: '그게 누였던 PM이지?'를 더 이상 묻지 않고 비동기 업데이트가 처음부터 올바른 톤을 맞춥니다.

함정
  • 실제 동료에 대한 민감한/개인 정보를 저장하는 것이 이상하고 유출될 수 있습니다 — 업무 선호도 관찰만 저장합니다. 절대 개인 정보를 저장하지 마세요. 파일을 민감한 것으로 취급합니다 — 백업할 위치와 동기화됩니다
함께 쓰기: linear · github

여러 세션에 걸쳐 연구 기록을 유지합니다

👤 몇 주에 걸쳐 주제를 조사하는 연구자, 작가, 누구든 ⏱ ~20 min intermediate

언제 쓸까: 여러 세션과 출처에 걸쳐 있는 주제(시장 조사, 문헌 검토, 조사)를 조사하고 있습니다.

흐름
  1. 각 발견을 주제 엔티티의 관찰로 캡처합니다
    '엔터프라이즈의 MCP 채택'을 조사하고 있습니다. 이를 엔티티로 생성합니다. 이제 이 발견을 관찰로 추가합니다: 'Anthropic은 Claude Code 고객의 60%가 3개 이상의 MCP를 사용한다고 보고합니다 (출처: 블로그 2026-03-12)'.✓ 복사됨
    → 주제 엔티티가 인용된 관찰과 함께 증분적으로 증가합니다
  2. 관련 주제를 연결합니다
    엔티티 'MCP 보안 우려'를 생성합니다. 이를 'MCP adoption in enterprises'와 관계 'blocks-adoption-when-unaddressed'로 연결합니다.✓ 복사됨
    → 그래프는 의미론적 연결을 표시합니다
  3. 언제든지 종합을 요청합니다
    'MCP adoption in enterprises'와 연결된 모든 관찰을 기반으로 인용과 함께 1페이지 요약을 작성합니다.✓ 복사됨
    → 청구당 출처가 있는 종합, 위조된 것 없음

결과: 컨텍스트 윈도우 체조에 의존하지 않는 인용 가능한 증분 연구 자산입니다.

함정
  • 출처 없이 저장된 관찰은 나중에 모델 변조와 구별할 수 없습니다 — 모든 관찰이 텍스트에 출처를 포함하도록 요구합니다('source: X, date: Y'). 출처 없는 것은 거부합니다
함께 쓰기: firecrawl · exa-search · fetch

조합

다른 MCP와 조합해 10배 효율

memory + filesystem

긴 형식의 연구 문서를 로드하고, 사실을 추출하고, 나중에 종합하기 위해 메모리에 저장합니다

/research/ 아래의 모든 .md 파일을 읽습니다. 각 주요 주장에 대해 메모리의 관련 주제 엔티티에 관찰로 추가합니다. 출처로 파일 이름을 포함합니다.✓ 복사됨
memory + github

저장소별 규칙을 기억하여 향후 PR 리뷰가 재설명 없이 적용되도록 합니다

acme/api의 마지막 10개 병합된 PR에서 톤, 길이, 제목 규칙을 추출합니다. 'acme/api' 엔티티의 관찰로 저장합니다.✓ 복사됨

긴 추론 세션이 스크래치패드 결과를 채팅 간에 유지하도록 합니다

sequential-thinking 세션을 실행하여 마이그레이션을 계획합니다. 마지막에 결론을 'db-migration-q2' 엔티티의 관찰로 작성합니다.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
create_entities entities: [{name, entityType, observations[]}] 새로운 엔티티(사람, 프로젝트, 시스템, 개념) 소개 무료
create_relations relations: [{from, to, relationType}] 두 개의 기존 엔티티를 타입이 지정된 에지로 연결합니다 무료
add_observations observations: [{entityName, contents[]}] 기존 엔티티에 사실을 추가합니다(가장 일반적인 작업) 무료
delete_entities entityNames: str[] 더 이상 사용되지 않는 엔티티 제거(관계도 제거합니다) 무료
delete_observations deletions: [{entityName, observations[]}] 잘못된 것으로 판명된 특정 사실을 제거합니다 무료
delete_relations relations: [...] 엔티티를 삭제하지 않고 에지를 제거합니다 무료
read_graph none 전체 그래프를 덤프합니다 — 증가하면 자주 사용하지 않습니다 무료
search_nodes query: str 이름/타입/관찰 전체에서 키워드로 엔티티를 찾습니다 무료
open_nodes names: str[] 정확한 이름으로 특정 엔티티를 가져옵니다 무료

비용 및 제한

운영 비용

API 쿼터
무제한 — 로컬 JSON
호출당 토큰
작음 — 그래프 작업은 기본적으로 변경된 노드만 반환합니다
금액
무료
50개 이상의 엔티티가 있으면 read_graph 대신 search_nodesopen_nodes를 사용하세요. 그렇지 않으면 매 턴마다 전체 그래프를 로드하는 비용을 지불하게 됩니다.

보안

권한, 시크릿, 파급범위

자격 증명 저장: 자격 증명 없음. 그래프 파일은 MEMORY_FILE_PATH가 가리키는 파일입니다.
데이터 외부 송신: 서버에서 없음. 관찰은 Claude가 읽을 때 컨텍스트로 LLM 제공자에게 전송됩니다.

문제 해결

자주 발생하는 오류와 해결

메모리가 재시작 간에 지속되지 않습니다

환경 변수 MEMORY_FILE_PATH/Users/you/.claude/memory.json과 같은 절대 경로로 설정합니다. 없으면 서버가 임시 경로를 사용합니다.

확인: Check your MCP client config for env vars; after restart, call `read_graph` and verify old entities return
Claude가 자신의 메모리를 스스로 참조하지 않습니다

서버는 도구를 노출합니다. 모델은 여전히 프롬프트가 필요합니다. '<project>에 대한 질문에 답하기 전에 관련 컨텍스트에 대해 search_nodes를 호출하세요.'와 같은 프로젝트 수준 지침을 추가합니다.

'Jamie'와 'jamie-chen'과 같은 중복 엔티티

명명 규칙(kebab-case 또는 full-name)을 채택합니다. 정기적으로 add_observations 사실 병합 후 중복에 대해 read_graph를 실행하고 delete_entities를 실행합니다.

'entity not found'로 관계 실패

두 끝점 엔티티가 먼저 존재해야 합니다. create_relations 전에 create_entities로 생성합니다.

대안

Memory 다른 것과 비교

대안언제 쓰나단점/장점
Qdrant MCP수천 개의 메모에 대한 의미 검색이 필요하고, 손으로 큐레이션한 그래프가 아닙니다Qdrant 실행 필요. 모호한 회상에 좋지만 명시적 구조화된 사실에는 좋지 않습니다
Notion MCP당신의 '메모리'는 실제로 공유된 팀 지식 기반입니다네트워크 바운드, 느림, API 키 필요 — 하지만 인간도 읽고 편집할 수 있습니다
Neo4j MCP복잡한 쿼리로 심각한 지식 그래프를 구축하고 있습니다더 무거움 — 데이터베이스 필요; 개인 메모리에는 과함

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

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