Lanternote

io.github.ericthai-labsPublished by GitHub account ericthai-labsv1.25.1Updated Nov 11, 2026

Search, read and query large folders of Markdown notes (200,000+). Optional, reversible edits.

Overview

AI-generated overview

Connects an AI assistant to a local folder of Markdown notes so it can search, read, query, list tasks and optionally edit them.

What you can do
  • Search and read notes across a large Markdown folder, including full-text search and quick open by name
  • Run live queries and table views over the notes, and list tasks with due dates
  • Check a quotation and its numbers against the source note before citing it
  • Edit notes only when editing is enabled, with every change logged and reversible
When to use it
Useful when your notes live as plain Markdown files in a folder and you want an assistant to find, read and cite them, or to make small edits you can review and undo. It suits large libraries where manual searching is slow.
Requirements
Runs as a local desktop extension (mcpb) on Windows, macOS or Linux; for Claude Desktop, double-click the package and choose your notes folder. No account, API key or network connection is needed. Building from source requires Node.js 22 or later and Git.
Before you install
Notes the assistant reads are sent to that assistant's provider. Editing is off by default; when enabled, the assistant can change files, so limit it to chosen folders and rely on the change log and undo. The app is not code-signed, so the system may warn on first launch.

Installation

In SourceWeft

  1. Open Lanternote in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[Lanternote — your notes, as a galaxy]

Lanternote

A fast, private desktop app for very large folders of Markdown notes.
Read, edit, search, query and map 240,000 notes on Windows, macOS or Linux — no account, no cloud, no graphics card needed.
New in 1.25: table views in .base files · document status (superseded, draft, review due) · copy as citation (Ctrl+Shift+C).

[Release] [Platform] [Offline] [License]

Download · Features · Performance · User guide · Build from source · Changelog


[Lanternote in 20 seconds: quick open, full-text search over 139,000 notes, the Command Center, the galaxy and the link graph]
20 seconds on a made-up folder of 139,434 notes: quick open · full-text search · Command Center · galaxy · link graph

Why Lanternote

  • Built for size. Tested on a real library of 240,000 notes and 3.1 million links: it reopens in about 2 seconds and searches in milliseconds.
  • Runs on any PC. The link graph and the galaxy are drawn without a graphics card. Portable: one .exe, no installation, no admin rights.
  • Your files stay yours. Plain .md files in a folder you choose. Nothing is uploaded, nothing phones home, everything works offline.
  • More than a reader. Live queries, table views, task lists, calendars, Kanban boards, canvases and a Command Center page — all stored as ordinary files.
  • Knows which document is current. Superseded documents are flagged and listed last; copy any passage as a citation with its source, heading and revision.
  • Works with your AI assistant. Claude and other MCP assistants can search and, if you allow it, edit your notes — every AI change keeps the old text.

Features

Command Center

One page with what matters today — projects, due dates, open tasks, a calendar, recent notes. It is built from an ordinary note you can edit.

[Command Center]

Your notes as a galaxy

Every star is a note, every arm a folder, and notes you edited this week shine. Zoom in to read names, click a star to open it.

[Galaxy of notes]

Link graph on any PC

The Map engine lays out hundreds of thousands of notes once, in the background, and draws them like a digital map — no GPU required. A Live GPU engine is there when you have one.

[Link graph]

Editing that protects your work

Live preview (Markdown marks hide away from the cursor; checkboxes, pictures and links work as you write), tabs, and a right pane to read one note while you write another. Auto-save, per-note undo, [[ and # completion, paste images, rename with link updates, and version history. If a file changes on disk while you edit, you choose which version to keep.

[Editor]

Search everything, instantly

Full-text search across every note, accent-insensitive: "exact phrases", -exclusions, OR, path:, title:, tag: — and *1133 finds a fragment inside a word or a part number. Quick open (Ctrl+O) finds any note by name as you type.

[Search]

Live queries

Tables, lists, task lists and month calendars from ```dataview blocks, written in the Dataview query language — refreshed as your notes change.

[Live queries]

Tasks and calendars

Collect tasks from every note, sort them by due date and tick them right in the results — the note is updated on the spot.

[Tasks]

Kanban boards

Drag cards between lanes. Boards are plain Markdown notes in the common board format, so they stay readable anywhere.

[Kanban board]

Read without leaving the page

Point at a link to preview the note (or just the heading it points to) in a card you can scroll and click in. Footnotes jump to their text and back; bookmarks keep the notes you use most above the file list.

[Link preview]

Unlinked mentions

See every note that writes this note's name — or one of its aliases — without linking it, and turn a mention into a link in one click, keeping the words as written.

[Unlinked mentions]

Canvas

Lay out notes, text and links on an infinite board. Canvases use the open JSON Canvas format.

[Canvas]

Connect an AI assistant

Built-in MCP server: search, read, run queries, list tasks, check a quotation and its numbers against the note before citing it (verify_quote) and — only if you allow it — write. Limit it to chosen folders; every change is logged and reversible. For Claude Desktop, just double-click lanternote-<version>.mcpb from the release.

[AI connection settings]

Table views

A .base file describes table views of your notes in YAML: filters, computed columns, sorting, grouping and summary rows, with several views as tabs. Open it on its own or embed it in a note with ![[Reports.base#View]] — inside an embed, this is the note that holds it, so one view file lists the right rows for every note it is placed in.

Document status and citations

From the front matter (status, superseded_by, review_due, revision): superseded documents get a warning with a link to the current one and come last in search and quick open; overdue reviews and drafts are labelled. Ctrl+Shift+C copies the selected text as a quote with a link to its note and heading, the document id, revision and effective date.

Also included: wiki links with headings, blocks and aliases · footnotes · folding of headings, lists and code in the editor · embeds (![[note]], images, audio, video) · backlinks and outline · front-matter properties · tags and nested tags · callouts · highlights and comments · Mermaid diagrams · note templates · daily notes · image viewer · command palette · print to PDF · light and dark themes.

[Light theme]

Performance

Measured on a real-world library of 241,865 files, 240,280 notes and 3.16 million links (815 million characters of text) in version 1.25.1, and on a made-up 139,000-note folder used for all pictures in this README.

TaskTime
First open (no cache)≈ 25 s when the files are already on the disk; longer the first time a sync tool has to bring them down
Reopen (cached)≈ 2 s — changes are checked in the background
Full-text search50–150 ms
Search index, built in the background≈ 40 s, once
Table view over every file (file.hasLink(this))≈ 0.3 s
Index update after saving a note5–10 ms in the indexer, 0–4 ms in the window (1.25.0: 3.2 s and 0.7–0.9 s)
Quick open by name≈ 25 ms
Live query over the whole library≈ 0.1 s
Galaxy — one frame≈ 1 ms
Link graph — build≈ 0.15 s
How it stays fast
  • A worker thread owns the index (indexer.js): it reads and parses every note, keeps a compact search index (accent-insensitive, 50 MB for the library above) and answers searches and queries. The window only holds a small index — paths plus a Uint32Array of links — and reads a note's text when you open it.
  • Disk cache (index-cache): parsed notes and the resolved link graph are cached, so a reopen shows the folder at once and only stats files in the background.
  • Incremental updates: editing, adding or deleting a file re-reads only that file, and after an edit only that note's links, tags and status are worked out again — the window receives the difference (about 20 bytes for an ordinary edit), not the index. Changes made by other apps or by sync tools appear within about a second.
  • Graph "Map" engine (layout-worker.js, src/atlas.js): the layout is computed once (Pivot MDS plus neighbour smoothing) and cached; drawing uses level of detail on a 2D canvas, so an idle graph costs no CPU.
  • Graph "Live" engine: cosmos.gl runs both the force layout and the drawing on the GPU. Links of "hub" notes with more than 1,000 links are hidden by default — one note with 72,000 backlinks alone drops the frame rate from ~120 to ~19 FPS.
  • Limits: 1,000,000 files; up to 1.5 GB of text kept for search (beyond that, search covers part of the folder and says so).

Download

Get the file for your system from the latest release:

SystemFileHow to run
Windows 10/11Lanternote-<version>-portable.exeRun it — no installation, no admin rights. For a faster start use Lanternote-<version>-win.zip and run Lanternote.exe inside.
macOS (Apple silicon)Lanternote-<version>-arm64-mac.zipUnzip and move Lanternote.app to Applications.
Linux (x64)Lanternote-<version>.AppImagechmod +x Lanternote-*.AppImage, then run it.

Then click Open a folder and choose your notes. Next time Lanternote reopens the same folder and note.

Only want your AI assistant to read your notes? Download lanternote-<version>.mcpb from the same release and double-click it: Claude Desktop installs the extension and asks for your notes folder. It is read-only unless you turn on Let the AI edit notes, and it works on Windows, macOS and Linux.

[!NOTE] The app is not code-signed yet, so your system may warn you the first time:

  • Windows SmartScreen: More info → Run anyway.
  • macOS: right-click Lanternote.app → Open → Open. If macOS says the app "is damaged", run xattr -cr /Applications/Lanternote.app once.
  • Linux: on Ubuntu 24.04 and later, if the AppImage does not start, run it with --no-sandbox.

The macOS and Linux builds are new: every feature is tested on both systems by CI, but please report anything that looks wrong. Settings, the index cache and recovery copies are kept on each computer (%APPDATA%\Lanternote on Windows).

Press F1 in the app for the built-in guide, or read the illustrated user guide.

Keyboard shortcuts
KeysAction
F1In-app guide
Ctrl+OQuick open
Ctrl+Shift+FSearch every note (tag:#name to filter)
Ctrl+Shift+HCommand Center
Ctrl+G / Ctrl+Shift+GGraph of all notes / around this note
Ctrl+NNew note
Ctrl+ERead ⇄ edit
Alt+EInsert a template
Ctrl+PCommand palette
Ctrl+,Settings
Ctrl+Shift+DLight / dark
Alt+← / Alt+→Back / forward
Ctrl+− / Ctrl+= / Ctrl+0Zoom out / in / reset
EscClose a dialog, leave the galaxy

Privacy

Lanternote reads and writes only the folder you open and its own settings folder. It has no account, no telemetry and no update check; all libraries are bundled, so it runs without a network connection. Pictures linked from the internet (![](https://…)) are not fetched unless you click one or turn on Settings → Files & links → Load pictures from the internet, since fetching them tells the web server when a note is opened. Pictures a note links on this PC outside the folder (![](file:///…)) are shown, and links to documents there (PDF, picture, text) open in their own app; only those file types are read or opened that way, never a program, and Settings → Files & links can turn it off.

The only exception is one you turn on yourself: when you connect an AI assistant, the notes it reads are sent to that assistant's provider. You can make the connection read-only and limit it to chosen folders.

Build from source

Requires Node.js 22 or later and Git. Build outside folders synced by OneDrive or Dropbox — node_modules and the builds are large.

bash
git clone https://github.com/ericthai-labs/lanternote.git
cd lanternote
npm ci          # installs dependencies and bundles the editor into src/vendor
npm start       # run from source
npm run dist:win   # portable .exe and .zip in dist/
Project layout and tests
PathWhat it does
main.js, preload.jsMain process: file access, folder watching, IPC, the vault:// protocol for attachments (paths cannot escape the folder)
indexer.js, search-index.jsWorker thread: parsing, disk cache, search, queries
layout-worker.js, src/atlas.jsGraph "Map" engine
src/graph.jsGraph "Live" engine (cosmos.gl)
src/app.js, src/edit.js, editor/Reader and editor (CodeMirror 6, live preview in editor/live-preview.js)
src/panes.jsTabs and the right pane
src/command.js, src/dataview.js, src/dvview.js, src/kanban.js, src/canvas.jsCommand Center, queries, Kanban, Canvas
src/bases.jsTable view files (.base): YAML, the expression language, filters, sorting, grouping, summaries
mcp/lanternote-mcp.jsMCP server for AI assistants (no extra dependencies); scripts/make-mcpb.js packs it as a Claude Desktop extension
tests/, scripts/drive.jsAutomated tests that drive the app through DevTools
bash
node tests/mcp.js                                    # AI connection, 41 checks
node scripts/drive.js <test-folder> tests/editing.js # UI scenarios — see tests/README.md
node scripts/bench-index.js <folder> <words>         # index and search timings
npm run media -- <work-folder>                        # rebuild guide, adverts and README pictures

Every version bump needs a ## x.y.z entry in CHANGELOG.md; npm run dist:* stops without one. Pushing a tag vx.y.z releases it: CI tests and builds on Windows, macOS and Linux, then publishes the GitHub release (notes from the changelog, via scripts/release-notes.js) and the MCP Registry entry. Run UI tests only on throw-away folders — they create, rename and delete files.

Contributing

Bug reports and suggestions are welcome in Issues. Pull requests are welcome too; contributions are accepted under the Apache License 2.0.

License

Lanternote is open source under the Apache License 2.0:

  • ✅ Free for any use — personal, education, nonprofit and commercial, including internal use at a company.
  • ✅ You may change the code and redistribute it, as long as you keep the licence and the NOTICE file and mark the files you changed.

Versions up to 1.18.0 were released under the PolyForm Noncommercial License 1.0.0; from 1.18.1 on, Lanternote is Apache 2.0.

Bundled open-source libraries keep their own licences, listed in THIRD-PARTY-NOTICES.txt.

Acknowledgements

Lanternote stands on excellent open-source work, including Electron, CodeMirror, cosmos.gl, marked, DOMPurify and Mermaid.


© 2026 Eric Thai - Thai Ba Hoa · Pictures in this README are taken on a made-up folder of notes.

Source: README.md at commit 7c3ee30

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

6
  1. v1.25.1LatestNov 11, 2026
  2. v1.23.0Oct 20, 2026
  3. v1.22.0Oct 6, 2026
  4. v1.20.0Oct 3, 2026
  5. v1.19.0Sep 30, 2026
  6. v1.17.1Sep 28, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts