Skip to content

LensWordLearn words that stick.

Spaced repetition, forced recall, and memory-palace visualization β€” across a web app, desktop shell, browser extension, and MCP server.

LensWord

What LensWord is ​

LensWord is an open-source vocabulary trainer that forces spaced-repetition recall instead of passive review, and lets you anchor words spatially in a memory palace (the method of loci). It's a FastAPI + Postgres backend behind a Vite/React web app, with an optional desktop shell, browser extension, and MCP server for AI clients β€” see Choose your surface for what each one is good for and how mature it is today.

SurfacePurposeRequiresStatus
Web ApplicationBrowser-based vocabulary learning and review interface.apps/backendpublic
Desktop ApplicationTauri 2 desktop shell wrapping the web frontend, remote-only (no bundled backend or database).apps/backend (remote, reachable server required)unreleased
No git tag or GitHub Release has ever been created. README states explicitly: 'No release has been published yet.'
Browser ExtensionChrome MV3 extension to capture selected words from any webpage into a LensWord group.apps/backendpublic-dev-mode-only
Functional but not published to the Chrome Web Store; zero CI coverage. v1 scope hardcoded to Spanish, no translations.
MCP ServerModel Context Protocol server exposing LensWord actions to MCP clients (Claude, Codex, Cursor, etc.) over stdio by default, or Streamable HTTP when explicitly enabled.apps/backendpublic-source-install-only
Not published to PyPI. No CI coverage despite having its own pytest suite. Remote HTTP transport is double-gated off by default (REMOTE_MCP_ENABLED on the backend + LENSWORD_MCP_TRANSPORT/LENSWORD_MCP_REMOTE_ENABLED on the MCP process) and has no live interop test against a real third-party MCP host.
Local CLICommand-line entry point ('lensword') distinct from the MCP server, with add/explain/diagnose/review/import-context subcommands.apps/backend (all subcommands except import-context)public-source-install-only
import-context is read-only/offline by design (never writes, never contacts the backend, redacts secrets, 50,000-char default cap). Other subcommands need the same backend env vars as the MCP server.

How these docs are organized ​

This site follows the DiΓ‘taxis framework, so each page has one job:

  • Setup β€” a tutorial. Follow it once, end to end, to get LensWord running.
  • Install β€” how-to guides. Task-oriented recipes for a specific surface or problem.
  • Learn β€” explanation. Understand how the pieces fit together and why.
  • Reference β€” lookup material. ADRs, config, the changelog, and what's verified.

No tagged release exists yet for any surface β€” this documentation describes the current development branch, evaluated with evidence rather than assumed. See Trust & verification for the full picture.

Released under the MIT License. No tagged release exists yet β€” see the Trust section.