AST-based semantic code search CLI and MCP server that indexes your codebase so coding agents can find code by meaning.
ory/lumen
Local semantic code search MCP server that gives Claude Code, Codex, Cursor and OpenCode meaning-based lookup over your codebase using Ollama or LM Studio embeddings.
- Stars
- 315
- Forks
- 37
- Open issues
- 29
- Last commit
- 26 days ago
What is it?
Lumen is a local semantic code search engine for AI coding agents. It runs as an MCP server that builds a vector index of your project, so an agent can call semantic_search to find relevant functions, types and modules instead of reading whole files. Embeddings are produced by a local Ollama or LM Studio server and stored in SQLite with sqlite-vec, so no code leaves your machine and no cloud service or external database is needed.
Files are split into semantic chunks using Go's native AST for Go and tree-sitter grammars for other languages. A Merkle tree over file hashes means only changed files are re-embedded on later runs. Git worktrees of the same repository can share index data. Indexes are stored under ~/.local/share/lumen rather than inside the repo.
The project ships plugins for Claude Code, Cursor, Codex and OpenCode, and the README reports benchmark results on bug-fix tasks across several languages, showing reduced cost and token use with patch quality maintained.
Key features
- 01Semantic search over functions, types and modules via an MCP tool
- 02Incremental indexing that re-embeds only changed files using Merkle tree diffing
- 03Local embeddings through Ollama or LM Studio with no cloud dependency
- 04Storage in SQLite with sqlite-vec, kept outside the project directory
- 05Support for 12 language families using Go AST and tree-sitter parsers
- 06Git worktrees share index data and seed new worktrees from siblings
Use cases
- Letting Claude Code or Codex locate relevant code in a large monorepo without reading whole files
- Keeping source code private by running embeddings entirely on a local machine
- Reducing token usage when an AI agent explores an unfamiliar codebase
- Speeding up work across several Git worktrees of the same project
Quick start
- 1
Install Ollama and pull the default embedding model
ollama pull ordis/jina-embeddings-v2-base-code - 2
Install the Claude Code plugin from the marketplace
/plugin marketplace add ory/claude-plugins - 3
Install the Lumen plugin in Claude Code
/plugin install lumen@ory - 4
Start a new Claude session and run the health check
/lumen:doctor
Things to know
- Requires a local Ollama or LM Studio embedding server running alongside the agent.
- License is listed as NOASSERTION in metadata, so check the LICENSE file before use.
In collections
Topics
FAQ
- What is lumen?
- Local semantic code search MCP server that gives Claude Code, Codex, Cursor and OpenCode meaning-based lookup over your codebase using Ollama or LM Studio embeddings. Lumen is a local semantic code search engine for AI coding agents. It runs as an MCP server that builds a vector index of your project, so an agent can call semantic_search to find relevant functions, types and modules instead of reading whole files. Embeddings are produced by a local Ollama or LM Studio server and stored in SQLite with sqlite-vec, so no code leaves your machine and no cloud service or external database is needed.
- Is lumen free to use? What license does it have?
- lumen is open source under the Other license. Check the license terms before using it in commercial products.
- Is lumen still maintained?
- Actively maintained. The last commit to lumen was on Oct 11, 2026.
- What can I use lumen for?
- Letting Claude Code or Codex locate relevant code in a large monorepo without reading whole files Keeping source code private by running embeddings entirely on a local machine Reducing token usage when an AI agent explores an unfamiliar codebase Speeding up work across several Git worktrees of the same project
- How do I install lumen?
- Install Ollama and pull the default embedding model: ollama pull ordis/jina-embeddings-v2-base-code Install the Claude Code plugin from the marketplace: /plugin marketplace add ory/claude-plugins Install the Lumen plugin in Claude Code: /plugin install lumen@ory Start a new Claude session and run the health check: /lumen:doctor
- Where can I get lumen?
- The source code and installation instructions are on GitHub: https://github.com/ory/lumen
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A privacy-first CLI for semantic code search with local embeddings, call-graph tracing, and an MCP server for AI coding agents.
Runs multiple Claude Code sessions, each isolated in its own Docker container, managed from a web dashboard.
A local-first semantic code search engine that combines vector embeddings with ripgrep so you can query a codebase in natural language.
An MCP server and CLI that connect your Zotero research library to Claude, ChatGPT, Cursor and other AI assistants for search, reading and annotation.
A local Rust tool that gives Claude Code persistent memory of past conversations via semantic search, exposed as an MCP server.