Keep — Reflective memory for AI agents
npx claudepluginhub keepnotes-ai/keepReflective memory with semantic search for AI agents
Share bugs, ideas, or general feedback.
An agent-skill: memory that pays attention.
It includes skill instructions for reflective practice, and a powerful semantic memory system with command-line and MCP interfaces. Fully local, or use API keys for model providers, or cloud-hosted for multi-agent use.
uv tool install keep-skill # or: pip install keep-skill
export OPENAI_API_KEY=... # Or GEMINI_API_KEY (both do embeddings + summarization)
# Index content (store auto-initializes on first use)
keep put https://inguz.substack.com/p/keep -t topic=practice
keep put "Rate limit is 100 req/min" -t topic=api
# Index a codebase — recursive, with daemon-driven watch for changes
keep put ./my-project/ -r --watch
# Search by meaning
keep find "what's the rate limit?"
# Track what you're working on
keep now "Debugging auth flow"
# Instructions for reflection
keep prompt reflect
Store anything — notes, files, URLs — and keep summarizes, embeds, and tags each note. You search by meaning, by keyword, and by graph traversal. Content goes in as text, PDF, HTML, Office documents, audio, or images; what comes back is a summary with tags and semantic neighbors. Audio and image files auto-extract metadata tags (artist, album, camera, date, etc.).
What makes this more than a vector store: tags become edges. Define a tag like author or git_commit and keep creates bidirectional links — a user-defined graph model where every tag can be a navigable relationship. When you retrieve any note, keep follows these edges and fires standing queries — surfacing open commitments, past learnings, referenced files, commit history. The right things appear at the right time, without manual graph construction.
analyze decomposes documents into searchable sections, each with its own embedding and tagskeep moveBacked by ChromaDB for vectors, SQLite for metadata and versions.
keepnotes.ai — Hosted service. No local setup, no API keys to manage. Same SDK, managed infrastructure.
keep is designed as a skill for AI agents — a practice, not just a tool. The skill instructions teach agents to reflect before, during, and after action: check intentions, recognize commitments, capture learnings, notice breakdowns. keep prompt reflect guides a structured reflection (details); keep now tracks current intentions and surfaces what's relevant.
This works because the tool and the skill reinforce each other. The tool stores and retrieves; the skill says when and why. An agent that uses both develops skillful action across sessions — not just recall, but looking before acting, and a deep review of outcomes afterwards.
Why build memory for AI agents? What does "reflective practice" mean here? Read our blog for the back-story →
The skill instructions and hooks install into your agent's configuration automatically on first use. The CLI alone is enough to start; the hooks make it automatic.
| Tool | Integration |
|---|---|
| OpenClaw | Context engine plugin — full memory assembly, session archival, reflection triggers |
| Claude Desktop | keep config mcpb (details) |
| Claude Code | Plugin: /plugin install keep@keepnotes-ai |
| VS Code Copilot | MCP: code --add-mcp '{"name":"keep","command":"keep","args":["mcp"]}' |
| Kiro | MCP + practice prompt: kiro-cli mcp add --name keep --scope global -- keep mcp |
| OpenAI Codex | MCP: codex mcp add keep -- keep mcp |
| LangChain | LangGraph BaseStore, retriever, tools, and middleware |
| Any MCP client | Stdio server with 3 tools (keep_flow, keep_prompt, keep_help) |