# PLUR

> Persistent, local-first shared memory for AI agents that works across MCP tools like Claude Code, Cursor, and Windsurf — zero cloud, zero cost.

PLUR is a persistent memory system for AI agents that stores corrections, preferences, and conventions as plain YAML on your local disk — no cloud, no API calls, no black box. It works across sessions, tools, and machines, injecting relevant memories back into agent context when needed. Benchmarks show Haiku with PLUR memory outperforms Opus without it — 2.6x better on tool routing at roughly 10x less cost. PLUR is open-source under Apache-2.0 and installs as an MCP server compatible with Claude Code, Cursor, Windsurf, OpenClaw, and Hermes Agent.

- **Engram storage** — *Learned knowledge (corrections, preferences, conventions) is stored as typed assertions in plain YAML at `~/.plur/engrams.yaml`, editable at any time.*
- **ACT-R activation decay** — *Unused memories naturally fade from injection over time without manual cleanup, keeping context relevant.*
- **Hybrid search (BM25 + BGE embeddings + RRF)** — *Fully local retrieval with 86.7% on LongMemEval, on par with cloud-based solutions that charge per query.*
- **Episode timeline** — *Timestamped event records capture incidents, resolutions, and session milestones, queryable by time, agent, or channel.*
- **Scope & domain namespacing** — *Hierarchical scopes (`global`, `project:myapp`, `cluster:prod`) control where each engram applies, supporting multi-project setups.*
- **Feedback-driven quality** — *Positive/negative ratings on recalled engrams train injection quality over time.*
- **Git-based sync** — *Sync your memory store across machines using any git remote via `plur_sync`.*
- **MCP tools** — *Ten MCP tools (`plur_learn`, `plur_recall_hybrid`, `plur_inject_hybrid`, `plur_feedback`, `plur_forget`, `plur_capture`, `plur_timeline`, `plur_ingest`, `plur_sync`, `plur_status`) expose all functionality to any MCP client.*
- **Plugin ecosystem** — *OpenClaw ContextEngine plugin (`@plur-ai/claw`) and Python Hermes Agent plugin (`plur-hermes`) auto-capture learnings from conversations without manual saving.*
- **SQLite read index** — *Optional SQLite cache for large stores (>1k engrams) accelerates filtered queries while keeping YAML as the source of truth.*

To get started, run `npx @plur-ai/mcp init` for Claude Code, or visit plur.ai and ask your agent to install memory for your specific tool. PLUR installs globally — one MCP server, one store, available in every project.

## Features
- Persistent engram memory across sessions and tools
- Local-first YAML storage — no cloud, no API calls
- Hybrid search: BM25 + BGE embeddings + Reciprocal Rank Fusion
- ACT-R activation decay for automatic memory pruning
- Episode timeline for incident and session history
- Hierarchical scope and domain namespacing
- Feedback-driven injection quality improvement
- Git-based sync across machines
- 10 MCP tools for full agent integration
- OpenClaw and Hermes Agent plugin support
- Optional SQLite read index for large stores
- Secret detection (API keys, passwords, tokens)
- Spreading activation for associated engram recall
- Polarity classification (do vs. don't rules)

## Integrations
Claude Code, Cursor, Windsurf, OpenClaw, Hermes Agent, MCP (Model Context Protocol), Git, npm, SQLite

## Platforms
CLI, API, DEVELOPER_SDK

## Pricing
Open Source

## Version
v0.8.0

## Links
- Website: https://github.com/plur-ai/plur
- Documentation: https://plur.ai/spec.html
- Repository: https://github.com/plur-ai/plur
- EveryDev.ai: https://www.everydev.ai/tools/plur
