@plur-ai/mcp 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -42
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
# @plur-ai/mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
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.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
npx @plur-ai/mcp
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Or install globally:
|
|
5
|
+
Part of [PLUR](https://plur.ai) — where **Haiku with memory outperforms Opus without it** at 10x less cost.
|
|
10
6
|
|
|
11
|
-
|
|
12
|
-
npm install -g @plur-ai/mcp
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Setup
|
|
7
|
+
## Setup (30 seconds)
|
|
16
8
|
|
|
17
9
|
### Claude Code
|
|
18
10
|
|
|
@@ -38,55 +30,93 @@ Add to `.cursor/mcp.json`:
|
|
|
38
30
|
}
|
|
39
31
|
```
|
|
40
32
|
|
|
41
|
-
###
|
|
33
|
+
### Windsurf / any MCP client
|
|
42
34
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
35
|
+
Same pattern — point it at `npx -y @plur-ai/mcp`.
|
|
36
|
+
|
|
37
|
+
That's it. Your agent now has memory. Use your tools as usual — corrections accumulate automatically.
|
|
38
|
+
|
|
39
|
+
## What happens
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
You correct your agent → engram created → YAML on your disk
|
|
43
|
+
Next session starts → relevant ones injected → agent remembers
|
|
44
|
+
You rate the result → engram strengthens → quality improves
|
|
53
45
|
```
|
|
54
46
|
|
|
47
|
+
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. **86.7% on LongMemEval** — on par with cloud memory services.
|
|
48
|
+
|
|
55
49
|
## Tools
|
|
56
50
|
|
|
57
|
-
|
|
51
|
+
Your agent gets these tools automatically:
|
|
52
|
+
|
|
53
|
+
| Tool | What it does |
|
|
58
54
|
|------|-------------|
|
|
59
55
|
| `plur.learn` | Store a memory — correction, preference, convention, or decision |
|
|
60
56
|
| `plur.recall` | Keyword search (BM25, instant) |
|
|
61
|
-
| `plur.recall.hybrid` | **Best default** — BM25 + embeddings merged via RRF.
|
|
62
|
-
| `plur.inject` |
|
|
63
|
-
| `plur.feedback` | Rate
|
|
57
|
+
| `plur.recall.hybrid` | **Best default** — BM25 + embeddings merged via RRF. Zero cost. |
|
|
58
|
+
| `plur.inject` | Load relevant memories for the current task |
|
|
59
|
+
| `plur.feedback` | Rate a memory — trains relevance over time |
|
|
64
60
|
| `plur.forget` | Retire a memory (history preserved) |
|
|
65
|
-
| `plur.
|
|
66
|
-
| `plur.
|
|
67
|
-
| `plur.
|
|
68
|
-
| `plur.
|
|
69
|
-
| `plur.
|
|
70
|
-
| `plur.packs.install` | Install
|
|
61
|
+
| `plur.sync` | Sync memory across machines via git |
|
|
62
|
+
| `plur.sync.status` | Check sync state |
|
|
63
|
+
| `plur.capture` | Record a session event |
|
|
64
|
+
| `plur.timeline` | Query session history |
|
|
65
|
+
| `plur.ingest` | Extract learnings from text |
|
|
66
|
+
| `plur.packs.install` | Install a shareable memory pack |
|
|
71
67
|
| `plur.packs.list` | List installed packs |
|
|
72
|
-
| `plur.status` | System health
|
|
68
|
+
| `plur.status` | System health |
|
|
73
69
|
|
|
74
|
-
##
|
|
70
|
+
## Sync across machines
|
|
75
71
|
|
|
76
|
-
|
|
72
|
+
Your agent can sync memory to any git remote:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Agent: plur.sync({ remote: "git@github.com:you/plur-memory.git" })
|
|
76
|
+
→ "Initialized and pushed."
|
|
77
|
+
|
|
78
|
+
# On another machine, same remote:
|
|
79
|
+
Agent: plur.sync()
|
|
80
|
+
→ "Synced. Pulled 12 remote commits."
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Works with GitHub, GitLab, Gitea, any git host. Your data, your repo.
|
|
84
|
+
|
|
85
|
+
## Configuration
|
|
86
|
+
|
|
87
|
+
Custom storage path:
|
|
88
|
+
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"mcpServers": {
|
|
92
|
+
"plur": {
|
|
93
|
+
"command": "npx",
|
|
94
|
+
"args": ["-y", "@plur-ai/mcp"],
|
|
95
|
+
"env": { "PLUR_PATH": "/path/to/storage" }
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
```
|
|
77
100
|
|
|
78
|
-
|
|
101
|
+
Default: `~/.plur/`. Everything is plain YAML — open it, read it, edit it.
|
|
79
102
|
|
|
80
|
-
|
|
103
|
+
## Benchmark
|
|
81
104
|
|
|
82
|
-
|
|
105
|
+
| Metric | Score |
|
|
106
|
+
|--------|-------|
|
|
107
|
+
| LongMemEval overall | **86.7%** |
|
|
108
|
+
| A/B win rate vs no memory | 89% |
|
|
109
|
+
| House rules accuracy | 100% |
|
|
83
110
|
|
|
84
|
-
|
|
111
|
+
[Full methodology →](https://plur.ai/benchmark.html)
|
|
85
112
|
|
|
86
|
-
##
|
|
113
|
+
## Related packages
|
|
87
114
|
|
|
88
|
-
|
|
115
|
+
| Package | For |
|
|
116
|
+
|---------|-----|
|
|
117
|
+
| [`@plur-ai/core`](https://www.npmjs.com/package/@plur-ai/core) | Engine — use directly in custom agent frameworks |
|
|
118
|
+
| [`@plur-ai/claw`](https://www.npmjs.com/package/@plur-ai/claw) | OpenClaw — automatic memory without MCP |
|
|
89
119
|
|
|
90
120
|
## License
|
|
91
121
|
|
|
92
|
-
Apache-2.0
|
|
122
|
+
Apache-2.0 · [GitHub](https://github.com/plur-ai/plur) · [plur.ai](https://plur.ai)
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plur-ai/mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"plur-mcp": "dist/index.js"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
14
14
|
"zod": "^3.23.0",
|
|
15
|
-
"@plur-ai/core": "0.2.
|
|
15
|
+
"@plur-ai/core": "0.2.2"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@types/node": "^25.5.0"
|