# LLM Wiki: An Autonomous, Self-Maintaining Personal Knowledge Base Powered by Claude

> LLM Wiki turns a folder of documents, web clippings, and notes into a persistent personal Wikipedia that Claude maintains automatically over MCP, building and updating linked pages each time new material arrives.

**lucasastorian/llmwiki** — Open Source Implementation of Karpathy's LLM Wiki. Upload documents, connect your Claude account via MCP, and have it write your wiki ! 

- Repository: https://github.com/lucasastorian/llmwiki
- Website: https://llmwiki.app
- Stars: 1,657 · Forks: 237
- Language: Python
- License: Apache-2.0
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/lucasastorian-llmwiki

## What LLM Wiki Does and Who Should Build One

LLM Wiki solves a specific problem: captured reading and research accumulates in scattered PDFs, notes, and browser tabs, but synthesizing it into a usable reference takes more time than most people spend. The README describes LLM Wiki as an autonomous, self-maintaining personal Wikipedia built and maintained by AI.

The target users are individuals who read research papers, web articles, or documents and want the system to do the synthesis work. The README describes three scales of use: a personal Wikipedia of what you have read that you do not have to remember to update; a context layer that gives an LLM access to your own mental models when it works with you; and an institutional knowledge layer for organizations whose expertise lives in employees' heads.

The project is inspired by Andrej Karpathy's LLM Wiki concept, with an increased emphasis on autonomous maintenance through scheduled Claude runs. The README refers to this as a Claude Routine, a scheduled prompt that runs on its own on Anthropic's cloud infrastructure even when your laptop is closed, or as a desktop scheduled task that runs on your own machine.

The codebase is Python and Next.js, licensed under Apache-2.0, with the last push on 2026-09-19.

## How the Workspace, Indexer, and MCP Pipeline Work Together

The core architecture has three parts. First, a workspace: a folder on disk where LLM Wiki indexes your files. The README is specific that it never moves, modifies, or uploads your files. When you run `./llmwiki open` against a folder, LLM Wiki adds a `wiki/` folder for generated pages and a hidden `.llmwiki/` index inside that folder. Nothing else changes in your filesystem.

Second, an MCP server that Claude can connect to. The `./llmwiki mcp-config` command prints a JSON block that you paste into `claude_desktop_config.json` (Claude Desktop) or `.claude/settings.json` (Claude Code). Once that connection is established, Claude can read, write, and search your wiki over MCP. Each workspace becomes one MCP server entry, so you add one entry per folder.

Third, a nightly Claude Routine. The README provides a sample prompt that instructs Claude to find everything added to the workspace since its last run, read each new item, and update the wiki pages those sources touch, creating new pages where warranted and fixing cross-references. The README notes that the wiki compounds over time: a year from now you can open it and read back the ideas you were working through a year ago.

The local API listens on `127.0.0.1` and does not support LAN or remote binding. The web app runs on `localhost:3000`.

## Setting Up LLM Wiki Locally

The README requires Python 3.11 or later and Node.js 20 or later. LibreOffice is optional for Word and PowerPoint extraction. A `MISTRAL_API_KEY` is optional for higher-quality PDF OCR.

On macOS or Linux:

```bash
git clone https://github.com/lucasastorian/llmwiki.git
cd llmwiki
python -m venv .venv && source .venv/bin/activate
pip install -r api/requirements.txt -r mcp/requirements.txt
cd web && npm install && cd ..
```

After installation, open a workspace folder:

```bash
./llmwiki open ~/research
```

This initializes the workspace, indexes the folder, starts the API and web app, and opens `localhost:3000`. The README notes this starts the background file watcher, so any file dropped into the folder is picked up and indexed automatically.

To configure MCP for Claude:

```bash
./llmwiki mcp-config ~/research
```

The printed JSON goes into Claude Desktop's or Claude Code's settings file. One workspace, one MCP server entry. The README instructs you to tell Claude: "Read the guide, then ingest my sources and start building the wiki."

The `.env.example` shows the expected configuration variables, including `DATABASE_URL`, `SUPABASE_URL`, Voyage AI embeddings keys (optional for v1), and AWS keys for hosted uploads. The `docker-compose.yml` shows a Postgres 16 container as the database backend for the self-hosted mode.

## Adding Content: File Uploads and the Chrome Extension

LLM Wiki accepts content in two ways. The first is direct file upload: drag files into the web app, or drop them into the workspace folder and the background watcher picks them up. Supported formats according to the README include Markdown, PDF, Word, PowerPoint, Excel, and images.

The second method is the Chrome extension. The README describes it as a way to clip web pages and PDFs as you read, highlight sections that matter, and leave comments. Everything saved through the extension lands in the same workspace. The highlights and notes are visible to Claude over MCP, so the nightly routine can reference not just the source text but your annotations alongside it.

The README makes a specific point about this design: the wiki becomes a record not just of what you read but what you thought about it, one that compounds over months and years, long after the original context would have faded. The Chrome extension ID used in `.env.example` is `dibilaenlekndomfbampadehjeahemha`.

The web app includes a graph viewer to see how concepts and entities relate, native cross-linking between wiki pages and back to the sources they came from, and visualizations including charts, SVGs, and Mermaid diagrams.

## Limitations: Local-Only API and Configuration by Hand

The local mode has a hard constraint: the API listens on `127.0.0.1` and the README explicitly states it does not support LAN or remote binding. This means LLM Wiki in local mode is a single-machine tool. Two people cannot share one workspace over a network in local mode. The hosted version at llmwiki.app removes this constraint, but the README does not detail the data handling policy for the hosted service.

Configuration requires editing files directly. The README acknowledges there is no first-run setup wizard, which means setting up MCP config, API keys, and database URLs requires manual file editing. The `.env.example` lists a range of optional services: Voyage AI for embeddings, TurboPuffer, Cloudflare AI Gateway for rate limiting, and AWS S3 for hosted uploads. Each adds a configuration step.

For PDF OCR, the higher-quality path requires a `MISTRAL_API_KEY`, and the standard PDF handling requires LibreOffice for Word and PowerPoint extraction. A completely fresh machine has several setup steps before LLM Wiki can index a mixed document collection.

## LLM Wiki vs. NotebookLM: Different Architectures for Knowledge Work

Google's NotebookLM is a hosted web application where you upload sources and the LLM generates summaries, answers questions, and produces podcast-style audio from those sources. It runs entirely on Google's infrastructure, requires a Google account, and does not write persistent, cross-linked wiki pages to your filesystem.

LLM Wiki is different in design and intent. The README describes the architecture as write-first: Claude's job is to synthesize sources into durable wiki pages that live on your disk and persist between sessions. NotebookLM is session-oriented: you interact with a set of sources and the conversation ends when you close the tab. LLM Wiki's pages accumulate; a page written in January gets updated in March when new sources touch the same topic.

The MCP architecture also means LLM Wiki can be used from any MCP-compatible client, including Claude Code and Claude Desktop, not just through the llmwiki.app web interface. NotebookLM is Google-hosted and has no equivalent extensibility. The trade-off is that LLM Wiki requires local infrastructure, Python dependencies, and a Claude API key, while NotebookLM is ready to use with a Google account.

## Conclusion

LLM Wiki is a good fit for individuals who read widely, capture highlights and notes in multiple formats, and want those sources synthesized into a persistent, queryable knowledge base without manual curation. It is less suitable as a team wiki because the local mode is intentionally loopback-only and not designed for shared access, and the README notes that configuration currently requires editing files directly with no first-run setup wizard. The correct first step is running `./llmwiki open` against an existing folder of documents to verify that the indexer handles your file types correctly before setting up a nightly Claude Routine.

## FAQ

### What is LLM Wiki?

LLM Wiki is an open-source tool that turns a folder of documents, web clips, and notes into an autonomous, AI-maintained personal wiki. Claude reads new material over MCP and updates linked wiki pages automatically, so the knowledge base grows without manual curation.

### How do I install LLM Wiki?

Clone the repository, create a Python virtual environment, run `pip install -r api/requirements.txt -r mcp/requirements.txt`, then `cd web && npm install`. Requires Python 3.11+ and Node.js 20+. Open a workspace with `./llmwiki open <folder>`.

### Is LLM Wiki a RAG system?

The README does not describe LLM Wiki as a RAG system. It uses a search index for finding documents and MCP for Claude to read and write wiki pages. The design is write-first: Claude synthesizes sources into durable pages rather than retrieving documents at query time to augment a response.

### How does LLM Wiki compare to Obsidian?

Obsidian is a local Markdown note editor where the user creates and links notes manually. LLM Wiki automates the writing step: Claude reads your sources and writes the wiki pages, creating and updating cross-links as new material arrives. LLM Wiki requires Python, Node.js, and a Claude API key; Obsidian requires no external API.

## Sources

- [Issues](https://github.com/lucasastorian/llmwiki/issues)
- [License: Apache-2.0](https://github.com/lucasastorian/llmwiki/blob/master/LICENSE)
- [lucasastorian/llmwiki on GitHub](https://github.com/lucasastorian/llmwiki)
- [Project website](https://llmwiki.app)
- [README](https://github.com/lucasastorian/llmwiki/blob/master/README.md)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/lucasastorian-llmwiki
