Local Rag
@TheWinci
About Local Rag
Semantic code search for AI agents — hybrid vector + BM25 with cross-encoder reranking, AST-aware chunking for 14 languages, conversation memory, code annotations, and search analytics. Zero config, zero API keys. Just bunx.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"local-rag": {
"command": "bunx",
"args": [
"@winci/local-rag@latest",
"serve"
],
"env": {
"RAG_PROJECT_DIR": "/path/to/your/project"
}
}
}
}Tools
No tools detected
Fetch the live tool list by running this server in a temporary sandbox using the button above.
Overview
What is Local Rag?
Local Rag is a persistent project memory tool for AI coding agents. It provides semantic code search, cross-session conversation memory, auto-generated project wikis, and dependency graph analysis—all running fully locally using SQLite and in-process embeddings.
How to use Local Rag?
Install with bunx mimirs init --ide <ide> (e.g., claude, cursor, windsurf, copilot, jetbrains). Ensure SQLite with extension support is installed (brew install sqlite on macOS). No API keys, cloud, or Docker required—just Bun and SQLite.
Key features of Local Rag
- Hybrid vector + BM25 search boosted by dependency graph centrality
- Cross-session conversation indexing and checkpoints
- Auto-generated structured markdown wiki with Mermaid diagrams
- Annotations attached to files or symbols surfacing in results
- Dependency graph and reverse-dependency lookup for blast radius
- Local analytics logging zero-result and low-relevance queries
Use cases of Local Rag
- Quickly find code by meaning instead of filename or keyword search
- Recover context from past sessions—discussions, decisions, and blockers
- Understand codebase structure and impact before refactoring
- Expose documentation gaps through query analytics
- Mark milestones and direction changes with searchable checkpoints
FAQ from Local Rag
What does Local Rag do that alternatives don’t?
It combines AST-aware chunking (24 languages), local embeddings, cross-session memory, and checkpoints—all in one local tool with no API keys. The table in the README shows it reduces token cost from ~380K to ~91K per prompt with 93–98% recall.
Where does my data live?
All data is stored in a .mimirs/ directory inside your project. Nothing leaves your machine—the tool is fully local and privacy-preserving.
What languages and file formats does it support?
AST-aware chunking covers 24 languages via tree-sitter (TypeScript, Python, Go, Rust, Java, C, C++, C#, Ruby, PHP, Scala, Kotlin, Lua, Zig, Elixir, Haskell, OCaml, Dart, Bash/Zsh, TOML, YAML, HTML, CSS/SCSS/LESS). Many other formats fall back to paragraph splitting.
Does Local Rag require an embedding API or cloud service?
No. Embeddings are computed in-process using Transformers.js + ONNX with the all-MiniLM-L6-v2 model. The vector store is sqlite-vec—a single .db file.
What transport and authentication does it use?
Local Rag uses stdio transport via the MCP SDK. There is no network service; authentication is not required because everything runs locally.
Frequently asked questions
What does Local Rag do that alternatives don’t?
It combines AST-aware chunking (24 languages), local embeddings, cross-session memory, and checkpoints—all in one local tool with no API keys. The table in the README shows it reduces token cost from ~380K to ~91K per prompt with 93–98% recall.
Where does my data live?
All data is stored in a `.mimirs/` directory inside your project. Nothing leaves your machine—the tool is fully local and privacy-preserving.
What languages and file formats does it support?
AST-aware chunking covers 24 languages via tree-sitter (TypeScript, Python, Go, Rust, Java, C, C++, C#, Ruby, PHP, Scala, Kotlin, Lua, Zig, Elixir, Haskell, OCaml, Dart, Bash/Zsh, TOML, YAML, HTML, CSS/SCSS/LESS). Many other formats fall back to paragraph splitting.
Does Local Rag require an embedding API or cloud service?
No. Embeddings are computed in-process using Transformers.js + ONNX with the all-MiniLM-L6-v2 model. The vector store is sqlite-vec—a single `.db` file.
What transport and authentication does it use?
Local Rag uses stdio transport via the MCP SDK. There is no network service; authentication is not required because everything runs locally.
Basic information
More Memory & Knowledge MCP servers
Ultimate Google Docs & Drive MCP Server
a-bonusThe Ultimate Google Docs, Sheets, Drive, Gmail, & Google Calendar MCP Server. This MCP (primarily for use in Claude Desktop) gains full access to your google suite and lets claude do its thing.

PLUR
plur-aiAI agents start every session with amnesia — you re-explain the project, repeat your preferences, and correct the same mistakes over and over. PLUR gives them a memory that persists. Your agent's corrections, preference
MCP Apple Notes
RafalWilinskiTalk with your notes in Claude. RAG over your Apple Notes using Model Context Protocol.
Mcp Knowledge Graph
shanehollomanMCP server enabling persistent memory for Claude through a local knowledge graph - fork focused on local development
MemoryMesh
CheMiguel23A knowledge graph server that uses the Model Context Protocol (MCP) to provide structured memory persistence for AI models.
Comments