Mnemo
██╗ ██████╗ ██████╗ ██████╗ ███████╗
██║ ██╔═══██╗██╔════╝ ██╔═══██╗██╔════╝
██║ ██║ ██║██║ ███╗██║ ██║███████╗
██║ ██║ ██║██║ ██║██║ ██║╚════██║
███████╗╚██████╔╝╚██████╔╝╚██████╔╝███████║
╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
███████╗██╗ ██╗ ██╗██╗ ██╗
██╔════╝██║ ██║ ██║╚██╗██╔╝
█████╗ ██║ ██║ ██║ ╚███╔╝
██╔══╝ ██║ ██║ ██║ ██╔██╗
██║ ███████╗╚██████╔╝██╔╝ ██╗
╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝Mnemo
Gemini 컨텍스트 캐싱을 통한 AI 어시스턴트용 확장 메모리.
Mnemo(그리스어: 기억)는 Gemini의 1M 토큰 컨텍스트 윈도우와 컨텍스트 캐싱 기능을 활용하여 Claude와 같은 AI 어시스턴트가 대규모 코드베이스, 문서 사이트, PDF 등에 접근할 수 있도록 합니다.
왜 Mnemo인가요?
임베딩과 검색을 사용하는 복잡한 RAG 파이프라인 대신, Mnemo는 더 간단한 접근 방식을 취합니다:
전체 코드베이스를 Gemini의 컨텍스트 캐시에 로드
자연어로 쿼리
Gemini가 컨텍스트를 유지하는 동안 Claude가 오케스트레이션 수행
이를 통해 얻을 수 있는 이점:
완벽한 리콜 - 청킹이나 검색 과정이 없으므로 컨텍스트 손실이 없음
낮은 지연 시간 - 캐시된 컨텍스트가 빠르게 제공됨
비용 절감 - 캐시된 토큰은 일반 입력 토큰보다 75-90% 저렴함
단순성 - 벡터 데이터베이스, 임베딩 또는 복잡한 검색 로직이 필요 없음
Related MCP server: Heimdall MCP Server
Mnemo가 로드할 수 있는 것은 무엇인가요?
소스 | 로컬 서버 | 워커 |
GitHub 저장소 (공개) | ✅ | ✅ |
GitHub 저장소 (비공개) | ✅ | ✅ |
모든 URL (문서, 기사) | ✅ | ✅ |
PDF 문서 | ✅ | ✅ |
JSON API | ✅ | ✅ |
로컬 파일/디렉토리 | ✅ | ❌ |
다중 페이지 크롤링 | ✅ 무제한 | ✅ 최대 40페이지 |
배포 옵션
Mnemo는 필요에 따라 세 가지 방식으로 배포할 수 있습니다.
옵션 1: 로컬 서버 (개발 및 전체 기능)
개발 및 로컬 파일을 로드해야 할 때 가장 적합합니다.
# Clone and install
git clone https://github.com/logos-flux/mnemo
cd mnemo
bun install
# Set your Gemini API key
export GEMINI_API_KEY=your_key_here
# Start the server
bun run devClaude Code MCP 설정:
{
"mcpServers": {
"mnemo": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}옵션 2: 자체 호스팅 Cloudflare Worker (Claude.ai 권장)
본인의 Cloudflare 계정에 배포하세요. 데이터와 비용을 직접 제어할 수 있습니다.
사전 요구 사항:
Cloudflare 계정 (무료 티어 가능)
# Clone and install
git clone https://github.com/logos-flux/mnemo
cd mnemo/packages/cf-worker
# Configure secrets
bunx wrangler secret put GEMINI_API_KEY
bunx wrangler secret put MNEMO_AUTH_TOKEN # Optional but recommended
# Create D1 database
bunx wrangler d1 create mnemo-cache
# Deploy
bunx wrangler deployClaude.ai MCP 설정:
{
"mcpServers": {
"mnemo": {
"type": "http",
"url": "https://mnemo.<your-subdomain>.workers.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_AUTH_TOKEN"
}
}
}
}왜 이 방식을 사용하나요? Claude.ai는 localhost에 연결할 수 없습니다. Worker는 Claude.ai가 접근할 수 있는 외부 엔드포인트를 제공합니다.
옵션 3: 관리형 호스팅 (VIP)
인프라를 직접 관리하고 싶지 않으신가요? 일부 고객을 위해 완전히 관리되는 Mnemo 호스팅을 제공합니다.
포함 사항:
전용 Worker 배포
우선 지원
사용자 지정 도메인
사용량 모니터링
문의: 가격 및 이용 가능 여부는 lf@logosflux.io로 문의하세요.
사용 예시
# Load a GitHub repo
curl -X POST http://localhost:8080/tools/context_load \
-H "Content-Type: application/json" \
-d '{"source": "https://github.com/honojs/hono", "alias": "hono"}'
# Load a documentation site (crawls up to token target)
curl -X POST http://localhost:8080/tools/context_load \
-H "Content-Type: application/json" \
-d '{"source": "https://hono.dev/docs", "alias": "hono-docs"}'
# Load a PDF
curl -X POST http://localhost:8080/tools/context_load \
-H "Content-Type: application/json" \
-d '{"source": "https://arxiv.org/pdf/2303.08774.pdf", "alias": "gpt4-paper"}'
# Load a private repo (with GitHub token)
curl -X POST http://localhost:8080/tools/context_load \
-H "Content-Type: application/json" \
-d '{"source": "https://github.com/owner/private-repo", "alias": "private", "githubToken": "ghp_xxx"}'
# Load multiple sources into one cache
curl -X POST http://localhost:8080/tools/context_load \
-H "Content-Type: application/json" \
-d '{"sources": ["https://github.com/owner/repo", "https://docs.example.com"], "alias": "combined"}'
# Query the cache
curl -X POST http://localhost:8080/tools/context_query \
-H "Content-Type: application/json" \
-d '{"alias": "hono", "query": "How do I add middleware?"}'
# List active caches
curl -X POST http://localhost:8080/tools/context_list \
-H "Content-Type: application/json" -d '{}'
# Get usage stats with cost tracking
curl -X POST http://localhost:8080/tools/context_stats \
-H "Content-Type: application/json" -d '{}'
# Evict when done
curl -X POST http://localhost:8080/tools/context_evict \
-H "Content-Type: application/json" \
-d '{"alias": "hono"}'CLI
# Start server
mnemo serve
# Start MCP stdio transport (for Claude Desktop)
mnemo stdio
# Load a project
mnemo load ./my-project my-proj
# Query
mnemo query my-proj "What's the main entry point?"
# List caches
mnemo list
# Remove cache
mnemo evict my-projMCP 도구
도구 | 설명 |
| GitHub 저장소, URL, PDF 또는 로컬 디렉토리를 Gemini 캐시에 로드 |
| 자연어로 캐시된 컨텍스트 쿼리 |
| 토큰 수 및 만료 시간을 포함한 모든 활성 캐시 나열 |
| 캐시 제거 |
| 비용 추적을 포함한 사용 통계 가져오기 |
| 최신 콘텐츠로 캐시 새로 고침 |
context_load 매개변수
매개변수 | 설명 |
| 단일 소스: GitHub URL, 모든 URL 또는 로컬 경로 |
| 하나의 캐시로 결합할 여러 소스 |
| 이 캐시의 친숙한 이름 (1-64자) |
| 유지 시간(초) (60-86400, 기본값 3600) |
| 비공개 저장소를 위한 GitHub 토큰 |
| 쿼리를 위한 사용자 지정 시스템 프롬프트 |
구성
변수 | 설명 | 기본값 |
| Gemini API 키 | 필수 |
| 서버 포트 (로컬 전용) | 8080 |
| 데이터 디렉토리 (로컬 전용) | ~/.mnemo |
| 보호된 엔드포인트를 위한 인증 토큰 | 없음 |
인증
MNEMO_AUTH_TOKEN이 구성되면 /mcp 및 /tools/* 엔드포인트는 인증이 필요합니다:
# Set auth token (Workers)
bunx wrangler secret put MNEMO_AUTH_TOKEN
# Requests must include header:
Authorization: Bearer your-token-here공용 엔드포인트 (인증 불필요):
GET /health- 상태 확인GET /- 서비스 정보GET /tools- 사용 가능한 도구 나열
비용
배포 옵션과 관계없이 Gemini API 사용료는 항상 지불해야 합니다. Mnemo는 표준 입력보다 훨씬 저렴한 Gemini의 컨텍스트 캐싱을 사용합니다:
리소스 | 비용 |
캐시 저장소 | 시간당 1M 토큰당 약 $4.50 |
캐시된 입력 | 일반 입력 대비 75-90% 할인 |
일반 입력 | 1M 토큰당 약 $0.075 (Flash) |
예시: 100K 토큰 코드베이스를 1시간 동안 캐시하고 10번 쿼리 시 ≈ $0.47
Cloudflare 비용 (자체 호스팅):
Workers: 무료 티어는 일일 100K 요청 포함
D1: 무료 티어는 일일 5M 읽기 포함
적당한 사용량의 경우 비용은 거의 $0
아키텍처
┌─────────────────────────────────────────────────────────────┐
│ Mnemo │
├─────────────────────────────────────────────────────────────┤
│ MCP Tools │
│ • context_load - Load into Gemini cache │
│ • context_query - Query cached context │
│ • context_list - Show active caches │
│ • context_evict - Remove cache │
│ • context_stats - Token usage, costs │
│ • context_refresh - Reload cache │
├─────────────────────────────────────────────────────────────┤
│ Adapters (v0.2) │
│ • GitHub repos (via API) │
│ • URL loading (HTML, PDF, JSON, text) │
│ • Token-targeted crawling │
│ • robots.txt compliance │
├─────────────────────────────────────────────────────────────┤
│ Packages │
│ • @mnemo/core - Gemini client, loaders, adapters │
│ • @mnemo/mcp-server - MCP protocol handling │
│ • @mnemo/cf-worker - Cloudflare Workers deployment │
│ • @mnemo/local - Bun-based local server │
└─────────────────────────────────────────────────────────────┘라이선스
MIT
크레딧
제작: Logos Flux | Voltage Labs
This server cannot be deployed
Maintenance
Related MCP Connectors
Shared memory for coding agents. Stop re-explaining your codebase every session.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Your portable context layer — load it into any AI.
Shared memory for AI tools: save once, recall word for word from Claude, ChatGPT, Codex or Gemini.
Related MCP Servers
- AlicenseBqualityCmaintenanceProvides AI assistants with persistent memory of your project architecture, development history, and technical decisions, allowing them to give context-aware coding help without needing repeated explanations.1661 npm2MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI coding assistants with persistent, context-rich memory of a codebase, including documentation and git history, enabling recall across sessions.105Apache 2.0
- AlicenseCqualityAmaintenanceGives AI coding assistants persistent project memory and semantic code search, running fully locally with no API keys required.56MIT
- AlicenseNot gradedqualityBmaintenanceLoads entire codebase into LLM context for AI-assisted code understanding and editing.8 npm17MIT