mnemory: AI 에이전트에 영구 메모리를 제공하는 MCP 서버
요약
mnemory는 AI 에이전트에게 개인화되고 장기적인 영구 메모리를 제공하는 자체 호스팅 MCP 서버입니다. 이 시스템은 사용자의 선호도, 사실, 대화 컨텍스트를 자동으로 추출하고 분류하며, 모순을 해결하여 에이전트의 지능을 향상시킵니다. Zero config로 작동하며, 다양한 클라이언트와 통합할 수 있습니다.
핵심 포인트
- AI 에이전트에 장기적이고 개인화된 메모리 제공
- 자체 호스팅으로 데이터 보안 및 사용자 인프라 보장
- LLM 파이프라인을 통한 지능적인 사실 추출 및 모순 해결
- MCP/REST API를 통해 다양한 클라이언트와 통합 가능
mnemory
AI 에이전트에 영구 메모리를 제공하세요. mnemory는 모든 AI 비서(Claude Code, ChatGPT, Open WebUI, Cursor 또는 모든 MCP 호환 클라이언트)에 개인화 및 장기 메모리를 추가하는 자체 호스팅 MCP 서버입니다.
플러그 앤 플레이. mnemory를 연결하면 에이전트가 사용자의 선호도, 사실, 결정 및 대화 전반의 컨텍스트를 즉시 기억하기 시작합니다. 시스템 프롬프트 변경이 필요 없습니다.
자체 호스팅 및 보안. 데이터는 사용자 인프라에 보관됩니다. 클라우드 의존성이나 메모리에 대한 타사 접근이 없습니다.
지능적. 단일 호출에서 사실 추출, 중복 제거, 모순 해결을 위한 통합 LLM 파이프라인을 사용합니다. 메모리는 의미적으로 검색 가능하고, 자동으로 분류되며, 더 이상 관련성이 없을 때 자연스럽게 만료됩니다.
기능
- 설정 불필요(Zero config) —
uvx mnemory를 연결하여 MCP 클라이언트를 연결하면 끝입니다. 모든 OpenAI 호환 API에서 즉시 작동합니다. - 지능적 추출 — 단일 LLM 호출로 사실을 추출하고, 메타데이터를 분류하며, 기존 메모리와 중복을 제거합니다.
- 모순 해결 —
네이티브 플러그인을 통해 자동 회상(recall)/기억(remember) 기능을 사용할 수 있습니다.
- 내장 관리 UI — 대시보드, 의미론적 검색(semantic search), 전체 CRUD 기능의 메모리 브라우저, 관계 그래프 시각화 및 상태 확인 인터페이스를 제공합니다. 추가 도구가 필요 없습니다.
- 프로덕션 준비 완료 — 벡터 저장을 위해 Qdrant를, 아티팩트 저장을 위해 S3/MinIO를 사용하며, API 키 또는 Cognis JWT 인증, 사용자별 격리(per-user isolation), Kubernetes 친화적인 무상태 HTTP 방식을 지원합니다.
- 기본적으로 안전함 — 세션 수준의 ID 바인딩을 갖춘 API 키 또는 Cognis JWT 인증, 사용자별 메모리 격리, 추출 프롬프트에 대한 안티 인젝션(anti-injection) 보호 장치를 제공합니다.
- REST API + MCP — 동일한 백엔드를 가진 이중 인터페이스를 제공합니다. 16개의 MCP 도구와 OpenAPI 사양을 갖춘 전체 REST API를 사용할 수 있습니다. 플러그인, 통합 또는 직접 사용이 가능합니다.
- Prometheus 모니터링 — 작업 카운터 및 메모리 게이지가 포함된 내장
/metrics엔드포인트를 제공하며, 사전 구축된 Grafana 대시보드가 포함되어 있습니다.
빠른 시작(Quick Start)
mnemory는 LLM과 임베딩을 위해 OpenAI와 호환되는 API 키가 필요합니다. 이 키는 환경 변수에서 OPENAI_API_KEY를 자동으로 가져옵니다.
uvx mnemory
만약 uvx가 'mcp.server.fastmcp' 모듈을 찾을 수 없다고 보고하면, uv를 업데이트하세요. Alpine 환경의 구형 uv 버전은 mnemory의 MCP v1 의존성 제약을 무시할 수 있습니다. uv를 업데이트하기 전까지는 다음 명령어를 실행하세요:
uvx --with "mcp<2" mnemory
이것으로 충분합니다. mnemory가 http://localhost:8050/mcp에서 시작되며, 데이터는 ~/.mnemory/에 저장됩니다.
이제 클라이언트를 연결하세요 — Claude Code의 경우, MCP 설정에 다음을 추가하세요:
{
<p align="center">
<img src="https://raw.githubusercontent.com/fpytloun/mnemory/HEAD/files/screenshots/ui-dashboard.jpg" alt="대시보드 — 메모리 총량, 세부 분류 및 운영 횟수" width="800" />
<br><em>유형별, 카테고리별, 역할별로 구분된 메모리 대시보드</em>
</p>
<p align="center">
<img src="https://raw.githubusercontent.com/fpytloun/mnemory/HEAD/files/screenshots/ui-search.jpg" alt="검색 — 필터가 적용된 시맨틱 및 AI 기반 검색" width="800" />
<br><em>필터를 사용한 시맨틱 검색 및 AI 기반 찾기 기능</em>
</p>
<p align="center">
<img src="https://raw.githubusercontent.com/fpytloun/mnemory/HEAD/files/screenshots/ui-graph.jpg" alt="그래프 — D3.js 포스 다이렉티드 메모리 관계 시각화" width="800" />
<br><em>메모리 관계 그래프 시각화</em>
</p>
[모든 스크린샷 및 UI 기능](docs/management-ui.md)을 참고하세요. 여기에는 메모리 브라우저, 상태 확인(health checks), 아티팩트 관리 등이 포함됩니다.
## 지원 클라이언트 (Supported Clients)
mnemory는 모든 MCP 호환 클라이언트와 작동합니다. 일부 클라이언트는 자동 회상/기억을 위한 전용 플러그인도 제공합니다.
| 클라이언트 | MCP | 플러그인 | 설정 가이드 |
|---|---|---|---|
| Claude Code | 예 (Yes) | 예 (Yes) ([hooks](integrations/claude-code/)) | [가이드](docs/clients/claude-code.md) |
| ... | | | |
**MCP** = Model Context Protocol을 통해 작동합니다 (LLM 기반 툴 호출). **플러그인(Plugin)** = 자동 회상/기억을 위한 전용 통합 기능입니다 (LLM 툴 호출 불필요).
## 작동 방식 (How It Works)
**저장(Storing):** 사용자는 정보를 자연스럽게 공유합니다. mnemory는 개별 사실들을 추출하고, 이를 분류하며(유형, 카테고리, 중요도), 기존 메모리와 중복 및 모순 여부를 확인한 후, 검색 가능한 벡터 형태로 모두 단일 LLM 호출 내에 저장합니다.
**검색(Searching):** 질문을 하면 mnemory는 다양한 각도와 연관성을 포괄하는 여러 개의 검색 쿼리를 생성하고, 이를 병렬로 실행하며, 관련성에 따라 결과를 재정렬(rerank)합니다. 시간 인식 기능이 있어
**기억 회상 (Recalling):** 대화 시작 시, 에이전트는 고정된 기억(핵심 사실, 선호도, 정체성)과 최근 컨텍스트를 로드합니다. 대화 중에는 논의하는 내용에 기반하여 관련 기억들이 자동으로 찾아집니다.
**기억 유지 (Maintaining):** 기억은 설정 가능한 TTL(Time-To-Live)을 가집니다 — 컨텍스트는 7일, 에피소드적 기억은 90일 후에 만료됩니다. 자주 접근하는 기억은 살아남습니다 (강화). 내장된 건강 검사기(health checker)는 중복, 모순, 품질 문제를 감지하고 수정합니다.
자세한 내용은 [아키텍처 문서](docs/architecture.md)를 참고하세요.
## 벤치마크 (Benchmark)
[LoCoMo](https://github.com/snap-research/locomo) 벤치마크에서 평가되었습니다 — 4가지 카테고리에 걸쳐 1540개의 QA 질문을 포함하는 10개의 다중 세션 대화:
| 시스템 | single_hop | multi_hop | temporal | open_domain | Overall |
|---|---|---|---|---|---|
| **mnemory** | **63.1** | **53.1** | **74.8** | **78.2** | **73.2** |
| ... |
설정: 추출을 위해 `gpt-5-mini`, 벡터를 위해 `text-embedding-3-small` 사용. Groq를 통한 `gpt-oss-120b`는 품질이 유사하면서 비용은 약 5배 낮은 예산 대안입니다. 모델 옵션 및 재현을 위한 [`벤치마크/`](benchmarks/) 정보는 [설정 문서](docs/configuration.md#model-selection)를 참조하세요.
## 문서 (Documentation)
| 문서 | 설명 |
|---|---|
| [Quick Start](docs/quickstart.md) | 모든 클라이언트에서 5분 만에 실행 가능 |
| ... |
## 라이선스 (License)
Apache 2.0
AI 자동 생성 콘텐츠
본 콘텐츠는 개발 자료 GitHub · 8f242527의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기