PLUR MCP

Shared agent memory in plain YAML files: Claude Code, Codex and Cursor remember your corrections across sessions and tools

  • 312 ★ on the repository
  • Last commit
  • Apache-2.0
MCP server

Extended access

Why this level

  • `plur init` changes the global agent settings and adds hooks that fire in every session.
  • Facts sit as plain text in `~/.plur/`, so secrets should not be stored there.
All reasons and checks

plur-ai/plur

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/plur

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • `plur init` changes the global agent settings and adds hooks that fire in every session.
  • Facts sit as plain text in `~/.plur/`, so secrets should not be stored there.

This is third-party code. Review the repository files before installing.

What it does

PLUR stores what an agent has learned: project rules, corrections, preferences. Each fact (an "engram") is a plain YAML file in `~/.plur/` that you can read, correct and delete. The `plur init` command registers an MCP server and hooks in the agent settings, and relevant facts are injected into context automatically. Search is local: BM25 plus BGE embeddings, with no cloud needed after a one-time model download. Facts that go unused lose weight, while user ratings strengthen or weaken them. A scope (`global`, `project:name`) keeps one project's knowledge out of another. Adapters with automatic injection exist for Claude Code, Codex, Cursor, OpenCode, OpenClaw, Hermes and Antigravity; other MCP clients get the tools only.

Who it is for. People who work with several agents and are tired of repeating the same project rules in every new session.

Good fit when

  • You fixed a code style on Tuesday and on Wednesday the agent makes the same mistake again.
  • A project convention is needed in both Claude Code and Cursor, from a single source.
  • You want to check what the agent actually remembered: `plur dashboard` lists the facts on a local page.
  • Several projects live on one machine and their knowledge is separated through `--domain` and `--scope`.

Not a fit when

  • Rules must live only in repository files, with no `~/.plur/` directory.
  • The client is not on the adapter list and rules cannot be pasted into `AGENTS.md`, so memory will not load by itself.
  • Downloading the search model is not allowed, which leaves keyword search only.

Example request

Remember: in this project tests run through `pnpm test`, and `npm install` breaks the lockfile in CI.

MCP

Transport
stdio
Authentication
not required

Environment variables

`PLUR_HOOK_HYBRID`
The value `0` turns off hybrid search in hooks and keeps BM25.

Limitations

Node.js 20 or newer is required. In Codex, open `/hooks` once after install and trust the PLUR entries, otherwise memory never loads and Codex gives no warning. The search model downloads once. After upgrading PLUR run `plur init` again to refresh the configuration. Windows and WSL2 have separate home directories, so setup runs in each environment. Windsurf, Gemini CLI and other MCP clients get the tools without automatic injection.

How to disable. Remove the PLUR MCP entry and hooks from the agent settings, then uninstall the `@plur-ai/cli` and `@plur-ai/mcp` packages. The `~/.plur/` directory with facts stays on disk until you delete it yourself.

FAQ

How do I install PLUR for Claude Code?

Run `npm install -g @plur-ai/cli@latest @plur-ai/mcp@latest`, then `plur init` and `plur doctor`, and restart the editor. `plur init` creates the store in `~/.plur/`, registers the MCP server in `~/.claude.json` and writes hooks to `~/.claude/settings.json`.

How do I connect Cursor or Codex?

For Cursor run `plur init --cursor` in the project root, for Codex run `plur init --codex`. For Codex also trust the hooks through `/hooks`.

How do I keep knowledge of different projects apart?

Run `plur init --domain myapp --scope project:my-app` in the project directory. A `.plur.yaml` appears, project facts get a tag, and global knowledge is still injected.

How do I see what was remembered?

The `plur dashboard` command opens a local page with every fact, how often it was recalled and its dates. The page is read-only and reachable only from your own machine.

Is internet needed to search memory?

Not after a one-time model download: search is local. Without the model only keyword search remains, and `plur doctor` reports the missing model.

Discussion

No questions or reviews yet.

Official

Local persistent memory for coding agents: hooks record every session, and Claude Code, Codex or Cursor recall past decisions through 54 MCP tools

MCP serverExtended access30.2KRepository stars
Official

Local memory for agents: stores conversations and project files verbatim and retrieves them with semantic search over MCP

MCP serverExtended access60.4KRepository stars

Knowledge-graph memory for agents: Claude Code and Codex plugins, an MCP server and a Python library

PluginExtended access33.1KRepository stars

A Datalog engine in Rust as an agent's working memory: facts with provenance, inference rules and an MCP server for Claude Code

MCP serverExtended access346Repository stars

Encrypted offline memory for AI agents: one vault on your own computer shared by Claude Code, Cursor, Codex and other clients

MCP serverBroad access576Repository stars

Local memory for Claude Code, Codex and Cursor Agent: learns from your activity on a Mac and gives agents context with source receipts over MCP

MCP serverBroad access1.3KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
PLUR (this card)nonot required312
agentmemoryyesnot required30,160records the course of every session through hooks; PLUR keeps rules and corrections as readable YAML facts with decay and scope
Claude-Memno113,534a memory plugin for Claude Code; PLUR is shared across Claude Code, Codex, Cursor and other clients

README in short

Memory is stored as open YAML files and search runs locally. Tools such as `plur_learn`, `plur_recall` and `plur_status` are exposed through MCP, while hooks inject facts automatically.

README badge

Report a problem

Foxx AIPLUR
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.