loci MCP
loci turns notes and agent memories into one knowledge base with hybrid search and answers cited down to a file section.
- 101 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Note text is sent to the chosen embedding and chat providers, and keys live in configuration.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/ivenkoolab-lociDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Note text is sent to the chosen embedding and chat providers, and keys live in configuration.
This is third-party code. Review the repository files before installing.
What it does
Python MCP server that indexes folders of notes, documentation and agent memories and answers questions with `file > section` citations. Vector search is combined with BM25, and exact identifiers are found by literal matching. One instance is mounted in Claude Desktop, Cursor, Cline and other MCP clients, and they share common memory. Durable notes are stored as plain Markdown, and structured task state is saved by exact key. A built-in web console and a Rust build without Python are included.
Who it is for. People who keep Markdown or Obsidian notes and want several AI tools to rely on one verifiable memory.
Good fit when
- The agent must find a decision buried in old project notes.
- Claude Code and Cursor work on one task and need shared memory.
- You need to see which decision replaced an earlier one (`loci history`).
- An answer must be checked against a citation rather than taken on trust.
- Notes must stay on the computer while a local model computes embeddings.
Not a fit when
- There are few notes and reading files directly is enough.
- There is neither a cloud embedding provider nor a local model.
- You need search over source code rather than notes.
Example request
Find in my notes why we chose staging for demos and show the citation with file and section name.MCP
- Transport
- stdio, http
- Authentication
- key is optional
Environment variables
LOCI_HOMErequired- Instance directory holding `config.toml`, the index and memory notes
BRAIN_LLM_API_KEYsecret- Chat provider key for `brain_ask` answers
BRAIN_EMBED_API_KEYsecret- Embedding provider key
Limitations
Full operation needs an embedding and chat provider configured in `config.toml`; otherwise only keyword search works. Requests go to provider servers unless a local endpoint is used. The Rust build implements only part of the MCP tools. By default the web console on the loopback address is open without a token, so behind a proxy it must be locked with roles. Installing from PyPI adds the package and CLI.
How to disable. Remove the `loci` entry from clients' MCP configuration and stop `loci serve-http` if running. Delete the instance directory with the index and memory notes separately.
FAQ
Can it be tried without API keys?
Yes. `loci demo` copies six fictional notes and answers questions using BM25 only, with no key or network.
How do clients share memory?
Each MCP client points at the same `LOCI_HOME`, so configuration, index and memory files are shared.
Which tools does the agent get?
They include `brain_search`, `brain_ask`, `brain_remember`, `brain_forget`, `brain_state_save` and `brain_memory_health`.
Does it work with Obsidian?
Yes. Notes stay plain Markdown and an Obsidian vault is added as a source in `config.toml`.
How can I see what agents remember?
`loci harness` lists detected memory of installed agents and `loci memory-health` flags never-cited and corrected notes.
Discussion
No questions or reviews yet.
Related
MCP serversThe official Kibela MCP server searches, reads and edits notes, folders and comments of your wiki straight from an assistant chat
A local wiki memory built from what you read: a shared knowledge folder for agents through an MCP bridge and my-curator.
Notes, tasks, contacts and project context live in Markdown on your disk, and Claude Code and Codex read the same memory
A local Markdown note base with an MCP server and skills: Claude Code, Cursor, Codex and Gemini CLI all read the same context
Minutes
minutes
A local-first MCP server for meeting memory: on-device recording and transcription into Markdown, searchable from Claude Code, Codex, Cursor and any MCP client
Local memory for Claude Code, Cursor and Codex in one SQLite file that feeds past decisions and lessons into the agent's context
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| loci (this card) | no | key is optional | 101 | |
| Basic Memory | no | not required | 4,566 | stores notes in Markdown and a graph; loci adds hybrid search, citations and memory citation tracking |
| Mem0 | no | 68,887 | a memory layer for applications; loci keeps index and notes local |
README in short
Indexes notes and agent memories, answers with citations and gives several AI clients one memory through MCP.