Files
HaBraid/docs/plans/PLAN-MCP.md
Contributor 5d5336757d feat: HaBraid v0.1.0 — host-following memory visualization engine for Obsidian
- 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
2026-04-18 15:46:42 +09:00

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

구현 순서

  1. @modelcontextprotocol/sdk 설치
  2. src/mcp/tools.ts — 도구 스키마 정의
  3. src/mcp/handlers.ts — 핸들러 구현 (기존 모듈 래핑)
  4. src/mcp-server.ts — 서버 진입점
  5. 빌드 + 동작 테스트
  6. Hermes config.yaml에 MCP 서버 등록
  7. Hermes 재시작 후 도구 인식 확인

주의사항

  • 기존 CLI 기능은 그대로 유지 (MCP는 추가 기능)
  • MCP 핸들러는 CLI commands의 로직을 직접 재사용
  • config.json 경로는 환경변수나 기본 경로 사용