local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Supports recording information about Python usage, such as command preferences (python3 vs python) through the memory management system
Enables storing and retrieving context about TypeScript projects the user is working on through the memory system
mcp-서버-메모리
이는 클로드가 채팅 맥락을 파악하는 데 도움이 되는 메모리 텍스트 파일과 상호 작용하는 MCP 서버입니다.
각 줄은 기억입니다.
이러한 도구를 사용하면 Claude(및 기타 MCP 클라이언트)가 채팅 중에 메모리를 관리할 수 있습니다.
memory_add(memory: string)
- 메모리 추가memory_search(query: string)
- 일치하는 메모리를 반환합니다(정확한 부분 문자열 일치) - 나중에 glob/regex를 허용할 수 있습니다.memory_delete(query: string)
- 일치하는 메모리 삭제(부분 문자열 정확히 일치)memory_list()
- 모든 메모리를 반환합니다- FYI
memory_update
==memory_delete
+memory_add
예를 들어,
- 내 이름을 언급하면 => "웨스와 대화 중"
- 딸의 나이 언급 => "웨스의 딸은 8살입니다"
- 타입스크립트 프로젝트 작업 중이라고 하면 => "타입스크립트 프로젝트 작업 중"
- 그리고, 이게 중요한데, 클로드(조수/LLM)가 말하거나 하는 것에 따라 달라질 수 있어요...
- 특히, 도구 사용(예:
run_command
)의 경우 도구를 처음 사용하려고 할 때 실패가 발생(예:python
명령이 없음)한 다음 후속 도구 사용이 성공(예:python3
대신python
사용)하는 경우 Claude는 "python3을 사용하면 python이 없음"을 기록할 수 있습니다.
- 특히, 도구 사용(예:
- Claude에게 X에 대한 기억을 없애달라고 요청합니다 => memory_delete(query: X)
- 내 이름을 수정합니다 => memory_search("oldname") + memory_delete(각 일치 레코드 또는 공통 하위 집합 쿼리) + memory_add("newname")
그러면 새 채팅이 시작될 때 Claude는 자동으로 최근 기억(일부 또는 전체)을 가져 오거나 기억(일부/더 보기/전체)을 요청할 수 있습니다. 그리고 이를 사용하여 응답/도구 등에 영향을 미칠 수 있습니다.
설계
간단한 메모리 텍스트 파일인 이유:
- ChatGPT의 메모리는 잘 작동하며 본질적으로 텍스트 파일입니다.
- 아마도 겉으로는 구조화되어 있을 테지만, 기억을 되짚어보면 텍스트 파일로 나타납니다.
mcp-server-commands
에 대한 비슷한 알림 기능을 테스트했을 때, (클로드가 해당 기능을 사용했을 때) 잘 작동했습니다.- 비정형 텍스트는 기본적으로 문자열 목록을 관리하기 위한 도구와 매개변수를 단순화합니다.
큐잉 메커니즘:
- 모델이 언제 메모리를 저장해야 하는지 알 수 있는 단서를 갖는 것도 중요합니다. 이 작업을 어떻게 하는 것이 가장 좋은지는 조금 더 명확하지 않지만...
- 학습: OpenAI는 모델이 언제 메모리를 저장해야 하는지 알 수 있도록 학습을 일부 수행합니다. 마치 모델이 도구 사용을 위해 학습되는 것처럼 말입니다.
- 프롬프트: 시스템 프롬프트 구성 요소에는 메모리 저장을 트리거하는 알림이 포함되어 있을 가능성이 높습니다.
- 도구만: 제가 Claude를 테스트할 때, 도구 사양만 사용하고 도구 응답에 힌트/제안을 추가했는데도 Claude가 기억을 저장하도록 만들 수 없었습니다. 따라서 이것만으로는 충분하지 않습니다. Claude가 도구를 사용하는 훈련은 프롬프트/요청을 수행할 때만 사용하는 것으로 보이므로, 프롬프트 구성 요소에 알림/단서를 추가하는 것이 효과적일 것이라고 생각합니다.
TODO/아이디어
이것들이 시간을 들일 만한 가치가 있는지는 잘 모르겠지만, 그냥 미래를 위해 아이디어를 나열해 봤습니다. 어쩌면 제가 이것들을 하지 않도록 막고 싶어서 그럴 수도 있겠네요 :)
- 최근성 요인: 최근성을 기준으로 기억을 재정렬하는 방법?
- 모호한 메모리 쿼리의 경우 순서가 중요해집니다(예: 타입스크립트 프로젝트와 파이썬 프로젝트를 진행한 후 새 프로젝트를 시작할지 묻는 경우 가장 최근에 사용한 프로젝트를 제안해 줄 수 있을까요?)
- 오래된 기억이 사라지는가?
This server cannot be installed
클로드와 다른 LLM이 텍스트 파일 저장소를 통해 대화 전반의 지속적인 메모리를 관리할 수 있는 MCP 서버로, 메모리 항목을 추가, 검색, 삭제 및 나열하는 명령을 사용할 수 있습니다.