loci
What it does
Cross-session memory and hybrid RAG over your notes and docs. Local-first, with cited answers.
- Connects パソコンで動く
- Account or key No key needed
- Category 検索・AIの記憶
インストール
使っているAIアプリを選んで、設定をコピーしてください。
チェック 3/3 合格 · あなたのパソコンで動きます
まず:どの AI を使っていますか?
使っているアプリを選ぶと、下に手順が表示されます。
Claude につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
パソコン版 Claude アプリの設定ファイルを開く
SettingsDeveloperEdit Config
この設定を貼り付けて保存
{ "mcpServers": { "loci": { "command": "uvx", "args": [ "loci-rag" ] } } }Claude を終了してもう一度開く
試してみる
loci を使って、私に何ができるか教えて、1 つやってみせて✓ Claude が loci を使っていると言うか、回答に loci のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
ChatGPT はまだ loci につなげません
loci はパソコンに入れて使うものですが、ChatGPT は Web 上で動くサーバーにしかつなげません
代わりにできること
A · loci につなげるアプリを使う
- 先にパソコンへ Python (uv) を入れてください(1 回だけ) · パソコン版 Claude アプリ(Windows または Mac)のみ。Web やスマホでは使えません
- 先にパソコンへ Python (uv) を入れてください(1 回だけ)
- 先にパソコンへ Python (uv) を入れてください(1 回だけ)
- 先にパソコンへ Python (uv) を入れてください(1 回だけ)
B · 検索・AIの記憶 の中で ChatGPT につなげる別のサーバー
同じカテゴリでよく使われているものから、キーなしでアドレスだけでつなげるものを選びました
- Context7✓ ChatGPT
- AIHOT✓ ChatGPT
- Sui Knowledge Base (kapa.ai)✓ ChatGPT
Claude Code につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
ターミナルを開く
Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く
このコマンドを貼り付けて Enter
claude mcp add --scope user loci -- uvx loci-ragClaude Code で /mcp と入力
loci が一覧にあり、接続済みと表示されれば OK です
試してみる
loci を使って、私に何ができるか教えて、1 つやってみせて✓ Claude Code が loci を使っていると言うか、回答に loci のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
Cursor につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
Cursor の AI チャットを Agent モードで開く
試してみる
loci を使って、私に何ができるか教えて、1 つやってみせて✓ Cursor が loci を使っていると言うか、回答に loci のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
VS Code につなげますが、先に準備が必要です
先にパソコンへ Python (uv) を入れてください(1 回だけ)
VS Code の AI チャットを Agent モードで開く
試してみる
loci を使って、私に何ができるか教えて、1 つやってみせて✓ VS Code が loci を使っていると言うか、回答に loci のツール名が出れば接続成功です
メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります
開発者向け:ターミナルのコマンドと JSON 設定
パソコンにインストール
Claude Code
claude mcp add --scope user loci -- uvx loci-ragClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"loci": {
"command": "uvx",
"args": [
"loci-rag"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"loci": {
"command": "uvx",
"args": [
"loci-rag"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"loci": {
"type": "stdio",
"command": "uvx",
"args": [
"loci-rag"
]
}
}
}この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
ひと目でわかる
使えるアプリ
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月12日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント IvenKooLab で確認済みです
- ✓ 合格
今もメンテナンスされている
コードの最終更新:一昨日
- ✓ 合格
ライセンスがある
MITを使用
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
話し合い
質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。
ユーザーレビュー
まだレビューはありません
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5969件のうち97%よりスターが多い
- このカテゴリのほかの5969件のうち40%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5969件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
lociは安全ですか?
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は一昨日、最新バージョン(0.4.0)がレジストリに届いたのは2 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Ruflo
同じカテゴリのほかの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
English · 简体中文 · 繁體中文 · 日本語 · 한국어
Turn scattered notes, project docs and agent memories into a knowledge base you can search and ask questions about — as an MCP server, from your terminal, or in the browser.
loci combines vector search with BM25 and returns answers with file > section citations. Your files and index stay on your machine. Embedding and chat requests go to the providers you configure; local endpoints can keep the entire workflow offline.
MCP is the point. Mount loci-mcp in Claude Desktop, Cursor, Cline or any other MCP host and your assistant gets the whole knowledge base as tools. The console and a desktop shell are alternate front-ends to the same index — you never need them.
Quick start · MCP setup · Web console · Usage guide · 中文说明
*Actual console UI with fictional demo data. No personal knowledge base, account or API key is connected; counts are illustrative.*
Dark theme preview
What you can do
| Need | How loci helps |
|---|---|
| Find a decision buried in your notes | Hybrid search across directories, with tag, path and date filters |
| Ask a question and check the evidence | Answers cite source sections; optional claim-by-claim verification |
| Carry context between AI tools | MCP tools share one instance; durable memories are Markdown files |
| See what each coding agent remembers | Harness discovery, file browsing, per-tool stats and digest notes |
| Manage the knowledge base visually | Built-in Web console for search, Q&A, memories, indexing and audit |
| Resume a task exactly where it left off | Structured state by exact key (brain_state_save / brain_state_get) — no ranking in the way |
| Prune memory with evidence instead of vibes | Memory health: citations, corrections and age per note (loci memory-health) |
Markdown, text, HTML, org-mode and chat exports work out of the box. Optional extras add PDF, Word and OCR support. Keep using your existing note editor or Obsidian vault.
What belongs where
Three kinds of "memory" fail differently, and mixing them is the classic misuse:
| Kind | Lives in | Retrieved by | Right for | Wrong for |
|---|---|---|---|---|
| Free-text knowledge | memory notes (brain_remember) | hybrid retrieval | "what do we know about X" | exact resume of a task |
| Structured state | state/ / .json (brain_state_save) | exact key, no ranking | task snapshots, entity records, slot state worth persisting | prose you might want to fuzzy-find |
| Live dialogue slots | the host agent's session | the host's own context | this turn's variables | anything you expect to survive the session |
Rules of thumb:
- If retrieval returning a *similar but wrong* record would be a bug, it is state — key it and fetch exactly (
brain_state_get type=task key=8f3c). - Real-time slot values change every turn; do not put them in the vector store. Persist the ones worth keeping across sessions as state records.
- Prose that a future question might phrase differently is knowledge —
brain_rememberit, and let ranking do the work.
State records are plain JSON, hand-editable, and deliberately not indexed into vectors: that is the boundary, not an omission.
Memory health
Every search or answer that uses a memory note is ledgered (citations.jsonl in the instance directory). loci memory-health joins that with feedback (loci feedback bad — which also sinks the rated chunks in later retrieval) and age, and flags notes worth looking at:
$ loci memory-health
12 memory note(s), most-cited first cited corr age(d) last-cited flags file 17 0 41.2 0.3 - 20260920-103000-deploy-policy.md 0 2 63.8 - corrected 20260830-090000-old-strategy.md 0 0 51.4 - never-cited 20260901-120000-random-idea.md
corrected = rated bad after being used; never-cited = old and unused. Both are candidates for brain_forget — with evidence, not vibes. loci sees tool calls, not your conversation, so corrections reach it only through explicit feedback; the report never silently rewrites retrieval.
Quick start
Try it first, with nothing configured
pip install loci-rag
loci demo
loci demo copies six fictional notes into ./loci-demo-notes, chunks them and answers three example questions — cited down to file > section — with no config.toml, no API key and no network. It is keyword-only (BM25, the same ranking hybrid search fuses with vector hits), which is exactly the point: something runs before you commit a key. Add [embed] later and the same index goes hybrid.
*Actual loci demo output on the bundled sample notes; paths shortened, timings vary.*
Index your own notes
Requires Python 3.11+. Start from source so the example configuration is available:
git clone https://github.com/IvenKooLab/loci.git
cd loci python -m pip install -e . cp config.example.toml config.toml
Edit config.toml: fill in [llm] and [embed], and change [[sources]].path to your notes directory. The embedding endpoint must support /embeddings; chat and embeddings may use different providers.
loci ingest
loci search "deployment decisions" loci ask "What did we decide about deployment, and why?"
Already have a configuration? Install the package with python -m pip install loci-rag and set LOCI_HOME to your instance directory. For optional document support, use python -m pip install 'loci-rag[pdf,docx]'.
API keys can be supplied through
BRAIN_LLM_API_KEYandBRAIN_EMBED_API_KEY. After changing the embedding model, rebuild withloci ingest --force.
Using Obsidian? See the vault setup, privacy and compatibility guide.
Web console
loci serve-http
Open [127.0.0.1:8765/ui](http://127.0.0.1:8765/ui) to browse harness memories, search, ask questions, edit shared notes and inspect indexing activity. Clicking a search result opens an evidence pane with the passage it was cut from — the file > section citation, checkable without leaving the console. The console includes Chinese/English and light/dark switches; no frontend build is required.
By default, anonymous loopback clients have admin access. Behind a reverse proxy or SSH tunnel, set [http] local_admin = false and configure role-based tokens. See access control.
For DeepSeek Harness, loci-dsh brings search, Q&A and memory capture into the Harness workbench through the same HTTP backend.
Connect your AI tools
Point each MCP client at the same `LOCI_HOME` so they share the same config, index and memory files:
{
"mcpServers": { "loci": { "command": "loci-mcp", "env": { "LOCI_HOME": "/absolute/path/to/your/loci-instance" } } } }
Use an absolute executable path if your client cannot find loci-mcp. The instance directory must contain your config.toml.
| MCP tools | Purpose |
|---|---|
brain_search · brain_ask | Retrieve excerpts or get cited answers |
brain_remember · brain_forget | Store or retract durable memories |
brain_links · brain_graph | Explore note links and extracted relations |
brain_wiki · brain_harness | Consolidate knowledge and inspect agent memories |
brain_stats · brain_ingest | Inspect and refresh the index |
The server also exposes note resources and briefing, study-plan and contradiction-check prompts. See the MCP guide for details.
*Actual loci-mcp output: initialize, tools/list and prompts/list on the real binary.*
Native build (Rust)
The same retrieval pipeline and MCP surface, with no Python runtime to install — one binary, and the index is a single SQLite file instead of a database directory:
cargo build --release -p loci-cli # in native/
./target/release/loci-mcp --config ~/.loci/config.toml ./target/release/loci gui # the same console, served natively
Status: retrieval, a subset of MCP tools, harness discovery, migration and the console are ported. Harness file browsing and digest generation remain Python-only. See native/ for what is ported and the fidelity tests that pin it (chunking, the frozen default tokenizer, the CJK bigram decoy case, RRF, and incremental ingest).
The two builds keep separate store formats (SQLite vs ChromaDB directory), but they exchange data: export from Python with loci export, import in the native build with loci import, which refuses to mix embedding spaces unless you pass --force.
A small daily workflow
loci watch # keep changed documents indexed
loci remember "Use staging for demos" --title "Demo environment" loci search "demo environment" --tag memory loci ask "How should I prepare a demo?" --verify loci harness # inspect detected agent memories
Indexing is incremental. Notes stay readable as Markdown. For multiple machines, sync source files and memory notes, then rebuild each local index; keep credentials out of the repository.
See a retrieval session
The usage guide includes the original bilingual retrieval example and a small evaluation you can rerun against your own corpus.
Documentation
| Guide | Covers |
|---|---|
| Usage guide / 中文指南 | Commands, filters, harness setup, access control and local models |
| Configuration example | Provider settings, source directories and runtime options |
| Architecture | Modules and the retrieval pipeline |
| Changelog · Roadmap | Released changes and planned work |
| Contributing | Development conventions and offline testing |
loci uses the OpenAI-compatible SDK and ChromaDB, with no LangChain or LlamaIndex dependency. BM25, loaders and the MCP transport are implemented in the project.
python -m pip install -e '.[dev,pdf]'
pytest # offline tests; no API keys required
Find loci on Glama, ModelScope and [awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-server