- Hybrid BM25 + HNSW vector search with context enrichment - Knowledge graph with entities, relations, and community detection - Host-following LLM route with fallback backends - 3-tier lint system (static + HNSW dup + contradiction detection) - Q&A Synthesis (Karpathy LLM Wiki pattern) - 16 MCP tools for agent-driven workflows - Incremental wiki generation with checkpointing - SQLite-backed item store with FTS5 + vector indexes
2.3 KiB
2.3 KiB
PLAN: habraid MCP 서버 추가
목표
habraid에 MCP (Model Context Protocol) 서버를 추가해서, Hermes가 habraid의 기능을 도구로 직접 호출할 수 있게 한다.
배경
현재 habraid은 CLI로만 동작함. Hermes가 위키 상태를 확인하거나 수동으로 sync를 돌리려면 terminal에서 명령어를 쳐야 함. MCP 서버를 붙이면 Hermes가 자연어로 "위키 상태 확인해줘" → habraid MCP 도구 호출로 바로 실행 가능.
설계
MCP 서버 방식
- stdio transport (Hermes MCP 클라이언트와 동일 방식)
- 진입점:
src/mcp-server.ts - 실행:
npx tsx src/mcp-server.ts
제공 도구 (Tools)
| 도구명 | 설명 | 파라미터 |
|---|---|---|
| wiki_status | Vault 통계 조회 | 없음 |
| wiki_lint | Vault 무결성 검사 | 없음 |
| wiki_ingest | MemPalace → raw/ 수집 | full (boolean, optional) |
| wiki_generate | 위키 페이지 생성/갱신 | 없음 |
| wiki_sync | 전체 파이프라인 실행 | noWiki (boolean, optional) |
| wiki_read | 위키 페이지 내용 읽기 | path (string) |
| wiki_search | 위키 페이지 검색 | query (string) |
MCP 서버 구현 위치
src/
├── mcp-server.ts # MCP 서버 진입점 (stdio transport)
└── mcp/
├── tools.ts # 도구 스키마 정의
└── handlers.ts # 도구 핸들러 (기존 모듈 재사용)
의존성 추가
@modelcontextprotocol/sdk— MCP 서버 프레임워크
Hermes 설정
mcp_servers:
mempalace:
command: ~/.mempalace/venv/bin/python
args:
- -m
- mempalace.mcp_server
- --palace
- ~/.mempalace/palace
habraid:
command: ~/.habraid/app/node_modules/.bin/tsx
args:
- ~/.habraid/app/src/mcp-server.ts
구현 순서
@modelcontextprotocol/sdk설치src/mcp/tools.ts— 도구 스키마 정의src/mcp/handlers.ts— 핸들러 구현 (기존 모듈 래핑)src/mcp-server.ts— 서버 진입점- 빌드 + 동작 테스트
- Hermes config.yaml에 MCP 서버 등록
- Hermes 재시작 후 도구 인식 확인
주의사항
- 기존 CLI 기능은 그대로 유지 (MCP는 추가 기능)
- MCP 핸들러는 CLI commands의 로직을 직접 재사용
- config.json 경로는 환경변수나 기본 경로 사용