memtomem (LTM)과 memtomem-stm (STM)은 모두 pydantic-settings 기반으로 env_prefix + env_nested_delimiter="__"를 사용합니다. 중첩 설정에는 이중 언더스코어 를 사용합니다 — MEMTOMEM_EMBEDDING__PROVIDER(가능), MEMTOMEM_EMBEDDING_PROVIDER(불가).
우선순위(높은 순): CLI 플래그 → 환경 변수 → 설정 파일 → 내장 기본값.
이 공개 레퍼런스는 memtomem 0.3.10 및 memtomem-stm 0.1.38 설정 표면을 기준으로 합니다.
변수 설명 기본값 MEMTOMEM_STORAGE__BACKEND스토리지 백엔드 sqliteMEMTOMEM_STORAGE__SQLITE_PATHSQLite 데이터베이스 파일 경로 ~/.memtomem/memtomem.dbMEMTOMEM_STORAGE__COLLECTION_NAME논리 컬렉션 이름 memories
변수 설명 기본값 MEMTOMEM_EMBEDDING__PROVIDERnone / onnx / ollama / openainone (mm init 실행 전까지 키워드 검색만 사용)MEMTOMEM_EMBEDDING__MODEL선택된 프로바이더의 모델명 ""MEMTOMEM_EMBEDDING__DIMENSION벡터 차원 수 (모델과 일치해야 함) 프로바이더별 상이 MEMTOMEM_EMBEDDING__BASE_URLOllama / OpenAI 호환 엔드포인트 — MEMTOMEM_EMBEDDING__API_KEY유료 프로바이더용 API 키 — MEMTOMEM_EMBEDDING__BATCH_SIZE임베딩 배치당 텍스트 수 64MEMTOMEM_EMBEDDING__MAX_CONCURRENT_BATCHES병렬 임베딩 배치 상한 4MEMTOMEM_EMBEDDING__THREADSONNX Runtime 스레드 상한 (0 = ORT 기본값) 4MEMTOMEM_EMBEDDING__PROGRESS_THRESHOLD한 파일이 이 값보다 많은 청크를 만들 때만 청크별 진행 이벤트를 보냄. 0은 항상 보냄 32
변수 설명 기본값 MEMTOMEM_INDEXING__MEMORY_DIRSmm server 파일 워처가 반응형으로 재인덱싱하는 디렉터리 (JSON 리스트). 기존 파일은 자동 스캔되지 않으므로 mm index <dir> 로 한 번 시드한 뒤 워처에 맡기세요. mm init에서 AI 에이전트 기억 등록을 선택하면 경로가 채워집니다.["~/.memtomem/memories"] + 선택한 provider 폴더MEMTOMEM_INDEXING__PROJECT_MEMORY_DIRS.memtomem/memories 또는 .memtomem/memories.local 아래의 프로젝트 티어 기억 루트[]MEMTOMEM_INDEXING__SUPPORTED_EXTENSIONS인덱싱 대상 파일 확장자 (JSON 리스트) [".md", ".json", ".yaml", ".yml", ".toml", ".py", ".js", ".ts", ".tsx", ".jsx"]MEMTOMEM_INDEXING__MAX_CHUNK_TOKENS청크당 최대 토큰 수 512MEMTOMEM_INDEXING__MIN_CHUNK_TOKENS짧은 청크 병합 임계값 128MEMTOMEM_INDEXING__AUTO_DISCOVERtrue인 경우, mm init이 AI 에이전트 기억 디렉터리를 memory_dirs에 등록할지 질의합니다. false 설정 시 프롬프트 비활성화.trueMEMTOMEM_INDEXING__EXCLUDE_PATTERNS내장 자격 증명 denylist(oauth_creds.json, credentials*, id_rsa*, *.pem, *.key, .ssh/** 등) 위에 추가되는 .gitignore 구문 패턴 (JSON 리스트). 사용자 !negation으로 내장 패턴을 해제할 수 없음. []MEMTOMEM_INDEXING__TARGET_CHUNK_TOKENS짧은 형제 섹션을 결합할 때의 목표 토큰 수. 0 설정 시 결합 단계 비활성화. 384MEMTOMEM_INDEXING__CHUNK_OVERLAP_TOKENS인접 청크 간 토큰 오버랩 0MEMTOMEM_INDEXING__STRUCTURED_CHUNK_MODEJSON/YAML/TOML 청킹 모드: original 또는 recursive originalMEMTOMEM_INDEXING__PARAGRAPH_SPLIT_THRESHOLD긴 산문을 문단 단위로 나누는 토큰 임계값 800MEMTOMEM_INDEXING__STARTUP_BACKFILL서버 시작 시 memory_dirs를 한 번 스캔해 서버가 꺼져 있던 동안 추가된 파일을 반영 falseMEMTOMEM_INDEXING__AUTO_SUMMARIZELLM 설정 시 소스별 AI 요약 생성 falseMEMTOMEM_INDEXING__SUMMARY_LANGUAGEAI 소스 요약 출력 언어 enMEMTOMEM_INDEXING__SUMMARY_MAX_INPUT_CHARS요약 LLM에 전달하는 소스 문자 상한 3000MEMTOMEM_INDEXING__SUMMARY_MAX_TOKENS요약 출력 토큰 상한 256
경로 glob → 네임스페이스 매핑 규칙. 인덱싱 시점에 네임스페이스를 자동 할당하므로, mem_index 호출마다 namespace=를 지정할 필요가 없습니다.
변수 설명 기본값 MEMTOMEM_NAMESPACE__RULES{path_glob, namespace} 객체로 구성된 JSON 리스트. pathspec.GitIgnoreSpec 패턴, 대소문자 구분 없음. {parent}와 {ancestor:N} 플레이스홀더는 일치한 파일 경로에서 치환됨. 해석 순서: 명시적 namespace= 인자 → 규칙(최초 매칭) → enable_auto_ns → default_namespace.[]MEMTOMEM_NAMESPACE__DEFAULT_NAMESPACE새 청크의 기본 네임스페이스 defaultMEMTOMEM_NAMESPACE__ENABLE_AUTO_NS명시 네임스페이스나 규칙이 없을 때 파일의 직계 부모 폴더명으로 네임스페이스 유도 false
예시 (config.d/namespace.json, APPEND 병합):
{ "namespace" : { "rules" : [
{ "path_glob" : " docs/** " , "namespace" : " docs " },
{ "path_glob" : " projects/{parent}/** " , "namespace" : " proj/{parent} " }
Cross-encoder 리랭킹은 기본적으로 로컬에서 동작하며, 외부 API 호출이 필요하지 않습니다.
변수 설명 기본값 MEMTOMEM_RERANK__ENABLED하이브리드 검색 결과 리랭킹 활성화 falseMEMTOMEM_RERANK__PROVIDERfastembed (로컬 ONNX) / cohere (외부 API)fastembedMEMTOMEM_RERANK__MODEL모델명. 비영어 콘텐츠에는 jinaai/jina-reranker-v2-base-multilingual 권장. Xenova/ms-marco-MiniLM-L-6-v2MEMTOMEM_RERANK__API_KEYprovider=cohere일 때만 필요— MEMTOMEM_RERANK__OVERSAMPLEresponse_top_k 대비 풀 배수. 풀 크기 = max(min_pool, min(max_pool, int(oversample * response_top_k))).2.0MEMTOMEM_RERANK__MIN_POOL하한선 — 리랭커가 받는 후보 수의 최솟값 20MEMTOMEM_RERANK__MAX_POOL상한선 — 큰 top_k에서 비용 폭주 방지 200MEMTOMEM_RERANK__TOP_Kdeprecated legacy 풀 크기. 지정 시 min_pool로 마이그레이션 20
변수 설명 기본값 MEMTOMEM_SEARCH__DEFAULT_TOP_K기본 검색 결과 수 10MEMTOMEM_SEARCH__BM25_CANDIDATESBM25 후보군 크기 50MEMTOMEM_SEARCH__DENSE_CANDIDATES벡터 검색 후보군 크기 50MEMTOMEM_SEARCH__RRF_KReciprocal Rank Fusion 상수 60MEMTOMEM_SEARCH__ENABLE_BM25키워드 retriever 활성화 trueMEMTOMEM_SEARCH__ENABLE_DENSE의미 벡터 retriever 활성화 trueMEMTOMEM_SEARCH__RRF_WEIGHTS[BM25, Dense] RRF 가중치 (JSON 리스트, REPLACE 병합)[1.0, 1.0]MEMTOMEM_SEARCH__TOKENIZERFTS 토크나이저: unicode61 또는 kiwipiepy unicode61MEMTOMEM_SEARCH__CACHE_TTL검색 결과 캐시 TTL(초) 30.0MEMTOMEM_SEARCH__SYSTEM_NAMESPACE_PREFIXES기본 namespace=None 검색에서 숨길 네임스페이스 접두사 (JSON 리스트, APPEND 병합) ["archive:", "agent-runtime:"]
반감기 기반 시간 감쇠 가중. 인덱싱된 지 오래된 청크의 검색 점수를 점진적으로 낮춥니다.
변수 설명 기본값 MEMTOMEM_DECAY__ENABLED시간 감쇠 가중 활성화 falseMEMTOMEM_DECAY__HALF_LIFE_DAYS반감기 (일). 이 기간이 지나면 기여도가 절반으로 30.0
Maximal Marginal Relevance 재순위. 상위 결과 간 중복을 줄이고 서로 다른 관점을 섞습니다.
변수 설명 기본값 MEMTOMEM_MMR__ENABLEDMMR 다양성 재순위 활성화 falseMEMTOMEM_MMR__LAMBDA_PARAM0.0–1.0. 0.0=다양성 최대, 1.0=관련성 최대 0.7
자주 조회된 청크를 상위로 밀어 올리는 빈도 기반 배수.
변수 설명 기본값 MEMTOMEM_ACCESS__ENABLED접근 빈도 기반 가중 활성화 falseMEMTOMEM_ACCESS__MAX_BOOST점수 배수 상한 (>= 1.0) 1.5
청크 메타데이터(태그 · 크기 · 위치 등)에서 파생된 중요도 점수를 검색 점수에 배수로 적용합니다.
변수 설명 기본값 MEMTOMEM_IMPORTANCE__ENABLED중요도 가중 활성화 falseMEMTOMEM_IMPORTANCE__MAX_BOOST점수 배수 상한 (>= 1.0) 1.5MEMTOMEM_IMPORTANCE__WEIGHTS중요도 피처 가중치 벡터 (JSON 리스트, REPLACE 병합) [0.3, 0.2, 0.3, 0.2]
원본 쿼리에 태그·헤딩·LLM 생성 용어를 추가해 재현율을 높입니다. strategy=llm 은 아래 LLM 섹션 설정을 사용합니다.
변수 설명 기본값 MEMTOMEM_QUERY_EXPANSION__ENABLED쿼리 확장 활성화 falseMEMTOMEM_QUERY_EXPANSION__MAX_TERMS추가 용어 최대 개수 3MEMTOMEM_QUERY_EXPANSION__STRATEGYtags / headings / both / llmtags
검색 히트 주변의 ±N 인접 청크를 함께 반환하는 small-to-big retrieval. 파편화된 맥락을 회복할 때 유용합니다.
변수 설명 기본값 MEMTOMEM_CONTEXT_WINDOW__ENABLED컨텍스트 윈도우 확장 활성화 falseMEMTOMEM_CONTEXT_WINDOW__WINDOW_SIZE히트당 ±N 인접 청크 (0–10) 2
query_expansion.strategy=llm, 통합 요약 등 LLM 기반 기능에서 공통으로 사용하는 백엔드 설정.
변수 설명 기본값 MEMTOMEM_LLM__ENABLEDLLM 기반 기능 활성화 falseMEMTOMEM_LLM__PROVIDERollama / openai / anthropic / 호환 엔드포인트ollamaMEMTOMEM_LLM__MODEL모델명. 빈 문자열이면 프로바이더별 기본값 ""MEMTOMEM_LLM__BASE_URL엔드포인트 URL http://localhost:11434MEMTOMEM_LLM__API_KEYAPI 키 (유료 프로바이더) — MEMTOMEM_LLM__MAX_TOKENS생성 토큰 상한 1024MEMTOMEM_LLM__TIMEOUT요청 타임아웃 (초) 60.0
변수 설명 기본값 MEMTOMEM_TOOL_MODEcore (mem_do 라우터 포함 총 9개) / standard (mem_do 포함 38개) / full (96개 현행 도구 + deprecated 별칭 1개)core
변수 설명 기본값 MEMTOMEM_WEB__MODEprod (정돈된 페이지만) / dev (Sessions · Namespaces · Health Report 등 메인테이너 페이지 추가). mm web --mode · mm web --dev가 실행 시 이 값을 덮어씁니다.prod
변수 설명 기본값 MEMTOMEM_POLICY__ENABLEDPolicyScheduler 실행 (auto_archive / auto_promote / auto_expire / auto_tag) falseMEMTOMEM_POLICY__SCHEDULER_INTERVAL_MINUTES스케줄러 주기 60.0MEMTOMEM_POLICY__MAX_ACTIONS_PER_RUN스케줄된 policy 실행당 누적 액션 상한 100MEMTOMEM_WEBHOOK__ENABLED기억 이벤트용 외부 웹훅 활성화 falseMEMTOMEM_WEBHOOK__URL웹훅 타깃 URL — MEMTOMEM_WEBHOOK__EVENTS전송 이벤트 유형 (JSON 리스트, APPEND 병합) ["add", "delete", "search"]MEMTOMEM_WEBHOOK__SECRETHMAC 서명용 시크릿 — MEMTOMEM_WEBHOOK__TIMEOUT_SECONDSHTTP 타임아웃 10.0
중복·유사 기억을 주기적으로 묶어 아카이브 요약으로 압축하는 백그라운드 잡.
변수 설명 기본값 MEMTOMEM_CONSOLIDATION_SCHEDULE__ENABLED스케줄 실행 활성화 falseMEMTOMEM_CONSOLIDATION_SCHEDULE__INTERVAL_HOURS실행 주기 (시간) 24.0MEMTOMEM_CONSOLIDATION_SCHEDULE__MIN_GROUP_SIZE통합 대상 최소 그룹 크기 3MEMTOMEM_CONSOLIDATION_SCHEDULE__MAX_GROUPS1회 실행당 처리 그룹 상한 10
주기적 헬스 체크, 고아 레코드 정리, 자동 유지보수를 수행하는 백그라운드 루프.
변수 설명 기본값 MEMTOMEM_HEALTH_WATCHDOG__ENABLED상태 모니터 실행 falseMEMTOMEM_HEALTH_WATCHDOG__HEARTBEAT_INTERVAL_SECONDS하트비트 주기 60.0MEMTOMEM_HEALTH_WATCHDOG__DIAGNOSTIC_INTERVAL_SECONDS진단 체크 주기 300.0MEMTOMEM_HEALTH_WATCHDOG__DEEP_INTERVAL_SECONDS딥 스캔 주기 3600.0MEMTOMEM_HEALTH_WATCHDOG__MAX_SNAPSHOTS보관 스냅샷 수 상한 1000MEMTOMEM_HEALTH_WATCHDOG__ORPHAN_CLEANUP_THRESHOLD고아 레코드 정리 임계치 10MEMTOMEM_HEALTH_WATCHDOG__AUTO_MAINTENANCE자동 유지보수 수행 true
변수 설명 기본값 MEMTOMEM_SCHEDULER__ENABLED등록된 유지보수 job의 cron dispatch 활성화 falseMEMTOMEM_SCHEDULER__MAX_CONCURRENT_JOBS동시에 실행할 scheduled job 상한 1MEMTOMEM_SCHEDULER__DEFAULT_TIMEZONE스케줄 타임존. Phase A는 utc만 적용 utcMEMTOMEM_SCHEDULER__RUNNER_TIMEOUT_SECONDSscheduled job 1회 실행 타임아웃 300.0
변수 설명 기본값 MEMTOMEM_SESSION_SUMMARY__AUTO충분한 청크가 추가된 상태에서 mem_session_end 호출 시 LLM 요약 자동 생성 trueMEMTOMEM_SESSION_SUMMARY__MIN_CHUNKS자동 요약 실행 최소 청크 수 5MEMTOMEM_SESSION_SUMMARY__MAX_SUMMARY_TOKENS요약 출력 토큰 상한 500MEMTOMEM_SESSION_SUMMARY__MAX_INPUT_CHARS조립된 입력이 이 크기를 넘으면 자동 요약 생략 60000MEMTOMEM_SESSION_SUMMARY__MAX_SUMMARY_LINKS요약 청크에서 원본 청크로 쓰는 링크 상한 50MEMTOMEM_SESSION_SUMMARY__EXPANSION_LOOKUP_TOP_K검색 rescue에 고려할 세션 요약 청크 수 3MEMTOMEM_SESSION_SUMMARY__EXPANSION_SCORE_THRESHOLDrescue 확장에 필요한 최소 요약 점수 0.3MEMTOMEM_SESSION_SUMMARY__EXPANSION_RESCUE_WEIGHTrescue된 source-file hit의 RRF 입력 가중치 0.5
세션 명령 실행을 JSONL 파일과 (선택적으로) Langfuse로 추적합니다. 기본적으로 비활성화됩니다. payload_mode의 기본값은 metadata로, 페이로드 본문을 기록하지 않습니다. redacted는 시크릿을 가린 본문을 남기며, full은 전체 본문을 남깁니다.
변수 설명 기본값 MEMTOMEM_SESSION_TRACE__ENABLED세션 실행 추적 활성화 falseMEMTOMEM_SESSION_TRACE__JSONL_ENABLEDJSONL 싱크 기록 trueMEMTOMEM_SESSION_TRACE__JSONL_PATHJSONL 출력 파일 경로 ~/.memtomem/traces/session-traces.jsonlMEMTOMEM_SESSION_TRACE__LANGFUSE_ENABLEDLangfuse 싱크로 트레이스 전송 falseMEMTOMEM_SESSION_TRACE__LANGFUSE_PUBLIC_KEYLangfuse public key ""MEMTOMEM_SESSION_TRACE__LANGFUSE_SECRET_KEYLangfuse secret key ""MEMTOMEM_SESSION_TRACE__LANGFUSE_HOSTLangfuse 호스트 URL ""MEMTOMEM_SESSION_TRACE__SAMPLING_RATE0.0–1.0. 기록할 세션 비율 1.0MEMTOMEM_SESSION_TRACE__PAYLOAD_MODEmetadata (본문 미기록) / redacted (시크릿 마스킹 본문) / full (전체 본문)metadataMEMTOMEM_SESSION_TRACE__MAX_PAYLOAD_CHARS트레이스에 남기는 페이로드 문자 상한 10000
langfuse_enabled=true로 설정하려면 langfuse extra가 설치되어 있고 public/secret key가 모두 지정되어야 하며, 그렇지 않으면 시작 시점에 검증에 실패합니다.
변수 설명 기본값 MEMTOMEM_LOG_LEVELDEBUG / INFO / WARNING / ERRORINFOMEMTOMEM_LOG_FORMAT로그 포맷 —
변수 설명 기본값 MEMTOMEM_HOOKS__TARGET_SCOPEmemtomem 관리 Claude Code settings hook 대상 스코프: user, project_shared, project_local userMEMTOMEM_CONTEXT_GATEWAY__KNOWN_PROJECTS_PATHContext Gateway용 Web UI 프로젝트 레지스트리 ~/.memtomem/known_projects.jsonMEMTOMEM_CONTEXT_GATEWAY__EXPERIMENTAL_CLAUDE_PROJECTS_SCAN~/.claude/projects/<encoded> 디렉터리명을 프로젝트 루트로 복원해 스캔(검증되지 않은 후보까지 포함)falseMEMTOMEM_CONTEXT_GATEWAY__AUTO_DISPLAY_CONFIGURED_PROJECTS스캔 후보 중 인식된 런타임 마커(.claude/.gemini/.codex/.agents/.kimi/.memtomem)를 가진 프로젝트만 자동 표시 trueMEMTOMEM_CONTEXT_GATEWAY__USER_TIER_ENABLEDUser 티어(사용자 전역) 아티팩트 쓰기 허용 여부를 제어하는 forward-compat 필드. false이면 User 티어가 discovery 응답에서 숨겨짐 false
제공자 GPU 비용 비고 onnx불필요 무료 fastembed 기반 내장. 최초 실행 시 약 270MB 다운로드 ollama불필요 무료 Ollama 설치 필요. ollama pull nomic-embed-text openai불필요 유료 API 키 필요
전체 목록: upstream 저장소의 configuration.md .
STM 설정은 여섯 영역으로 구성됩니다: flat LOG_LEVEL, 그리고 PROXY__*, SURFACING__*, HOOK__*, DAEMON__*, LANGFUSE__*. 압축, 캐싱, 메트릭, 자동 인덱싱, 추출은 모두 PROXY__ 하위 에 위치합니다.
변수 설명 기본값 MEMTOMEM_STM_LOG_LEVEL로그 레벨 WARNINGMEMTOMEM_STM_ADVERTISE_OBSERVABILITY_TOOLStrue일 때 관찰/관리 도구 8개(stm_proxy_stats, stm_proxy_health, stm_proxy_cache_clear, stm_surfacing_stats, stm_selection_stats, stm_compression_stats, stm_progressive_stats, stm_tuning_recommendations)를 노출합니다. false에서도 모델용 도구 4개는 계속 보입니다.falseMEMTOMEM_STM_FORMATION__ENABLEDopt-in stm_memory_propose 도구를 노출합니다. 노출 여부는 이 플래그만으로 결정되며, upstream LTM의 review-first 제안 지원 여부는 호출 시점에 확인합니다(지원하지 않으면 formation_unsupported 반환). false
변수 설명 기본값 MEMTOMEM_STM_PROXY__ENABLED프록시 파이프라인 마스터 스위치 falseMEMTOMEM_STM_PROXY__DEFAULT_COMPRESSION기본 압축 전략 autoMEMTOMEM_STM_PROXY__DEFAULT_MAX_RESULT_CHARS응답당 문자 예산 16000MEMTOMEM_STM_PROXY__MAX_UPSTREAM_CHARS업스트림 응답 크기 OOM 가드 10000000MEMTOMEM_STM_PROXY__MIN_RESULT_RETENTION보존 하한 (0.0–1.0) 0.65
변수 설명 기본값 MEMTOMEM_STM_PROXY__CACHE__ENABLED응답 캐싱 활성화 trueMEMTOMEM_STM_PROXY__CACHE__DEFAULT_TTL_SECONDS캐시 TTL 3600MEMTOMEM_STM_PROXY__CACHE__DB_PATH캐시 DB 경로 — MEMTOMEM_STM_PROXY__CACHE__MAX_ENTRIES캐시 엔트리 상한 —
변수 설명 기본값 MEMTOMEM_STM_PROXY__AUTO_INDEX__ENABLED도구 응답을 LTM으로 인덱싱 falseMEMTOMEM_STM_PROXY__AUTO_INDEX__BACKGROUND인덱싱을 요청 경로 외부의 백그라운드에서 실행 falseMEMTOMEM_STM_PROXY__AUTO_INDEX__MIN_CHARS인덱싱 대상 최소 응답 크기 — MEMTOMEM_STM_PROXY__AUTO_INDEX__MEMORY_DIR출력 디렉터리 — MEMTOMEM_STM_PROXY__AUTO_INDEX__NAMESPACE자동 인덱싱 기억의 네임스페이스 proxy-{server}
기본 제공되는 mms 서버는 설계상 LTM에서 읽기만 하고 LTM으로 다시 쓰지 않습니다. 따라서 auto_index와 extraction 필드는 유효한 설정으로 수용되지만 실제 동작에는 영향을 주지 않습니다.
변수 설명 기본값 MEMTOMEM_STM_PROXY__METRICS__ENABLED호출 메트릭 기록 trueMEMTOMEM_STM_PROXY__EXTRACTION__ENABLEDStage 4b EXTRACT (사실 추출) falseMEMTOMEM_STM_PROXY__RELEVANCE_SCORER__SCORER스코어러 백엔드 — MEMTOMEM_STM_PROXY__COMPRESSION_FEEDBACK__ENABLEDstm_compression_feedback 기록trueMEMTOMEM_STM_PROXY__PROGRESSIVE_READS__ENABLED점진적 전달 읽기 텔레메트리 기록 (stm_progressive_stats로 노출) trueMEMTOMEM_STM_PROXY__LOCK_TIMEOUT_SECONDS내부 락 획득 상한. 타임아웃 시 느린 업스트림이 아닌 데드락/멈춘 홀더 신호로 취급 30.0
업스트림이 제공하는 도구 중 어떤 것을 에이전트에게 광고할지 도구 광고 시점에 결정하는 STM 자체 필터입니다. 실패가 잦거나 자격 증명을 노출하거나 이름이 중복되는 도구를 광고 대상에서 제외합니다. 건강 신호는 프록시 시작 시 한 번 평가되어 세션 동안 광고 집합이 안정적으로 유지됩니다.
변수 설명 기본값 MEMTOMEM_STM_PROXY__EXPOSURE__PROFILEstrict(신호 규칙으로 하드 차단) / review(차단 대신 랭킹에서 강등하고 telemetry에 기록) / explore(신호 규칙 비활성화)strictMEMTOMEM_STM_PROXY__EXPOSURE__HEALTH_WINDOW_HOURS도구별 건강도 판정에 사용하는 메트릭 조회 윈도우(시간) 24.0MEMTOMEM_STM_PROXY__EXPOSURE__HEALTH_MIN_CALLS건강도를 판정하기 위한 윈도우 내 최소 호출 수. 미만이면 건강한 것으로 간주 5MEMTOMEM_STM_PROXY__EXPOSURE__HEALTH_ERROR_RATE_THRESHOLD이 이상의 업스트림 귀책 오류율에서 도구를 unhealthy로 표시 0.95MEMTOMEM_STM_PROXY__EXPOSURE__REVIEW_RISK_PENALTYreview 프로파일에서 신호 표시된 도구에 적용하는 랭킹 강등 배수0.5
프록시 호출마다 선택·실행 기록을 JSONL로 남기고, 광고된 도구 집합을 호출 신호 기준으로 BM25 랭킹합니다. 랭킹은 telemetry에만 기록되며 노출 자체는 바꾸지 않습니다.
변수 설명 기본값 MEMTOMEM_STM_PROXY__SELECTION_TELEMETRY__ENABLED호출당 selection/execution JSONL 기록 활성화 falseMEMTOMEM_STM_PROXY__SELECTION_TELEMETRY__PATHJSONL 로그 경로 ~/.memtomem/stm_selection_log.jsonlMEMTOMEM_STM_PROXY__SELECTION_TELEMETRY__SAMPLE_RATE0.0–1.0. 기록할 호출 비율 1.0MEMTOMEM_STM_PROXY__SELECTION_TELEMETRY__MAX_BYTES로그 회전 크기 임계값 50000000MEMTOMEM_STM_PROXY__SELECTION_TELEMETRY__MAX_BACKUPS보관할 회전 파일 수 (0은 잘라내기) 3MEMTOMEM_STM_PROXY__TOOL_RELEVANCE__ENABLED호출당 도구 BM25 랭킹 기록. selection_telemetry가 켜져 있어야 실제로 기록됨 trueMEMTOMEM_STM_PROXY__TOOL_RELEVANCE__TOP_Nselection 이벤트당 기록하는 랭킹 후보 수 20
별도의 도구 그래프 MCP 서버에 cross-server 권한·데이터 흐름 적격성을 질의해 노출 필터의 추가 규칙으로 사용합니다. 기본적으로 비활성화이며, 그래프 서버는 proxy하지 않고 consult만 합니다(클라이언트는 그래프의 도구를 보지 않음).
변수 설명 기본값 MEMTOMEM_STM_PROXY__TOOLGRAPH__ENABLED외부 도구 그래프 적격성 제공자 활성화 falseMEMTOMEM_STM_PROXY__TOOLGRAPH__COMMANDstdio 도구 그래프 MCP 서버 실행 명령어 toolgraphMEMTOMEM_STM_PROXY__TOOLGRAPH__ARGS명령어 인자 (JSON 리스트) ["serve"]MEMTOMEM_STM_PROXY__TOOLGRAPH__ENV그래프 서버용 추가 환경 변수(예: NEO4J_*, JSON object) nullMEMTOMEM_STM_PROXY__TOOLGRAPH__AGENT_ID그래프에 등록된, 적격성을 판정할 에이전트 식별자 stm-proxyMEMTOMEM_STM_PROXY__TOOLGRAPH__QUERY_PROFILE그래프 consult에 전달하는 프로파일 strictMEMTOMEM_STM_PROXY__TOOLGRAPH__ON_UNREACHABLE그래프 도달 불가 시: open(STM 자체 규칙으로 광고) / closed(그래프 승인 외 전부 보류) openMEMTOMEM_STM_PROXY__TOOLGRAPH__ON_TOOL_NOT_FOUND그래프에 없는 후보 도구: open / closed openMEMTOMEM_STM_PROXY__TOOLGRAPH__ON_AGENT_NOT_FOUNDagent_id 미등록(대개 오타): fail_start / open / closedfail_startMEMTOMEM_STM_PROXY__TOOLGRAPH__ON_PROTOCOL_ERROR그래프 응답 규약 위반: fail_start / open / closed fail_startMEMTOMEM_STM_PROXY__TOOLGRAPH__RISK_PENALTY_SCALE적격하지만 위험한 도구의 랭킹 강등 배수 1.0MEMTOMEM_STM_PROXY__TOOLGRAPH__TIMEOUT_SECONDSconsult 타임아웃 5.0MEMTOMEM_STM_PROXY__TOOLGRAPH__CONSULT_CACHE_ENABLEDconsult 결과를 디스크 캐시 trueMEMTOMEM_STM_PROXY__TOOLGRAPH__CONSULT_CACHE_PATHconsult 캐시 SQLite 경로 ~/.memtomem/toolgraph_consult.db
아래 필드는 ~/.memtomem/stm_proxy.json의 업스트림 항목(UpstreamServerConfig)에 서버별로 설정합니다(환경 변수 아님). 타임아웃 필드는 미지정 시 아래 기본값이 모든 업스트림에 적용됩니다.
필드 설명 기본값 surfacing_enabled이 업스트림의 응답을 능동적 서피싱 대상에 포함할지 여부. false이면 해당 서버의 모든 도구에서 서피싱을 생략 trueoriginimport 출처(provenance) 블록. mms add --import/mms init이 기록하며, 이후 mms eject가 호스트 설정으로 원본 항목을 복원하는 데 사용 — call_timeout_secondssession.call_tool() 시도당 타임아웃. 초과 시 세션을 강제 리셋하고 재시도 루프로 복귀90.0overall_deadline_seconds재시도 포함 단일 호출의 전체 벽시계 예산. call_timeout × (max_retries+1) 최악값 폭주 방지 180.0compression.llm.llm_timeout_secondsllm_summary 압축 타임아웃. 초과 시 truncate로 폴백60.0
변수 설명 기본값 MEMTOMEM_STM_SURFACING__ENABLEDLTM 기반 능동적 서피싱 활성화 trueMEMTOMEM_STM_SURFACING__MIN_SCORE관련성 최소 점수 0.03MEMTOMEM_STM_SURFACING__MAX_RESULTS호출당 주입되는 최대 기억 수 3MEMTOMEM_STM_SURFACING__MIN_RESPONSE_CHARS매우 작은 응답에는 서피싱 생략 5000MEMTOMEM_STM_SURFACING__MIN_QUERY_TOKENS추출 쿼리의 최소 토큰 수 3MEMTOMEM_STM_SURFACING__DEDUP_TTL_SECONDS세션 간 중복 제거 윈도우 604800 (7일)MEMTOMEM_STM_SURFACING__FEEDBACK_ENABLEDstm_surfacing_feedback 수용trueMEMTOMEM_STM_SURFACING__AUTO_TUNE_ENABLED도구별 임계값 자동 튜닝 trueMEMTOMEM_STM_SURFACING__QUERY_RETENTION_DAYS피드백 DB의 원문 쿼리 텍스트 보존 일수. 이후 column만 비움. 0은 cleanup 비활성화 30MEMTOMEM_STM_SURFACING__PERSIST_QUERY_TEXTtrue면 원문 쿼리 저장, false면 sha256:<16-hex> digest 저장trueMEMTOMEM_STM_SURFACING__FEEDBACK_DEMOTION_ENABLED반복 negative feedback을 받은 기억을 주입 전에 로컬 필터링 trueMEMTOMEM_STM_SURFACING__FEEDBACK_DEMOTION_NEGATIVE_THRESHOLD로컬 demotion 적용 전 필요한 서로 다른 negative surfacing 이벤트 수 3MEMTOMEM_STM_SURFACING__LTM_MCP_TRANSPORTLTM MCP 전송: stdio, sse, streamable_http stdioMEMTOMEM_STM_SURFACING__LTM_MCP_COMMANDstdio 전송에서 LTM 서버를 실행할 MCP 명령어 memtomem-serverMEMTOMEM_STM_SURFACING__LTM_MCP_ARGSLTM 명령어 인자 (JSON 리스트) []MEMTOMEM_STM_SURFACING__LTM_MCP_URLsse / streamable_http LTM 엔드포인트 URL""MEMTOMEM_STM_SURFACING__LTM_MCP_HEADERS네트워크 LTM 전송용 정적 헤더(JSON object) null
주입 모드(기본 append, 추가로 prepend / section)는 MEMTOMEM_STM_SURFACING__INJECTION_MODE로 설정합니다.
변수 설명 기본값 MEMTOMEM_STM_HOOK__USE_DAEMONmms hook 서피싱을 매번 새로 띄우는 in-process 경로 대신 상주 로컬 daemon으로 처리trueMEMTOMEM_STM_HOOK__DAEMON_TIMEOUT_SECONDShook-to-daemon 왕복 타임아웃 2.5MEMTOMEM_STM_HOOK__FALLBACKdaemon 미가용 시 동작: skip(건너뜀) 또는 cold(in-process 경로로 처리) skipMEMTOMEM_STM_HOOK__AUTO_SPAWN첫 적격 hook 호출에서 daemon을 비동기로 기동(응답을 기다리지 않음) trueMEMTOMEM_STM_HOOK__RECORD_FEEDBACK_EVENTShook 서피싱 피드백/쿼리 이벤트 저장. 기본값은 dedup만 유지하고 원문 쿼리 텍스트는 저장하지 않음 falseMEMTOMEM_STM_HOOK__COMPRESSION__ENABLEDbuilt-in Bash updatedToolOutput 압축 활성화 falseMEMTOMEM_STM_HOOK__COMPRESSION__MAX_CHARSBash output replacement 대상 문자 예산 16000MEMTOMEM_STM_DAEMON__HOST로컬 daemon bind 주소. 루프백 전용 유지 권장 127.0.0.1MEMTOMEM_STM_DAEMON__IDLE_TIMEOUT_SECONDS이 초 동안 idle이면 daemon 중지. 0은 idle shutdown 비활성화 900.0
변수 설명 기본값 MEMTOMEM_STM_LANGFUSE__ENABLED스팬 전송 falseMEMTOMEM_STM_LANGFUSE__PUBLIC_KEYLangfuse public key — MEMTOMEM_STM_LANGFUSE__SECRET_KEYLangfuse secret key — MEMTOMEM_STM_LANGFUSE__HOSTLangfuse 호스트 URL — MEMTOMEM_STM_LANGFUSE__SAMPLING_RATE0.0–1.0 1.0
MEMTOMEM_STM_LANGFUSE__ENABLED=true 로 설정했는데 [langfuse] extra 가 설치되어 있지 않으면 시작 시점에 ValueError 로 실패합니다(v0.1.16 이후 fail-fast). 먼저 extra 를 설치하거나 enabled=false 로 두세요 — 기존의 “조용히 비활성화 + WARNING” 동작은 제거되었으므로, 설정 오타로 트레이싱이 말없이 꺼지는 일은 없습니다.
전략 용도 auto기본값 — 콘텐츠 유형별 자동 선택 hybridMarkdown (구조 보존 + 비핵심 섹션 축약) selective쿼리 관련 섹션만 유지 progressive대용량 콘텐츠, 커서 기반 분할 전송 (무손실) extract_fieldsJSON 딕셔너리 schema_pruning대형 JSON 배열 skeletonAPI 문서 (스키마만 유지) llm_summaryLLM 기반 요약 (OpenAI / Anthropic / Ollama) truncate폴백 절삭 none패스스루
전체 목록: upstream 저장소의 configuration.md .