agmry 1.5.0 → 1.6.0
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 +171 -89
- package/dist/api.js +1 -1
- package/dist/commands/admin.js +1 -1
- package/dist/commands/auth.js +1 -1
- package/dist/commands/bootstrap.js +1 -1
- package/dist/commands/context.js +1 -1
- package/dist/commands/entities.js +1 -1
- package/dist/commands/entries.js +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/key.js +1 -0
- package/dist/commands/messages.js +1 -1
- package/dist/commands/scratchpad.js +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/signup.js +1 -1
- package/dist/commands/spaces.js +1 -1
- package/dist/commands/status.js +1 -1
- package/dist/config.js +1 -1
- package/dist/crypto.js +1 -0
- package/dist/format.js +1 -1
- package/dist/main.js +1 -1
- package/dist/mcp-tools.js +1 -1
- package/dist/mcp.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
|
-
# agmry
|
|
1
|
+
# agmry
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/agmry)
|
|
4
|
+
[](https://agenticmemory.ai/quickstart)
|
|
5
|
+
[](#remote-mcp--zero-install)
|
|
6
|
+
|
|
7
|
+
**Persistent memory for AI agents — conversation history, key-value context, and semantic search across sessions. As easy as git.**
|
|
8
|
+
|
|
9
|
+
> **git remembers your code. agmry remembers everything else.**
|
|
10
|
+
|
|
11
|
+
Your agent writes great code all day — then forgets every decision the moment its context window resets. So *you* become the memory layer: re-explaining the project, the preferences, what broke last time. Agentic Memory is the memory your agent runs itself: one install, and it stores, recalls, and searches its own state across sessions, machines, and even other agents. It can even **sign itself up** — one command returns a working API key, no browser, no human.
|
|
12
|
+
|
|
13
|
+
**Works with:** Claude Code · Cursor · Cline · Windsurf · Aider · Codex · any MCP client
|
|
14
|
+
|
|
15
|
+
## Install
|
|
4
16
|
|
|
5
17
|
```bash
|
|
6
18
|
npm install -g agmry
|
|
@@ -9,46 +21,149 @@ npm install -g agmry
|
|
|
9
21
|
## Quick Start
|
|
10
22
|
|
|
11
23
|
```bash
|
|
12
|
-
#
|
|
13
|
-
agmry signup my-project --
|
|
24
|
+
# Agent signs itself up — working key returned instantly, 7-day trial starts now
|
|
25
|
+
agmry signup my-project --local
|
|
14
26
|
|
|
15
27
|
# Store memory
|
|
16
|
-
agmry store
|
|
17
|
-
|
|
28
|
+
agmry store my-project "User prefers TypeScript strict mode and pnpm"
|
|
29
|
+
|
|
30
|
+
# New session? Recall everything
|
|
31
|
+
agmry recall my-project
|
|
32
|
+
|
|
33
|
+
# Half-remember something? Search it
|
|
34
|
+
agmry search my-project "how do we deploy"
|
|
35
|
+
|
|
36
|
+
# Full reference
|
|
37
|
+
agmry --help
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Agents sign themselves up
|
|
41
|
+
|
|
42
|
+
No browser. No OAuth. No waiting for a human.
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
$ agmry signup my-project
|
|
46
|
+
✓ Project "my-project" created
|
|
47
|
+
API key: amk_************************ (saved to .agmry/config.json)
|
|
48
|
+
Trial: fully active for 7 days — $0 today
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The key works immediately — every endpoint, every tool. Add `--email you@company.com` and the human gets a card-setup link to continue past the trial. Until then, the agent just works.
|
|
52
|
+
|
|
53
|
+
## Three tiers of memory — because not all memory is equal
|
|
54
|
+
|
|
55
|
+
A transcript dump isn't memory. Agents need different recall for different things:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Short-term: ordered, role-aware conversation history (sub-ms reads)
|
|
59
|
+
agmry store my-project "Deployed v2.1, rolled back — migration locked the users table" -r assistant
|
|
60
|
+
agmry recall my-project -n 50
|
|
61
|
+
|
|
62
|
+
# Durable facts: typed key-value context — decisions, preferences, runbooks
|
|
63
|
+
agmry ctx my-project set deploy_flow "push image to registry, then ask infra to roll"
|
|
64
|
+
agmry ctx my-project get deploy_flow
|
|
18
65
|
|
|
19
|
-
#
|
|
20
|
-
agmry
|
|
21
|
-
agmry
|
|
66
|
+
# Long-term: titled, tagged knowledge entries that survive months
|
|
67
|
+
agmry entry my-project "Auth decision" "JWT not sessions — mobile clients can't hold cookies" --tags "arch,decisions"
|
|
68
|
+
agmry entries my-project --tags "decisions"
|
|
22
69
|
|
|
23
|
-
#
|
|
24
|
-
agmry
|
|
70
|
+
# Work-in-progress: scratchpad that's allowed to expire
|
|
71
|
+
agmry scratch my-project set "midway through the billing refactor, invoice.js next"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
And semantic search stitches it together when the agent only half-remembers:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
agmry search my-project "did we ever discuss rate limiting"
|
|
78
|
+
# → surfaces a months-old entry, with similarity score
|
|
79
|
+
```
|
|
25
80
|
|
|
26
|
-
|
|
27
|
-
agmry ctx SPACE_ID set user_prefs '{"theme":"dark","lang":"en"}'
|
|
28
|
-
agmry ctx SPACE_ID get user_prefs
|
|
81
|
+
## Session start = one command
|
|
29
82
|
|
|
30
|
-
|
|
31
|
-
agmry entry SPACE_ID "Project architecture" "Monorepo with 3 services" --tags "arch,decisions"
|
|
32
|
-
agmry entries SPACE_ID --tags "decisions"
|
|
83
|
+
Instead of pasting yesterday's summary into today's prompt:
|
|
33
84
|
|
|
34
|
-
|
|
35
|
-
agmry boot
|
|
85
|
+
```bash
|
|
86
|
+
agmry boot my-project --json # messages + context + entries, one call
|
|
87
|
+
agmry boot my-project --semantic "billing refactor" # or focused on a topic
|
|
36
88
|
```
|
|
37
89
|
|
|
38
|
-
|
|
90
|
+
~200 tokens of structured state, not top-k chunks of old transcripts.
|
|
91
|
+
|
|
92
|
+
## MCP Server
|
|
93
|
+
|
|
94
|
+
Prefer tools over a CLI? `agmry` ships an MCP server. Point Claude Code (or any MCP client) at it and your agent gets **14 native tools**: store, recall, search, bootstrap, context, entries, spaces.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
claude mcp add agenticmemory -- agmry mcp-serve
|
|
98
|
+
```
|
|
39
99
|
|
|
40
|
-
|
|
100
|
+
For clients that use a JSON config (Cline, Cursor, Windsurf), pass your API key via the environment — the MCP server runs outside your project directory, so it won't pick up `.agmry/config.json`:
|
|
101
|
+
|
|
102
|
+
```json
|
|
103
|
+
{
|
|
104
|
+
"mcpServers": {
|
|
105
|
+
"agenticmemory": {
|
|
106
|
+
"command": "agmry",
|
|
107
|
+
"args": ["mcp-serve"],
|
|
108
|
+
"env": { "AGMRY_API_KEY": "amk_your_key_here" }
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Remote MCP — zero install
|
|
115
|
+
|
|
116
|
+
Claude Web, Claude Desktop, Raycast, or any hosted MCP client can connect straight to the remote server. Same 14 tools, same API key, nothing to install:
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
URL: https://mcp.agenticmemory.ai/sse
|
|
120
|
+
Auth: Authorization: Bearer YOUR_API_KEY
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## End-to-end encryption (zero-knowledge spaces)
|
|
124
|
+
|
|
125
|
+
Create a space the server can never read. Encryption happens inside the CLI —
|
|
126
|
+
the API only ever sees ciphertext.
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
agmry key generate # one-time: creates + saves your key
|
|
130
|
+
agmry space create "Private" private --encryption e2e
|
|
131
|
+
|
|
132
|
+
agmry store SPACE "my secret" # encrypted before it leaves your machine
|
|
133
|
+
agmry recall SPACE # transparently decrypted
|
|
134
|
+
agmry key verify SPACE # holding the right key?
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Or derive per-space keys from a passphrase instead of storing a key:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
agmry key set --passphrase "long secret phrase"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Notes:
|
|
144
|
+
- Semantic search is impossible on zero-knowledge spaces by design.
|
|
145
|
+
- Prefer **encrypted at rest** instead? `--encryption managed` — the server encrypts your data at rest and every feature (search, summaries) keeps working. No client key needed.
|
|
146
|
+
- Losing the key or passphrase means the data is unrecoverable. That's the point. Back it up: `agmry key show --reveal`.
|
|
147
|
+
|
|
148
|
+
Key resolution order: `--enc-key` / `--passphrase` flag → `AGMRY_ENCRYPTION_KEY` env → `./.agmry/config.json` → `~/.agmry/config.json`. Same envelope and key derivation as the Node and Python SDKs — keys are interchangeable across all three.
|
|
149
|
+
|
|
150
|
+
## Multi-agent: one brain, many agents
|
|
151
|
+
|
|
152
|
+
Spaces are shareable. One agent stores the deploy runbook; another recalls it a week later, from a different machine, over a different interface (CLI, MCP, or REST — same memory). Your agents hand off between sessions and between projects without you couriering context.
|
|
153
|
+
|
|
154
|
+
## Agent Integration
|
|
155
|
+
|
|
156
|
+
Add to your CLAUDE.md, .cursorrules, .clinerules, .windsurfrules, or AGENTS.md:
|
|
41
157
|
|
|
42
158
|
```
|
|
43
159
|
## Agentic Memory
|
|
44
|
-
|
|
45
|
-
Key is in .agmry/config.json (auto-loaded).
|
|
160
|
+
This project uses Agentic Memory for persistent memory across sessions.
|
|
161
|
+
Use the `agmry` CLI. Key is in .agmry/config.json (auto-loaded).
|
|
46
162
|
|
|
163
|
+
agmry boot SPACE --json # load everything at session start
|
|
47
164
|
agmry store SPACE "what happened" # remember something
|
|
48
|
-
agmry
|
|
165
|
+
agmry ctx SPACE set key "value" # store a durable decision/fact
|
|
49
166
|
agmry search SPACE "the deadline" # find past context
|
|
50
|
-
agmry ctx SPACE set key "value" # store structured data
|
|
51
|
-
agmry boot SPACE --json # load everything at session start
|
|
52
167
|
```
|
|
53
168
|
|
|
54
169
|
## Config Priority
|
|
@@ -59,83 +174,50 @@ agmry boot SPACE --json # load everything at session start
|
|
|
59
174
|
4. `./.agmry/config.json` (project-local)
|
|
60
175
|
5. `~/.agmry/config.json` (global)
|
|
61
176
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
Run `agmry --help` for the full reference.
|
|
65
|
-
|
|
66
|
-
| Command | Description |
|
|
67
|
-
|---------|-------------|
|
|
68
|
-
| `agmry signup <slug>` | Create account ($1 verification) |
|
|
69
|
-
| `agmry login` | Save API key |
|
|
70
|
-
| `agmry spaces` | List memory spaces |
|
|
71
|
-
| `agmry space create "name" slug` | Create space |
|
|
72
|
-
| `agmry store <SPACE> "msg"` | Store message |
|
|
73
|
-
| `agmry recall <SPACE>` | Recall messages |
|
|
74
|
-
| `agmry search <SPACE> "query"` | Semantic search |
|
|
75
|
-
| `agmry ctx <SPACE> set key "val"` | Set context |
|
|
76
|
-
| `agmry ctx <SPACE> get key` | Get context |
|
|
77
|
-
| `agmry entry <SPACE> "title" "content"` | Add long-term entry |
|
|
78
|
-
| `agmry entries <SPACE>` | List entries |
|
|
79
|
-
| `agmry entity <SPACE> "name"` | Add entity |
|
|
80
|
-
| `agmry scratch <SPACE>` | Get scratchpad |
|
|
81
|
-
| `agmry boot <SPACE>` | Bootstrap full context |
|
|
82
|
-
| `agmry status` | Dashboard overview |
|
|
83
|
-
| `agmry health` | API health check |
|
|
177
|
+
Add `.agmry/` to your `.gitignore`.
|
|
84
178
|
|
|
85
|
-
##
|
|
179
|
+
## Features
|
|
86
180
|
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
181
|
+
- **Conversation history** — ordered, role-aware messages with recency windowing, sub-ms reads
|
|
182
|
+
- **Key-value context** — typed durable facts: decisions, preferences, runbooks
|
|
183
|
+
- **Long-term entries** — titled, tagged knowledge that survives months, with auto-summarisation
|
|
184
|
+
- **Entities** — people and systems the agent should know about
|
|
185
|
+
- **Scratchpad** — ephemeral working memory with TTLs (expiry is a feature)
|
|
186
|
+
- **Semantic search** — across everything the agent has ever stored
|
|
187
|
+
- **Bootstrap** — full session context in one call
|
|
188
|
+
- **Agent self-signup** — working API key from one CLI command, 7-day trial starts instantly
|
|
189
|
+
- **MCP server** — 14 tools, local (`agmry mcp-serve`) or fully remote (`mcp.agenticmemory.ai`)
|
|
190
|
+
- **REST API** — same memory on the request path of proxies and pipelines
|
|
191
|
+
- **Multi-agent spaces** — a fleet of agents reads and writes one memory
|
|
192
|
+
- **End-to-end encryption** — zero-knowledge spaces where only you hold the key (`agmry key generate`)
|
|
193
|
+
- **Export** — full data takeout per space, one command (`agmry space export`)
|
|
90
194
|
|
|
91
|
-
|
|
195
|
+
**Pricing:** 7-day free trial — the agent's key works instantly, $0 today. Continue after the trial from $24.99/mo. No data deletion on expiry: your memory waits for you. [Details](https://agenticmemory.ai/pricing).
|
|
92
196
|
|
|
93
|
-
|
|
94
|
-
2. **Medium-term** (search) — semantic search across past conversations
|
|
95
|
-
3. **Long-term** (entries) — auto-summarised knowledge across months
|
|
197
|
+
## Why not just Claude's built-in memory?
|
|
96
198
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
Claude Memory is great — but it only works with Claude. If you switch LLMs, you lose everything.
|
|
199
|
+
Claude Memory is great — but it only works with Claude, and only Claude decides what's in it.
|
|
100
200
|
|
|
101
201
|
| | Agentic Memory | Claude Memory |
|
|
102
202
|
|---|---|---|
|
|
103
203
|
| **LLM support** | Any — GPT, Claude, Gemini, Llama, Mistral, DeepSeek | Claude only |
|
|
104
204
|
| **Switch LLMs** | Keep all memory | Lose everything |
|
|
105
|
-
| **Multi-agent** | Shared
|
|
106
|
-
| **
|
|
107
|
-
| **
|
|
108
|
-
| **Structured data** | Messages + KV context + entries + entities + scratchpad | Free-text notes |
|
|
205
|
+
| **Multi-agent** | Shared spaces across agents | Single user |
|
|
206
|
+
| **Programmatic control** | Full CLI + MCP + REST | Black box — Claude decides |
|
|
207
|
+
| **Structured data** | Messages + context + entries + entities + scratchpad | Free-text notes |
|
|
109
208
|
| **Semantic search** | `agmry search "the deadline"` | No search API |
|
|
110
|
-
| **
|
|
111
|
-
| **Cost** | $1 one-time, then free | Bundled in Claude Pro ($20/mo) |
|
|
112
|
-
|
|
113
|
-
**"Claude Memory works for Claude. Agentic Memory works for everything."**
|
|
114
|
-
|
|
115
|
-
## MCP Server
|
|
116
|
-
|
|
117
|
-
Run `agmry mcp-serve` to start a stdio MCP server. Add to your `.mcp.json`:
|
|
209
|
+
| **Data ownership** | You own it, export any time | Stored by Anthropic |
|
|
118
210
|
|
|
119
|
-
|
|
120
|
-
{
|
|
121
|
-
"mcpServers": {
|
|
122
|
-
"agenticmemory": {
|
|
123
|
-
"type": "stdio",
|
|
124
|
-
"command": "agmry",
|
|
125
|
-
"args": ["mcp-serve"]
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
```
|
|
211
|
+
## Why this exists
|
|
130
212
|
|
|
131
|
-
|
|
213
|
+
I was my agents' memory. Every session started with me re-explaining my own project to my own tools — decisions, preferences, what broke last time. So I built the memory they run themselves. My own agents use it in production across a dozen projects; if something's rough or missing, [open an issue](https://github.com/jyswee/agmry/issues) — I read every one.
|
|
132
214
|
|
|
133
|
-
##
|
|
215
|
+
## Documentation
|
|
134
216
|
|
|
135
|
-
- [
|
|
136
|
-
- [
|
|
137
|
-
- [Pricing](https://agenticmemory.ai/pricing)
|
|
217
|
+
- [Quickstart guides](https://agenticmemory.ai/quickstart) — Claude Code, Cursor, LangChain, CrewAI, AutoGen + 7 more
|
|
218
|
+
- [API docs](https://agenticmemory.ai/docs)
|
|
219
|
+
- [Pricing](https://agenticmemory.ai/pricing)
|
|
138
220
|
|
|
139
|
-
|
|
221
|
+
## License
|
|
140
222
|
|
|
141
|
-
|
|
223
|
+
Proprietary — Tyga.Cloud Ltd. See [LICENSE](./LICENSE).
|