npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@plur-ai/mcp

v0.9.8

Published

PLUR MCP server — persistent memory tools for any AI agent

Readme

@plur-ai/mcp

Give your AI agent persistent memory. One line in your MCP config — corrections, preferences, and conventions persist across sessions. No workflow changes, no cloud, no API costs for search.

Part of PLUR — where Haiku with memory outperforms Opus without it at 10x less cost.

Setup (30 seconds)

Claude Code

One command — sets up storage, MCP config, and hooks:

npx @plur-ai/mcp init

Restart Claude Code. Done. Your agent now has persistent memory with automatic injection.

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "plur": { "command": "npx", "args": ["-y", "@plur-ai/mcp"] }
  }
}

Windsurf / any MCP client

Same pattern — point it at npx -y @plur-ai/mcp.

That's it. Your agent now has memory. Use your tools as usual — corrections accumulate automatically.

What happens

You correct your agent  →  engram created       →  YAML on your disk
Next session starts     →  relevant ones injected →  agent remembers
You rate the result     →  engram strengthens    →  quality improves

Knowledge is stored as engrams — small assertions that strengthen with use and decay when irrelevant. Search is fully local (BM25 + embeddings), so memory recall costs nothing and works offline. Benchmark methodology →

Tools

Your agent gets these tools automatically:

| Tool | What it does | |------|-------------| | plur_session_start | Start a session — injects relevant engrams for your task | | plur_learn | Store a memory — correction, preference, convention, or decision | | plur_recall_hybrid | Best default — BM25 + embeddings merged via RRF. Zero cost. | | plur_recall | Keyword search (BM25 only, instant) | | plur_inject_hybrid | Load relevant memories for the current task | | plur_feedback | Rate a memory — trains relevance over time | | plur_forget | Retire a memory (history preserved) | | plur_session_end | End a session — captures summary and new learnings | | plur_capture | Record a session event | | plur_timeline | Query session history | | plur_ingest | Extract learnings from text | | plur_sync | Sync memory across machines via git | | plur_packs_install | Install a shareable memory pack | | plur_packs_list | List installed packs | | plur_status | System health |

Sync across machines

Your agent can sync memory to any git remote:

Agent: plur_sync({ remote: "[email protected]:you/plur-memory.git" })
→ "Initialized and pushed."

# On another machine, same remote:
Agent: plur_sync()
→ "Synced. Pulled 12 remote commits."

Works with GitHub, GitLab, Gitea, any git host. Your data, your repo.

Configuration

Custom storage path:

{
  "mcpServers": {
    "plur": {
      "command": "npx",
      "args": ["-y", "@plur-ai/mcp"],
      "env": { "PLUR_PATH": "/path/to/storage" }
    }
  }
}

Default: ~/.plur/. Everything is plain YAML — open it, read it, edit it.

Benchmark

| Metric | Score | |--------|-------| | LongMemEval overall | 86.7% | | A/B win rate vs no memory | 89% | | House rules accuracy | 100% |

Full methodology →

Related packages

| Package | For | |---------|-----| | @plur-ai/core | Engine — use directly in custom agent frameworks | | @plur-ai/claw | OpenClaw — automatic memory without MCP |

License

Apache-2.0 · GitHub · plur.ai