MCP Server Memory File

by g0t4

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/아이디어

이것들이 시간을 들일 만한 가치가 있는지는 잘 모르겠지만, 그냥 미래를 위해 아이디어를 나열해 봤습니다. 어쩌면 제가 이것들을 하지 않도록 막고 싶어서 그럴 수도 있겠네요 :)

  • 최근성 요인: 최근성을 기준으로 기억을 재정렬하는 방법?
    • 모호한 메모리 쿼리의 경우 순서가 중요해집니다(예: 타입스크립트 프로젝트와 파이썬 프로젝트를 진행한 후 새 프로젝트를 시작할지 묻는 경우 가장 최근에 사용한 프로젝트를 제안해 줄 수 있을까요?)
  • 오래된 기억이 사라지는가?
-
security - not tested
F
license - not found
-
quality - not tested

클로드와 다른 LLM이 텍스트 파일 저장소를 통해 대화 전반의 지속적인 메모리를 관리할 수 있는 MCP 서버로, 메모리 항목을 추가, 검색, 삭제 및 나열하는 명령을 사용할 수 있습니다.

  1. Design
    1. TODOs/Ideas
      ID: lpf30rhggo