By TheWinci
Persistent project memory for AI coding agents that indexes code, dependencies, decisions, and conversation history via semantic search and AST-aware chunking, enabling context-aware code planning, impact analysis, bug tracing, documentation gap detection, and session handoff without context loss.
Get oriented on a project's current state when starting or resuming work — what's changed, what's in flight, and the recent decisions. Use at the start of a session, when returning to a repo after a break, or when asked "where were we" or "what's the status".
Trace a bug, error, or regression to its root cause. Use when investigating a failure, a stack trace, unexpected behavior, or "why does X happen".
Find what's underdocumented or hard to retrieve in a project — the topics people search for but don't find. Use when improving docs or the wiki, or when asked what's missing or poorly covered.
Build an accurate mental model of an unfamiliar codebase, feature, or area before changing it — where it lives, how it connects, what it does, and why. Use when asked how something works, where something is, when onboarding to a repo, or before editing code you don't know. For a cross-cutting question that needs answering from many sources, use research instead.
Wrap up a work session so the next session (or another agent) can pick up cleanly — what was done, what's in flight, what to watch out for. Use when ending a session, switching tasks, or asked to hand off, wrap up, or save state for later.
Modifies files
Hook triggers on file write and edit operations
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Named after Mímir, the Norse god of wisdom and knowledge.
Persistent project memory for AI coding agents. One command to set up, nothing to maintain.
Your agent starts every session blind — guessing filenames, grepping for keywords, burning context on irrelevant files, and forgetting everything you discussed yesterday.
On one real project, a typical prompt was burning 380K tokens and ~12 seconds end-to-end.
After indexing with mimirs: 91K tokens, ~3 seconds — a 76% drop on that codebase. Your numbers will vary with repo size, query, and model.
Bun (curl -fsSL https://bun.sh/install | bash) and, on macOS, a modern SQLite — Apple's bundled one doesn't support extensions:
brew install sqlite
Linux and Windows ship with a compatible SQLite already.
bunx mimirs init --ide claude # or: cursor, windsurf, copilot, jetbrains, all
This creates the MCP server config, editor rules, .mimirs/config.json, and .gitignore entry. Run with --ide all to set up every supported editor at once.
init covers Claude Code, Cursor, Windsurf, Copilot, and JetBrains (Junie). For everything else — Codex, Zed, custom clients — copy one of the snippets below.
The mimirs MCP server runs over stdio. Every client needs the same three things: a command (bunx), args (["mimirs@latest", "serve"]), and a RAG_PROJECT_DIR env var pointing at your project root.
.mcp.json in project root{
"mcpServers": {
"mimirs": {
"command": "bunx",
"args": ["mimirs@latest", "serve"],
"env": {
"RAG_PROJECT_DIR": "/absolute/path/to/your/project"
}
}
}
}
.cursor/mcp.json in project root{
"mcpServers": {
"mimirs": {
"command": "bunx",
"args": ["mimirs@latest", "serve"],
"env": {
"RAG_PROJECT_DIR": "/absolute/path/to/your/project"
}
}
}
}
~/.codeium/windsurf/mcp_config.json (global)Windsurf reads MCP servers from your home directory, not the project. JetBrains plugin variant uses ~/.codeium/mcp_config.json.
{
"mcpServers": {
"mimirs": {
"command": "bunx",
"args": ["mimirs@latest", "serve"],
"env": {
"RAG_PROJECT_DIR": "/absolute/path/to/your/project"
}
}
}
}
.junie/mcp.json in project root{
"mcpServers": {
"mimirs": {
"command": "bunx",
"args": ["mimirs@latest", "serve"],
"env": {
"RAG_PROJECT_DIR": "/absolute/path/to/your/project"
}
}
}
}
.vscode/mcp.json in project rootVS Code's Copilot uses a servers map (not mcpServers) and a type field.
{
"servers": {
"mimirs": {
"type": "stdio",
"command": "bunx",
"args": ["mimirs@latest", "serve"],
"env": {
"RAG_PROJECT_DIR": "/absolute/path/to/your/project"
}
}
}
}
~/.codex/config.toml (global)Codex uses TOML, not JSON, and reads from ~/.codex/config.toml. One block per project — pick a unique table name if you wire up multiple repos (mimirs-frontend, mimirs-api, etc).
[mcp_servers.mimirs]
command = "bunx"
args = ["mimirs@latest", "serve"]
env = { RAG_PROJECT_DIR = "/absolute/path/to/your/project" }
npx claudepluginhub thewinci/mimirs --plugin mimirsOptimized file search, semantic indexing, and persistent memory for Claude Code — with optional sync to a self-hosted web dashboard
Local-first memory server — hybrid BM25+vector search, vault management, lint, and launchd lifecycle for project knowledge.
Auto-capture high-signal coding context into memctl memory
OpenLTM — Long-Term Memory for AI coding agents: semantic search, context injection, session learning
Full AI context layer over MCP — tree-sitter code-map, document RAG (PDF/Office/HTML/email + OCR + reranker), shared agent memory, on-demand web crawl, git history + blame + per-symbol diff. 300+ languages, 8 coding-agent harnesses, content-addressed Fjall + LanceDB.
Persistent memory system for AI coding sessions — cross-tool memory sharing with 6-dimensional hybrid search