콘텐츠로 이동

개요

memtomem-stm은 AI 에이전트와 기존 MCP 서버 사이에 놓이는 단기 기억(STM) 프록시입니다(프록시는 둘 사이에서 오가는 내용을 다듬어 중계하는 계층입니다). 에이전트 코드를 바꾸지 않고도 도구 호출에 응답 압축, 관련 기억 자동 주입, 노출 도구 정리를 더해, 보통 토큰 사용량을 20~80% 줄입니다.

  • MCP 도구 응답이 너무 커서 컨텍스트가 금방 찰 때 — filesystem이나 GitHub MCP가 8000 토큰짜리 응답을 반환한다면, STM이 콘텐츠 유형에 맞는 전략으로 이를 2000 토큰대로 축소합니다.
  • 에이전트에 명시 요청 없이 과거 기억을 자동으로 붙여주고 싶을 때 — LTM 단독 구성에서는 에이전트가 mem_search를 호출해야 기억을 받지만, STM이 앞단에 있으면 모든 도구 응답에 관련 기억이 자동 주입됩니다.
  • 에이전트에 노출되는 도구 목록을 정리하고 싶을 때 — STM이 응답하지 않는 서버, 자격 증명이 담긴 설명, 이름이 겹치는 도구를 에이전트에 보여 주는 목록에서 걸러 냅니다.
  • 프록시를 부담 없이 먼저 시험해 보고 싶을 때 — STM이 기존 MCP 서버를 가져와(import) 앞단에서 중계하며, 이 과정은 되돌릴 수 있습니다. mms eject로 가져온 서버를 원래 호스트 설정으로 복원하면 STM 도입 이전 상태로 돌아갑니다.
Terminal window
uv tool install memtomem-stm # 1. 설치
mms init --mcp claude # 2. 업스트림 + Claude Code 등록 한 번에
mms health # 3. 연결 상태 확인

mms init은 업스트림 서버를 묻고 이어서 memtomem-stm을 MCP 클라이언트에 등록합니다 (--mcp claude, --mcp json, --mcp skip 중 선택). 전체 설정 절차는 빠른 시작 참조.

  • 능동적 서피싱 — 에이전트가 따로 요청하지 않아도 관련 기억을 자동으로 찾아 붙여 주는 기능입니다. 도구 호출마다 5단계 관련성 검사(맥락 추출 → 질의 적합성 → LTM 검색 → 점수 기준 → 중복 제거)를 통과한 기억만 응답에 넣습니다. 서피싱은 업스트림(연결한 외부 MCP 서버) 단위로 켜고 끌 수 있어(mms surfacing <server> on|off), 특정 서버의 응답만 대상에서 뺄 수 있습니다. 상세는 능동적 서피싱 참조.
  • 응답 압축 — 10가지 전략을 제공하며, 콘텐츠 유형(JSON, 마크다운, API 문서, 자유 텍스트 등)에 따라 자동 선택되고, 쿼리 인식 랭킹과 더 안전한 JSON 출력 계층을 사용합니다. 상세는 압축 전략 참조.
  • 노출 도구 정리 — STM은 업스트림 도구를 그대로 다 넘기지 않고, 에이전트에 보여 줄 도구 목록을 다듬습니다. 응답하지 않는 서버, 자격 증명이 드러나는 설명, 이름이 겹치거나 길이 제한을 넘는 도구는 에이전트에 보이지 않습니다. 노출 정책은 exposure.profile(strict 기본 / review / explore)로 조정하며, stm_proxy_health가 발견한 도구 수와 실제로 보여 준 도구 수(discovered N / advertised M)를 알려 줍니다.
  • 되돌릴 수 있는 가져오기 — 가져온(import) 업스트림은 출처를 기록하므로, mms list의 ORIGIN 열에서 직접 등록한 서버와 가져온 서버를 구분할 수 있습니다(*는 정리된 호스트 원본을 뜻합니다). mms eject는 복원이 검증된 뒤에야 STM 항목을 제거합니다.
AI Agent
↕ MCP protocol
memtomem-stm (STM Proxy)
├── ↕ Surfacing queries → memtomem (LTM)
└── ↕ Proxied calls → Upstream MCP Servers
(filesystem, GitHub, …)

STM은 모든 MCP 도구 호출을 다음 파이프라인으로 처리합니다:

  1. CLEAN — 요청 정규화 (노이즈 제거, 형식 통일)
  2. COMPRESS — 응답 크기 축소 (10가지 전략 중 자동 선택)
  3. SURFACE — LTM에서 관련 기억 조회·주입 (5단계 관련성 검사)

STM은 런타임에 LTM으로 기억을 다시 기록하지 않습니다. 서피싱은 LTM에서 읽기만 하며, INDEX(자동 축적) 단계는 단독 실행하는 mms 서버에서는 설계상 동작하지 않습니다.

STM과 LTM은 독립적인 패키지로, Python 종속성 없이 MCP 프로토콜로만 통신합니다. 각각 독립적으로 배포·업그레이드할 수 있습니다.

LTM (memtomem)STM (memtomem-stm)
역할영구 저장 및 검색실시간 프록시 및 압축
필수 여부예 (핵심)선택 사항
통신 방식직접 MCP 서버MCP 프록시 → LTM 쿼리
PyPImemtomem-stm
최신 릴리스0.1.38
CLImms
라이선스Apache 2.0
GitHubmemtomem/memtomem-stm