Ory Lumen plugin
Lumen
A semantic code search plugin for Claude Code, Codex, Cursor and OpenCode that runs entirely on your machine
- 313 ★ on the repository
- Last commit
Extended access
Why this level
- Downloads and runs a binary from a GitHub release on the first session
- Reads the whole project code for indexing and keeps the index on disk
Install
- Works in
Manual install
/plugin marketplace add ory/claude-pluginsThen /plugin install lumen@ory. Before that run ollama pull ordis/jina-embeddings-v2-base-code. Verify with /lumen:doctor.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Downloads and runs a binary from a GitHub release on the first session
- Reads the whole project code for indexing and keeps the index on disk
This is third-party code. Review the repository files before installing.
What it does
Lumen is a plugin with the semantic_search MCP tool that gives a coding agent a map of the project. Instead of reading whole files, the agent finds the functions, types and modules it needs by meaning. Everything runs locally: Ollama or LM Studio builds the vectors, the index sits in SQLite with the sqlite-vec extension, and no external service is needed. At session start Lumen walks the project, builds a Merkle tree over file hashes and reprocesses only what changed. Files are split into semantic chunks (functions, types, methods) using Go's AST or tree-sitter grammars. Lumen knows 12 language families: Go, Python, TypeScript, JavaScript, Svelte, Rust, Ruby, Java, PHP, C and C++, C# and Dart. The bundle also has the health_check and index_status tools and two skills: doctor checks health and reindex rebuilds the index. Git worktrees share one index, so a new worktree is seeded from a sibling in seconds. On the first session the plugin downloads its binary from a GitHub release.
Who it is for. For developers working in large repositories and monorepos with Claude Code, Codex, Cursor or OpenCode who want to cut token spend without sending code to a cloud.
Good fit when
- The agent spends many tokens reading whole files in a large repository
- Code must not leave for an external service
- You need search by meaning ("where is payment retry handled") when the exact string is unknown
- You use several Git worktrees of one repo and do not want to index each from scratch
- You want the same search in Claude Code, Codex, Cursor and OpenCode
Not a fit when
- The project uses a language outside the 12 families: its code is not split into semantic chunks
- You need exact text or regex search: grep is enough
- You need one shared cloud index for the whole team: each developer keeps their own
Example request
Use semantic_search to find where this repo handles webhook retries and show only the relevant functionsLimitations
It needs a running Ollama or LM Studio with a code embedding model. The first run builds the index, which takes time on a big project. The author measured savings with Claude on nine bug-fix tasks across nine languages, and results depend on the repository: in Rust solution quality is poor in both modes. The Codex plugin needs Codex CLI 0.147.0 or newer. GitHub detects the license as NOASSERTION, while the project files state Apache 2.0.
How to disable. In Claude Code run `/plugin uninstall lumen@ory`, in Codex remove the plugin with `codex plugin`, and in OpenCode delete `@ory/lumen-opencode` from the `plugin` array in `opencode.json`. The index can be deleted from `~/.local/share/lumen`.
FAQ
How do I install Lumen in Claude Code?
First pull the model: `ollama pull ordis/jina-embeddings-v2-base-code`. Then run `/plugin marketplace add ory/claude-plugins` and `/plugin install lumen@ory`. Verify in a new session with `/lumen:doctor`.
Does my source code go to a cloud?
No. Vectors and the index stay on your machine, and no API keys are needed.
How much does Lumen save?
The author measured nine tasks in nine languages: session cost dropped in every case, on average from $0.40 to $0.29, and time went from 174 to 125 seconds. Output tokens fell by 37 percent. The raw data and benchmark framework are in the repository.
Which tools and skills appear?
The MCP tools semantic_search, health_check and index_status, plus the doctor and reindex skills. In Claude Code you call them as `/lumen:doctor` and `/lumen:reindex`.
How do I connect Lumen in OpenCode?
Add `@ory/lumen-opencode` to the `plugin` array in `opencode.json` and verify with `opencode mcp list`. The binary and index appear on the first search.
Discussion
No questions or reviews yet.
Related
PluginsCode indexing for LLMs: VectorCode builds repository search and feeds relevant context to an agent via CLI and MCP
CocoIndex Code
CocoIndex Code (ccc)
A plugin for AST-based semantic code search: a skill, an MCP server and the ccc CLI help the agent find code without reading whole files
A local codebase index for agents: hybrid search, dependency graphs and change impact analysis
A semantic code search MCP server: indexes the project into a vector database and gives the agent only relevant snippets
An MCP server that turns a large codebase into a semantic feature graph for precise navigation and meaning-based search
An MCP server that indexes a local repository with tree-sitter and gives the agent code search, file lookup and a structure summary of a file
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Ory Lumen (this entry) | no | 313 | ||
| ChunkHound | no | 1,455 | explores code with source links and Git history, without a focus on saving tokens | |
| code-index-mcp | no | not required | 158 | indexes a repo with tree-sitter and searches without vectors |
README in short
The main table shows savings by language from the author's benchmark. The rest is a reference: setup in four hosts, choosing an embedding model, index exclusions and troubleshooting.