krakiun/llmwiki

krakiun/llmwiki (also known from the kurdin fork as kurdin/llmwiki-rust) is a single Rust binary that replaces index.md navigation with BM25 + semantic + hybrid search via MCP. It is the most complete Rust implementation of Karpathy’s LLM Wiki pattern.

Features (confidence: high)

  • Zero-token search: LLM uses search() tool instead of loading index.md into context
  • Three search modes: keyword (Tantivy BM25), semantic (fastembed + usearch), hybrid (RRF fusion)
  • MCP server with 5 tools: search, read, write, reindex, list (plus list_wikis, switch_wiki, session_start, session_end in the krakiun fork)
  • Multi-wiki registry: Manage multiple wikis from ~/.llmwiki/wikis.json
  • Graph search: Expand results via wiki link graph with hops/backlinks/similarity
  • Offline: No API keys, no cloud — all embeddings are local
  • Incremental indexing: Only reindexes changed files via content hash

Scaling Properties (confidence: high)

llmwiki maintains constant token cost per query regardless of wiki size — the key differentiator from the basic Karpathy pattern where index.md grows with page count. Tested up to 10,000 pages.

Quick Start

cargo install llmwiki
cd my-wiki && llmwiki init && llmwiki index && llmwiki serve

Implications

llmwiki solves the scaling problem that limits basic Karpathy wikis to ~100 pages. By replacing index.md with a search index, it removes the context window bottleneck entirely — the LLM never loads the full page list. This is the most architecturally clean solution to the scaling problem in the ecosystem.

  • llm-wiki — The pattern this implements
  • geronimo-iia-llm-wiki — Another Rust wiki engine with 23 MCP tools
  • qmd — Tobias Lütke’s hybrid search for markdown (similar approach, different language)
  • nashsu-llm-wiki — First major implementation, also has MCP

Sources

  • raw/articles/krakiun-llmwiki-rust.md