MCP 명세의 Tools 절은 도구가 model-controlled, 곧 언어 모델이 맥락을 보고 알아서 찾아 부르는 것이라고 적어 뒀고, 서버가 할 수 있는 일은 tools/list 로 목록을 내주고 목록이 바뀌면 알림을 보내는 데까지예요. 호출을 강제하는 장치는 명세에 없고, 오히려 사람이 호출을 거부할 수 있어야 한다(SHOULD)는 요구만 들어 있어요. 그래서 메모리를 MCP 서버로 붙이는 Supermemory(MIT, 별 29.7k, mcp.supermemory.ai/mcp)나 Mem0(아파치 2.0, 별 65.2k) 같은 도구는 저장과 검색이 제대로 되더라도 모델이 그 도구를 건너뛰면 손쓸 수가 없어요.
용어 풀이
- MCP
- Model Context Protocol. 에이전트가 외부 도구·데이터에 붙는 표준 규약
- CLAUDE.md
- 클로드 코드가 세션 시작마다 읽어 들이는 프로젝트·개인 지침 파일
- 훅(hook)
- 세션 시작·도구 호출 앞뒤 같은 정해진 시점에 자동으로 실행되는 명령
운영자 인사이트
항상 읽혀야 하는 것은 모델이 부를지 정하는 메모리 도구 대신 무조건 로드되는 자리에 두세요. 클로드 코드 문서는 CLAUDE.md 와 자동 메모리가 매 대화 시작에 로드된다고 적었고, 훅 문서는 SessionStart·UserPromptSubmit 훅의 표준 출력이 모델의 선택 없이 컨텍스트로 들어간다고 적었어요. 다만 같은 문서가 CLAUDE.md 는 강제 설정이 아니라 컨텍스트라고도 못 박아서, 보장되는 것은 읽히는 것까지이고 지키는 것까지는 아니에요.
여러 관점으로 보기
- 명세 원문 도구는 model-controlled 로 설계됐고, 서버가 호출 시점을 강제하는 수단은 명세에 없어요. Model Context Protocol
- 대안 1: 항상 로드되는 파일 클로드 코드 문서는 CLAUDE.md 와 자동 메모리가 매 대화 시작에 로드되지만 강제 설정이 아니라 컨텍스트라고 적었어요. Claude Code Docs
- 대안 2: 훅으로 밀어 넣기 SessionStart·UserPromptSubmit 훅의 표준 출력은 모델이 고르지 않아도 컨텍스트로 들어가고, PreToolUse 는 도구 호출 자체를 막을 수 있어요. Claude Code Docs
- 도구 실체 1 Supermemory 는 MIT 라이선스에 별 29.7k 이고 mcp.supermemory.ai/mcp 로 MCP 서버를 열어 두면서 자체 설치도 지원해요. GitHub
- 도구 실체 2 Mem0 는 아파치 2.0 에 별 65.2k, 열린 이슈 308건이고 라이브러리·자체 설치·클라우드 세 갈래로 나뉘어요. GitHub