{
  "markdown": "# agmry\n\n[![npm version](https://img.shields.io/npm/v/agmry.svg)](https://www.npmjs.com/package/agmry)\n[![MCP](https://img.shields.io/badge/MCP-17_tools-blue)](https://agenticmemory.ai/quickstart)\n[![Remote MCP](https://img.shields.io/badge/remote_MCP-mcp.agenticmemory.ai-8b5cf6)](#remote-mcp--zero-install)\n[![smithery badge](https://smithery.ai/badge/jyswee/agenticmemory)](https://smithery.ai/servers/jyswee/agenticmemory)\n\n**Persistent memory for AI agents — conversation history, key-value context, and semantic search across sessions. As easy as git.**\n\n> **git remembers your code. agmry remembers everything else.**\n\nYour 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.\n\n**Works with:** Claude Code · Cursor · Cline · Windsurf · Aider · Codex · any MCP client\n\n[![agmry demo — install to full recall in 60 seconds](https://prodmedia.tyga.host/public/tyga.cloud/landing/agenticmemory.ai/demo/agmry-demo.gif)](https://agenticmemory.ai/#demo)\n\n*Install to full recall in 60 seconds — real terminal session, no mockups. [Watch all the demos](https://agenticmemory.ai/#demo).*\n\n## Install\n\n```bash\nnpm install -g agmry\n```\n\n## Quick Start\n\n```bash\n# Agent signs itself up — working key returned instantly, no card, no browser\nagmry signup my-project --local\n\n# Store memory\nagmry store my-project \"User prefers TypeScript strict mode and pnpm\"\n\n# New session? Recall everything\nagmry recall my-project\n\n# Half-remember something? Search it\nagmry search my-project \"how do we deploy\"\n\n# Full reference\nagmry --help\n```\n\n## Agents sign themselves up\n\nNo browser. No OAuth. No waiting for a human.\n\n```\n$ agmry signup my-project\n✓ Project \"my-project\" created\n  API key: amk_************************  (saved to .agmry/config.json)\n  Live:    full access for 48h — no card, $0 today\n```\n\nThe key works immediately — every endpoint, every tool, full access for 48 hours. Within that window, your human completes a $0 card-auth that starts the **free 7-day trial** on the same key. Miss the window? Nothing is deleted — the key pauses and revives the moment the card-auth completes. Add `--email you@company.com` and the human gets the link automatically.\n\n## Three tiers of memory — because not all memory is equal\n\nA transcript dump isn't memory. Agents need different recall for different things:\n\n```bash\n# Short-term: ordered, role-aware conversation history (sub-ms reads)\nagmry store my-project \"Deployed v2.1, rolled back — migration locked the users table\" -r assistant\nagmry recall my-project -n 50\n\n# Durable facts: typed key-value context — decisions, preferences, runbooks\nagmry ctx my-project set deploy_flow \"push image to registry, then ask infra to roll\"\nagmry ctx my-project get deploy_flow\n\n# Long-term: titled, tagged knowledge entries that survive months\nagmry entry my-project \"Auth decision\" \"JWT not sessions — mobile clients can't hold cookies\" --tags \"arch,decisions\"\nagmry entries my-project --tags \"decisions\"\n\n# Work-in-progress: scratchpad that's allowed to expire\nagmry scratch my-project set \"midway through the billing refactor, invoice.js next\"\n```\n\nAnd semantic search stitches it together when the agent only half-remembers:\n\n```bash\nagmry search my-project \"did we ever discuss rate limiting\"\n# → surfaces a months-old entry, with similarity score\n```\n\n## Session start = one command\n\nInstead of pasting yesterday's summary into today's prompt:\n\n```bash\nagmry boot my-project --json          # messages + context + entries, one call\nagmry boot my-project --semantic \"billing refactor\"   # or focused on a topic\n```\n\n~200 tokens of structured state, not top-k chunks of old transcripts.\n\n## MCP Server\n\nPrefer tools over a CLI? `agmry` ships an MCP server. Point Claude Code (or any MCP client) at it and your agent gets **17 native tools**: store, recall, search, bootstrap, context, entries, spaces, queues.\n\n```bash\nclaude mcp add agenticmemory -- agmry mcp-serve\n```\n\n[![MCP in Claude Code — Claude remembers across sessions](https://prodmedia.tyga.host/public/tyga.cloud/landing/agenticmemory.ai/demo/agmry-mcp.jpg)](https://prodmedia.tyga.host/public/tyga.cloud/landing/agenticmemory.ai/demo/agmry-mcp.mp4)\n\n*Claude Code remembering across sessions via MCP — click to watch.*\n\nFor 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`:\n\n```json\n{\n  \"mcpServers\": {\n    \"agenticmemory\": {\n      \"command\": \"agmry\",\n      \"args\": [\"mcp-serve\"],\n      \"env\": { \"AGMRY_API_KEY\": \"amk_your_key_here\" }\n    }\n  }\n}\n```\n\n### Remote MCP — zero install\n\nClaude Web, Claude Desktop, Raycast, or any hosted MCP client can connect straight to the remote server. Same tools, same API key, nothing to install:\n\n```\nURL:  https://mcp.agenticmemory.ai/sse\nAuth: Authorization: Bearer YOUR_API_KEY\n```\n\n## End-to-end encryption (zero-knowledge spaces)\n\nCreate a space the server can never read. Encryption happens inside the CLI —\nthe API only ever sees ciphertext.\n\n```bash\nagmry key generate                                  # one-time: creates + saves your key\nagmry space create \"Private\" private --encryption e2e\n\nagmry store SPACE \"my secret\"                       # encrypted before it leaves your machine\nagmry recall SPACE                                  # transparently decrypted\nagmry key verify SPACE                              # holding the right key?\n```\n\nOr derive per-space keys from a passphrase instead of storing a key:\n\n```bash\nagmry key set --passphrase \"long secret phrase\"\n```\n\nNotes:\n- Semantic search is impossible on zero-knowledge spaces by design.\n- 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.\n- Losing the key or passphrase means the data is unrecoverable. That's the point. Back it up: `agmry key show --reveal`.\n\nKey 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.\n\n## Multi-agent: one brain, many agents\n\nSpaces 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.\n\nAnd you stay in the loop: everything your agents remember is browsable in a human dashboard.\n\n[![Human dashboard — everything your agents remember](https://prodmedia.tyga.host/public/tyga.cloud/landing/agenticmemory.ai/demo/agmry-dashboard.jpg)](https://prodmedia.tyga.host/public/tyga.cloud/landing/agenticmemory.ai/demo/agmry-dashboard.mp4)\n\n*Everything your agents remember, in one dashboard — click to watch.*\n\n## Queues — the agent bus\n\nFIFO queues inside a space. One agent pushes work, another pops it — no polling glue, no extra infra.\n\n```bash\nagmry queue SPACE jobs push '{\"task\":\"review PR #42\"}'   # enqueue (FIFO)\nagmry queue SPACE jobs pop                                # dequeue oldest — exit code 2 if empty\nagmry queue SPACE jobs pop --wait 25                      # long-poll up to 25s for the next item\nagmry queue SPACE jobs                                    # peek: length + head, without consuming\nagmry queue SPACE jobs dlq push '{\"task\":\"...\"}' --reason \"failed twice\"   # dead-letter\nagmry queue SPACE jobs dlq list                           # inspect dead-lettered items\n```\n\nExit code 2 on empty means shell loops branch cleanly: `while agmry queue SPACE jobs pop --wait 25 --json; do ...; done`. Envelopes are opaque JSON — the server never inspects them.\n\n## Agent Integration\n\nAdd to your CLAUDE.md, .cursorrules, .clinerules, .windsurfrules, or AGENTS.md:\n\n```\n## Agentic Memory\nThis project uses Agentic Memory for persistent memory across sessions.\nUse the `agmry` CLI. Key is in .agmry/config.json (auto-loaded).\n\nagmry boot SPACE --json               # load everything at session start\nagmry store SPACE \"what happened\"     # remember something\nagmry ctx SPACE set key \"value\"       # store a durable decision/fact\nagmry search SPACE \"the deadline\"     # find past context\nagmry queue SPACE jobs push '{...}'   # send work to another agent\nagmry queue SPACE jobs pop --wait 25  # receive work (exit 2 = empty)\n```\n\n## Config Priority\n\n1. `--key` flag\n2. `AGMRY_API_KEY` environment variable\n3. `AGENTICMEMORY_API_KEY` environment variable\n4. `./.agmry/config.json` (project-local)\n5. `~/.agmry/config.json` (global)\n\nAdd `.agmry/` to your `.gitignore`.\n\n## Features\n\n- **Conversation history** — ordered, role-aware messages with recency windowing, sub-ms reads\n- **Key-value context** — typed durable facts: decisions, preferences, runbooks\n- **Long-term entries** — titled, tagged knowledge that survives months, with auto-summarisation\n- **Entities** — people and systems the agent should know about\n- **Scratchpad** — ephemeral working memory with TTLs (expiry is a feature)\n- **Semantic search** — across everything the agent has ever stored\n- **Bootstrap** — full session context in one call\n- **Agent self-signup** — working API key from one CLI command, live for 48h keyless; $0 card-auth starts the free 7-day trial\n- **Queues** — FIFO agent bus with long-poll and dead-letter, `agmry queue` (exit 2 = empty)\n- **MCP server** — 17 tools, local (`agmry mcp-serve`) or fully remote (`mcp.agenticmemory.ai`)\n- **REST API** — same memory on the request path of proxies and pipelines\n- **Multi-agent spaces** — a fleet of agents reads and writes one memory\n- **End-to-end encryption** — zero-knowledge spaces where only you hold the key (`agmry key generate`)\n- **Export** — full data takeout per space, one command (`agmry space export`)\n\n**Pricing:** The agent's key works instantly — full access for 48h, no card. A $0 card-auth starts the free 7-day trial; after that from $24.99/mo. No data deletion, ever: your memory waits for you. [Details](https://agenticmemory.ai/pricing).\n\n## Why not just Claude's built-in memory?\n\nClaude Memory is great — but it only works with Claude, and only Claude decides what's in it.\n\n| | Agentic Memory | Claude Memory |\n|---|---|---|\n| **LLM support** | Any — GPT, Claude, Gemini, Llama, Mistral, DeepSeek | Claude only |\n| **Switch LLMs** | Keep all memory | Lose everything |\n| **Multi-agent** | Shared spaces across agents | Single user |\n| **Programmatic control** | Full CLI + MCP + REST | Black box — Claude decides |\n| **Structured data** | Messages + context + entries + entities + scratchpad | Free-text notes |\n| **Semantic search** | `agmry search \"the deadline\"` | No search API |\n| **Data ownership** | You own it, export any time | Stored by Anthropic |\n\n## Why this exists\n\nI 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/agenticmemory/issues) — I read every one.\n\n## Documentation\n\n- [Quickstart guides](https://agenticmemory.ai/quickstart) — Claude Code, Cursor, LangChain, CrewAI, AutoGen + 7 more\n- [API docs](https://agenticmemory.ai/docs)\n- [Pricing](https://agenticmemory.ai/pricing)\n\n## License\n\nProprietary — Tyga.Cloud Ltd. See [LICENSE](./LICENSE).\n",
  "bytes": 11941,
  "sha": "591251aa0b02f03db22108f0c44188407a4fcc37679ceb4a103763c4f6af9e75",
  "repo_slug": "jyswee/agenticmemory",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_jyswee_agenticmemory_a2015cae/readme"
}