Skip to main content
Glama

Memory MCP Server

by inchan
CLAUDE.md5.5 kB
# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project Overview 이 프로젝트는 **Memory MCP (Olima + Basic-Memory + Zettelkasten + PARA)** 시스템으로, 로컬 퍼시스턴트 메모리를 MCP 서버로 노출하는 프로젝트입니다. Claude 등 MCP 호환 에이전트에서 즉시 활용할 수 있는 지식 관리 시스템을 구축하는 것이 목표입니다. ## Architecture ### Core Technology Stack - **Runtime**: Node.js 18+ / TypeScript 5+ - **Storage**: Markdown + YAML Front Matter, 로컬 파일 시스템 - **Search**: SQLite FTS5 (전문 검색) + 링크 그래프 - **Organization**: PARA (Projects/Areas/Resources/Archives) + Zettelkasten - **Interface**: MCP 표준 서버/CLI (`npx memory-mcp`) ### Package Architecture ``` project/ ├── packages/ │ ├── mcp-server/ # MCP 인터페이스/툴 노출 │ ├── storage-md/ # MD 저장/로드/Front Matter 처리 │ ├── index-search/ # FTS/그래프 인덱싱 & 검색 │ ├── assoc-engine/ # 연상(Olima) 엔진 │ └── common/ # 스키마/유틸/로깅 └── docs/ # 설계/스펙/로드맵 ``` ### Key Components 1. **MCP Server Core**: 프로토콜 서버와 CLI 제공, 표준 에러 처리/재시도 전략 2. **Storage Layer**: Markdown 파일 관리, Front Matter 스키마, 원자적 쓰기 3. **Indexing & Search**: SQLite FTS5 기반 전문 검색, 링크 그래프 탐색 4. **Association Engine (Olima)**: 세션 문맥 기반 연상 검색과 자동 추천 5. **Zettelkasten Linking**: UID/백링크/고아노트 관리 ## Data Model ### Front Matter Schema ```yaml --- id: "20250927T103000Z" # 타임스탬프 기반 UID title: "노트 제목" category: "Resources" # PARA: Projects/Areas/Resources/Archives tags: ["tag1", "tag2"] # 분류 태그 project: "project-name" # 프로젝트 연결 (선택) created: "2025-09-27T10:30:00Z" updated: "2025-09-27T10:30:00Z" links: ["other-note-id"] # 연결된 노트들 --- ``` ## Development Workflow ### Commands 이 프로젝트는 npm workspaces를 사용하는 모노레포 구조입니다. 루트에서 모든 패키지를 한번에 빌드/테스트할 수 있습니다: ```bash # 모든 패키지 빌드 npm run build # 모든 패키지 개발 모드 (watch) npm run dev # 테스트 실행 npm test npm run test:watch npm run test:coverage # 린트 & 타입 체크 npm run lint npm run lint:fix npm run typecheck # 정리 npm run clean # MCP 서버 실행 npm start # 또는 npx memory-mcp --vault ~/vault --index ~/.memory-index.db ``` ### 개별 패키지 작업 특정 패키지에서만 작업하려면: ```bash # 특정 패키지로 이동 cd packages/mcp-server # 개별 패키지 명령어 실행 npm run build npm run dev npm test npm run test:watch npm run clean # 또는 루트에서 특정 패키지 대상으로 실행 npm run build --workspace=@memory-mcp/mcp-server ``` ### Code Conventions - 변수/함수: `camelCase` - 클래스: `PascalCase` - 상수: `UPPER_SNAKE_CASE` - 커밋 메시지: Conventional Commits (`feat:`, `fix:`, `docs:`, etc.) ## Quality Standards ### Performance KPIs - 검색 P95 지연시간 < 120ms (1만 노트 기준, 로컬) - 증분 색인 < 3초 - 전체 색인 재빌드(1만 파일) < 5분 - 초기 부팅 후 인덱스 준비 < 8초 ### Security Requirements - 로컬 우선, 네트워크 송출 기본 비활성 - 민감정보 정규식 마스킹 (>95% 정탐율) - 원자적 파일 쓰기, fsync 보장 - 데이터 손실 0 ### Testing - 테스트 커버리지 80%+ - 유닛/통합/부하 테스트 ## Project Structure & Navigation ### Key Documentation - `docs/ROADMAP.md`: 에픽/기능/스펙 트리 구조와 목표 - `docs/TECHNICAL_SPEC.md`: 기술 스택/보안/관측/KPI - `docs/ARCHITECTURE.md`: 패키지 구성, 시퀀스 다이어그램, 데이터 모델 - `docs/GOALS.md`: 주요 목표와 마일스톤/KPI - `docs/specs/*`: 에픽-기능별 폴더, 상세 스펙 문서들 ### Epic Structure 1. **MCP서버코어**: 프로토콜CLI, 설정관리, 오류처리 2. **저장소(Markdown/PARA)**: 파일스키마, 워처동기화, 보안보강 3. **인덱싱&검색**: 텍스트인덱스FTS, 링크그래프, 쿼리DSL 4. **연상엔진(Olima)**: 연관추천, 세션컨텍스트, 리플렉션 5. **링킹(Zettelkasten)**: 링크파서, 백링크관리, 고아노트 6. **배포/패키징**: npm/npx, Docker, CI/CD ## Implementation Notes 이 프로젝트는 5개의 모듈화된 패키지로 구성된 TypeScript 기반 모노레포입니다: ### Package Dependencies ``` mcp-server (CLI/서버) ├── storage-md (Markdown 처리) ├── index-search (SQLite FTS5 검색) ├── assoc-engine (Olima 연상 엔진) └── common (공통 스키마/타입) ``` ### Key Dependencies - **better-sqlite3**: SQLite FTS5 전문 검색 - **gray-matter**: Markdown Front Matter 파싱 - **chokidar**: 파일 시스템 감시 - **commander**: CLI 인터페이스 - **zod**: 스키마 검증 ### Development Focus Areas - 모듈화된 패키지 구조로 각 컴포넌트의 독립성 보장 - SQLite FTS5와 링크 그래프의 효율적인 통합 - MCP 표준 준수와 Claude 등 에이전트와의 호환성 - 로컬 파일 시스템 기반의 안전한 데이터 관리 - Olima 연상 엔진의 세션 문맥 활용

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/inchan/memory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server