llmwiki-serve는 이미 보유한 Markdown, Obsidian 스타일 또는 LLMWiki 폴더를 에이전트가 검색하고 읽을 수 있는 로컬 지식 소스로 투영한다.
새로운 위키 작성기나 답변 생성기가 아니라, 기존 문서를 그대로 두고 필요한 출처를 찾아주는 읽기 전용 계층이다.

CLI·HTTP·MCP Streamable HTTP로 같은 자료를 노출하므로 Codex, Claude Code, IDE 에이전트, 자체 스크립트 등에 연결할 수 있다.
검색 결과는 페이지 제목과 경로, source reference, 문서 관계 힌트를 포함해 다음 단계의 에이전트가 근거를 확인하도록 돕는다.

llmwiki-serve 공식 첫 실행 데모 포스터

왜 유용한가

프로젝트 문서는 README 하나로 끝나지 않는다.
ADR, 기능 명세, 릴리스 체크리스트, 회의 기록, 개인 Obsidian 노트를 매번 프롬프트에 붙이는 대신, 에이전트가 관련 문서를 찾고 필요한 범위만 읽도록 연결할 수 있다.

  • Markdown heading, front matter, 태그, Obsidian wikilink와 문서 간 링크를 처리한다.
  • 기본 lexical 검색은 로컬에서 실행되며 모델 호출이나 임베딩 다운로드가 필요 없다.
  • CLI·HTTP·MCP가 하나의 읽기 전용 projection을 공유한다.
  • draft와 unpublished 상태의 문서는 기본 검색에서 제외된다. 이는 접근 제어 기능과는 다르다.
  • 기본 서버는 웹 크롤링, 최종 답변 생성, 원본 문서 수정 또는 업로드를 하지 않는다.

2026년 9월 30일 확인한 최신 공개 버전은 0.2.14다.
PyPI 배포판은 Python 3.11 이상을 요구하고 저장소에는 Apache-2.0 라이선스가 포함되어 있다.
프로젝트는 아직 public preview로 안내된다.
PyTorch Korea 게시물의 0.2.13 이후 0.2.14에서는 CLI 버전 확인 옵션이 추가됐다.
선택 기능인 System-One/Jev 검색 행동 가이드는 기본 비활성화이며, 켜면 마스킹된 쿼리와 구조 정보가 외부 제공자로 전달될 수 있다.
이는 기본 로컬 검색과 구분해야 한다.

설치와 첫 사용

공식 PyPI 패키지를 uv 도구로 설치한다.

uv tool install llmwiki-serve==0.2.14
llmwiki-serve --version

기존 폴더에서 문서 목록을 확인하고 질의할 수 있다.

llmwiki-serve manifest ./my-wiki
llmwiki-serve query ./my-wiki "release readiness"

HTTP 서버로 열려면 로컬 인터페이스에 바인딩한다.

llmwiki-serve serve ./my-wiki --host 127.0.0.1 --port 8765

다른 터미널에서 /query를 호출할 수 있고, MCP Streamable HTTP 클라이언트에는 다음 주소를 등록하면 된다.

http://127.0.0.1:8765/mcp/stream

MCP 사용 시에는 우선 llmwiki_context로 관련 context pack을 찾고, 필요에 따라 llmwiki_search, llmwiki_read, llmwiki_graph 등으로 문서 범위를 좁히는 흐름이다.

활용 포인트

  • 코드 변경 전 관련 설계 결정과 기능 명세를 찾아 읽게 하기
  • 릴리스 준비 작업에서 로컬 체크리스트와 운영 문서를 근거로 삼기
  • Obsidian의 프로젝트 노트를 IDE 에이전트가 검색하게 하기
  • 내부 스크립트에서 검색·문서 읽기 API를 호출해 자료의 출처 경로를 보존하기

기본 기능만으로 검색 품질이 충분하지 않은 경우에만 [vector] extra와 FastEmbed provider를 검토하면 된다.
모델 다운로드와 의미 기반 검색은 선택 기능이므로, 기본 설치부터 벡터 데이터베이스를 운영할 필요가 없다.

주의할 점

읽기 전용이라는 점은 원본 파일 변조를 줄여주지만, 서버가 반환하는 문서 내용은 민감 정보를 포함할 수 있다.
예시는 127.0.0.1 loopback에 바인딩한다.
비 loopback에 노출할 경우 공식 문서가 권장하는 HTTPS, 인증, 명시적 CORS 설정을 먼저 검토해야 한다.
CORS 허용 목록을 바꾸는 옵션은 기본 허용 목록을 대체할 수 있으며, 로그와 graph metadata에도 민감한 경로·정보가 남는지 확인할 필요가 있다.
기본 I/O debug 로그가 질의와 제한된 응답 내용을 포함할 수 있어 끄는 설정(--io-log off)도 제공된다.
저장소는 enterprise 인증 시스템이나 호스팅형 RAG를 표방하지 않는다.

또한 lexical 검색은 모델 없이 동작하는 대신 의미가 비슷하지만 단어가 다른 문서를 놓칠 수 있다.
비공개 상태 필터는 실제 접근 제어를 대체하지 않는다.
선택형 vector 검색과 Redis/Valkey 캐시도 기본 기능이 아니며, 캐시를 켤 경우 파생 graph 데이터의 저장 위치와 민감성을 따로 검토해야 한다.

내 판단

프로젝트 지식이 Markdown이나 Obsidian에 이미 정리되어 있고, 코딩 에이전트가 변경 전에 그 문서를 근거로 읽게 하고 싶다면 작은 로컬 서버로 시험할 만하다.
반대로 문서 수집·정제·생성부터 관리하는 위키 플랫폼, 정교한 권한 제어가 필요한 다중 사용자 서비스, 완성된 답변을 반환하는 RAG 앱을 찾는다면 역할이 다르다.

참고한 공개 자료