Memstate AI - MCP
👁 npm version
👁 License: MIT
👁 MCP
👁 Node
👁 memstate-mcp MCP server
AI 에이전트를 위한 버전 관리 메모리. 사실 저장, 충돌 감지, 의사결정 변경 이력 추적 기능을 호스팅된 MCP 서버로 제공합니다.
왜 Memstate인가?
RAG (대부분의 다른 메모리 시스템) | Memstate AI | |
대화당 토큰 사용량 | ~7,500 | ~1,500 |
에이전트 가시성 | 블랙박스 | 완전한 투명성 |
메모리 버전 관리 | 없음 | 전체 이력 |
메모리 규모에 따른 토큰 증가 | O(n) | O(1) |
필요한 인프라 | 있음 | 없음 — 호스팅된 SaaS |
다른 메모리 시스템은 모든 것을 컨텍스트 창에 덤프하고 잘 작동하기를 바랍니다. Memstate는 에이전트에게 구조화되고 버전이 관리되는 지식 베이스를 제공하여 정밀하게 탐색할 수 있게 합니다. 필요한 것만 로드하고, 무엇이 변경되었는지, 사실이 언제 충돌하는지 파악하세요.
Related MCP server: PolyNeural.ai Knowledge Graph MCP Bundle
벤치마크
우리는 에이전트 메모리에서 실제로 중요한 것, 즉 시스템이 사실을 저장하고, 세션 간에 정확하게 회상하며, 변경 사항 발생 시 충돌을 감지하고, 프로젝트가 진화함에 따라 컨텍스트를 유지할 수 있는지 테스트하는 오픈 소스 벤치마크 제품군을 구축했습니다.
1대1 비교: Memstate AI vs Mem0
두 시스템 모두 동일한 에이전트(Claude Sonnet 4.6, temperature 0), 동일한 시나리오, 동일한 채점 기준을 사용하여 동일한 조건에서 테스트되었습니다.
지표 | Memstate AI | Mem0 | 승자 |
종합 점수 | 69.1 | 15.4 | Memstate |
정확도 (사실 회상) | 74.1 | 12.6 | Memstate |
충돌 감지 | 85.5 | 19.0 | Memstate |
컨텍스트 연속성 | 63.7 | 10.1 | Memstate |
토큰 효율성 | 22.3 | 30.6 | Mem0 |
채점 가중치: 정확도 40%, 충돌 감지 25%, 컨텍스트 연속성 25%, 토큰 효율성 10%.
시나리오별 분석
벤치마크는 다중 세션 에이전트 워크플로우를 시뮬레이션하는 5가지 실제 시나리오를 실행합니다:
시나리오 | Memstate AI | Mem0 |
웹 앱 아키텍처 진화 | 43.2 | 55.6 |
인증 시스템 마이그레이션 | 66.2 | 10.2 |
데이터베이스 스키마 진화 | 72.7 | 7.0 |
API 버전 관리 충돌 | 86.5 | 0.9 |
팀 의사결정 번복 | 77.2 | 3.3 |
Mem0은 첫 번째 시나리오(단순 아키텍처 추적)에서는 승리했지만, 모순 처리, 세션 간 컨텍스트, 의사결정 번복 추적이 필요한 시나리오에서는 심각하게 고전했으며, 5개 시나리오 중 3개에서 거의 0점에 가까운 점수를 기록했습니다.
Memstate가 승리하는 이유
벤치마크는 근본적인 아키텍처 차이를 보여줍니다:
Mem0은 임베딩 기반 의미론적 검색을 사용합니다. 사실은 청크로 나뉘고, 임베딩되며, 유사성에 의해 검색됩니다. 이는 단순 조회에는 효과적이지만 다음과 같은 경우 실패합니다:
사실이 이전 사실과 모순될 때 (시스템이 현재와 과거를 구분할 수 없음)
정밀한 회상이 필요할 때 (임베딩은 정확한 결과가 아닌 "유사한" 결과를 반환함)
쓰기-읽기 지연 시간이 중요할 때 (새로운 메모리가 검색 가능해지기까지 수 초가 걸림)
Memstate는 구조화되고 버전이 관리되는 키-값 스토리지를 사용합니다. 모든 사실은 전체 버전 이력이 포함된 명시적 키 경로에 존재합니다. 이는 다음을 의미합니다:
충돌 감지가 내장됨 — 새로운 사실이 이전 사실과 모순될 때, 시스템은 이를 인지하고 두 버전을 모두 보존합니다.
회상이 결정론적임 — 근사치가 아닌 저장된 그대로의 정확한 값을 반환합니다.
세션 간 연속성이 신뢰할 수 있음 — 에이전트가 의미론적 검색이 올바른 컨텍스트를 찾아주길 바라는 대신 구조화된 트리를 탐색합니다.
토큰 비용이 O(1)로 유지됨 — 에이전트는 모든 잠재적 관련 임베딩을 컨텍스트 창에 덤프하는 대신, 요약을 먼저 로드하고 필요할 때만 세부 사항을 파고듭니다.
공정성 참고 사항
두 시스템 모두 동일한 에이전트 모델, temperature, 평가 기준을 사용했습니다.
Mem0은 비동기 임베딩 파이프라인을 고려하여 쓰기와 읽기 사이에 10초의 수집 지연 시간을 부여받았습니다.
Mem0은 토큰 효율성에서 더 높은 점수를 받았지만, 이 지표는 맥락에 맞게 읽어야 합니다. 낮은 토큰 사용량은 단순히 더 적은 정보가 반환됨을 의미할 수 있습니다. 불완전하거나 부정확한 사실을 검색하는 시스템은 응답당 토큰은 적게 사용하지만, 동일한 답변에 도달하기 위해 더 많은 후속 호출이 필요하여 결과적으로 더 많은 토큰 비용이 발생할 수 있습니다.
벤치마크 소스 코드는 완전한 재현성을 위해 이 저장소에 포함되어 있습니다.
Mem0은 사용자 지정 구성이나 다른 임베딩 모델을 사용할 경우 다르게 작동할 수 있습니다.
빠른 시작
memstate.ai/dashboard에서 API 키를 발급받은 후, MCP 클라이언트 구성에 추가하세요:
{
"mcpServers": {
"memstate": {
"command": "npx",
"args": ["-y", "@memstate/mcp"],
"env": {
"MEMSTATE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}Docker도, 데이터베이스도, 인프라도 필요 없습니다. 60초 안에 실행됩니다.
클라이언트 설정
Claude Desktop
구성 위치:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"memstate": {
"command": "npx",
"args": ["-y", "@memstate/mcp"],
"env": { "MEMSTATE_API_KEY": "YOUR_API_KEY_HERE" }
}
}
}Claude Code
claude mcp add memstate npx @memstate/mcp -e MEMSTATE_API_KEY=YOUR_API_KEY_HERECursor
Cursor 설정 → MCP → 서버 추가 — 위와 동일한 JSON 형식.
Cline / Windsurf / Kilo Code / Roo Code
모두 동일한 stdio MCP 구성 형식을 지원합니다. 클라이언트의 MCP 설정 파일에 추가하세요.
핵심 도구
도구 | 사용 시기 |
| 마크다운, 작업 요약, 의사결정을 저장합니다. 서버가 자동으로 키 경로를 추출하고 충돌을 감지합니다. 대부분의 쓰기 작업에 사용하세요. |
| 단일 키 경로를 짧은 값으로 설정합니다 (예: |
| 프로젝트나 하위 트리의 모든 메모리를 탐색합니다. 모든 작업 시작 시 사용하세요. |
| 정확한 키 경로를 모를 때 의미론적 검색을 수행합니다. |
| 지식이 시간이 지남에 따라 어떻게 변경되었는지 확인합니다 (전체 버전 체인). |
| 키 경로를 소프트 삭제합니다. 툼스톤(tombstone)을 생성하며 전체 이력은 보존됩니다. |
| 전체 프로젝트와 모든 메모리를 소프트 삭제합니다. |
키 경로 작동 방식
메모리는 계층적 점 표기법으로 구성됩니다:
project.my_app.database.schema
project.my_app.auth.provider
project.my_app.deploy.environment키 경로는 자동으로 접두사가 붙습니다: project_id="my_app"인 상태에서 keypath="database" → project.my_app.database. 에이전트는 전체 컨텍스트 덤프 없이 필요한 정확한 정보만 파고들 수 있습니다.
작동 원리
Agent: memstate_remember(project_id="my_app", content="## Auth\nUsing SuperTokens...")
↓
Server extracts keypaths: [project.my_app.auth.provider, ...]
↓
Conflict detection: compare against existing memories at those keypaths
↓
New version stored — old version preserved in history chain
↓
Next session: memstate_get(project_id="my_app") → structured summaries only
↓
Agent drills into project.my_app.auth only when it needs auth details토큰 비용은 총 메모리 개수와 관계없이 일정하게 유지됩니다.
에이전트 지침에 추가
AGENTS.md 또는 시스템 프롬프트에 복사하세요:
## Memory (Memstate MCP)
### Before each task
- memstate_get(project_id="my_project") — browse existing knowledge
- memstate_search(query="topic", project_id="my_project") — find by meaning
### After each task
- memstate_remember(project_id="my_project", content="## Summary\n- ...", source="agent")
### Tool guide
- memstate_remember — markdown summaries, decisions, task results (preferred)
- memstate_set — single short values only (config flags, status)
- memstate_get — browse/retrieve before tasks
- memstate_search — semantic lookup when keypath unknown
- memstate_history — audit how knowledge evolved
- memstate_delete — remove outdated memories (history preserved)환경 변수
변수 | 기본값 | 설명 |
| (필수) | memstate.ai/dashboard에서 발급받은 API 키 |
|
| 자체 호스팅 배포를 위한 재정의 |
연결 확인
MEMSTATE_API_KEY=your_key npx @memstate/mcp --test사용 가능한 모든 도구를 출력하고 API 키가 작동하는지 확인합니다.
자신이 무엇을 알고 있는지 알 자격이 있는 AI 에이전트를 위해 구축되었습니다.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/memstate-ai/memstate-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
