MCP.so
Sign In
Servers
L

Local Rag

@TheWinci

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.

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.

Tags

More from Memory & Knowledge