Guides
keep is a reflective memory system for AI agents.
Getting Started
REST API Quick Start
Get started with the Keep REST API in five minutes
CLI Quick Start
Install and start using the keep CLI in under 5 minutes
The REST API Quick Start walks through storing notes,
semantic search, file uploads (PDF, markdown), document analysis, and cross-source retrieval
using curl — all in about five minutes. The CLI Quick Start
covers installing via uv tool install keep-skill, configuring embedding providers
(Voyage AI, OpenAI, Gemini, Mistral, Ollama, or local MLX models on Apple Silicon), and your first
keep put / keep find cycle.
CLI Commands
keep put
Store notes, files, and URLs. Supports inline text, stdin, file paths, directories, and HTTP URLs.
keep get
Retrieve notes by exact ID or prefix match. Shows content, tags, versions, and meta-tag relationships.
keep find
Semantic similarity search across all notes. Filter by tags, set similarity thresholds, limit results.
keep list
List and filter notes by tag, date range, source, or pattern. Supports sorting and output format options.
keep now
Read or update the current intention — a single mutable note representing active state and goals. Surfaces related context automatically.
keep move
Rename, retag, or reorganize notes. Move between IDs, merge tags, bulk-update metadata.
keep analyze
Break documents into individually searchable structural parts — themes, sections, relationships — each with its own embedding.
keep prompt
Render agent prompts with context injected from reflective memory. Drive reflection, session starts, and more.
keep data
Export and import keep stores for backup and migration between local and cloud backends.
keep config
Configure embedding providers, storage backends, similarity thresholds, and environment variables.
Concepts
Tagging
Structured key-value tags for organizing notes by domain, thread, and facet. Combine with semantic search for precise retrieval.
System Tags
Automatic tags managed by keep: _created, _updated, _source, _accessed, and more. Understand what's tracked and when.
Meta-Tags
Automatic cross-note relationships. Similar items, extracted learnings, and version history surface as structured metadata, giving agents longitudinal awareness.
Edge Tags
Turn tags into navigable relationships. Tag a turn with speaker: Deborah and get Deborah shows everything she said — auto-vivification, backfill, and inverse listings.
Versioning
Every update creates a version. Full history is queryable. Compare versions to see how context evolved over time.
Analysis
How document analysis improves search by decomposing content into individually searchable parts — themes, facts, and relationships.
Continuations
Stateful multi-step memory interactions. One continue() loop for queries, ingestion, and delegated work — with automatic refinement and decision support.
Output Format
Understanding keep's YAML-frontmatter output format, display modes (full, compact, JSON), and how to parse results programmatically.
Reference
CLI Reference
Complete reference for all keep commands, flags, and options. Every subcommand with usage examples.
API Schema
Concise reference for all keep tools, the data model, tags, time filters, and parameters.
Python API
Use keep programmatically via the Keeper class. Store, search, analyze, and manage notes from Python code.
Architecture
Technical design: SQLite + FTS5 storage, embedding pipeline, similarity engine, meta-tag resolution, background workers, and cloud backends (PostgreSQL + pgvector).
Agent Guide
Best practices for AI agents: when to store notes, what context to surface, how to use now for reflection, and patterns for effective memory management.
MCP (keep CLI)
Local MCP stdio server for AI agent integration. Connect Claude Code, Cursor, and other MCP-compatible clients to keep.
MCP (keepnotes.ai)
Connect AI assistants via Model Context Protocol. The /mcp endpoint exposes all keep commands as discoverable tools — zero configuration.
OpenClaw Integration
Three-layer integration: real-time context injection via skill prompt, automatic memory indexing on session compaction, and daily reflection cron for pattern review.
All Guides
Complete listing of every guide with summary:
- REST API Quick Start
- Store notes, search by meaning, upload files, analyze documents, and retrieve cross-source results — all via HTTP. Bearer-token auth, JSON responses, five-minute walkthrough.
- CLI Quick Start
- Install keep with
uv tool install keep-skill, configure an embedding provider (Voyage AI, OpenAI, Gemini, Mistral, Ollama, or local MLX), store your first note, and run a semantic search. - keep put
- Store content from inline text, stdin, file paths, directories (recursive), or HTTP/HTTPS URLs. Supports custom IDs, tags, and automatic embedding on store. Handles PDF, markdown, and plain text.
- keep get
- Retrieve a note by exact ID or prefix match. Returns content, all tags, version count, and meta-tag relationships (similar notes, learnings, previous versions).
- keep find
- Semantic similarity search across all stored notes. Specify a query string; returns ranked results with similarity scores. Filter by tag key-value pairs, set minimum similarity threshold, limit result count.
- keep list
- List notes with filters: by tag, date range, source type, ID pattern. Sort by creation date, update date, or access time. Output as YAML, JSON, or compact single-line format.
- keep now
- The
nownote is a single mutable record representing your agent's current state, goals, and working context. Read it to recall active intentions; write it to update direction. Related notes and learnings surface automatically as meta-tag fields. - keep move
- Rename notes (change ID), update tags in bulk, reorganize between locations. Preserves version history through moves.
- keep analyze
- Break long documents into individually searchable structural parts. Each part gets its own embedding. Analyze finds themes, sections, key arguments, and cross-references — making large documents discoverable at the paragraph level.
- keep prompt
- Render agent prompts with context injected from reflective memory. Built-in prompts for reflection, session starts, and conversation analysis — or create custom prompts.
- keep data
- Export and import keep stores for backup and migration. Move data between local SQLite and cloud PostgreSQL backends.
- keep config
- Configure storage backend (SQLite local, PostgreSQL cloud), embedding provider and model, similarity thresholds, and other settings via environment variables or
~/.keep/config.toml. - Tagging
- Structured key-value tags:
domain: healthcare,thread: margaret,facet: metabolic. Tags enable precise filtering alongside semantic search. Thread-level tags provide hard links that similarity alone can't maintain. - System Tags
- Automatic tags managed by keep:
_created(ISO timestamp),_updated(last modification),_accessed(last read),_source(inline, file, url, stdin). Cannot be manually set. - Meta-Tags
- Metaschema rules define how notes relate.
similarsurfaces semantically close notes.meta/learningsextracts insights tagged as learnings.prevshows version history. Meta-tags give agents longitudinal awareness — context compounds over time. - Edge Tags
- Turn tags into navigable relationship edges. When a tagdoc declares
_inverse, tagged documents become links — and targets get automatic inverse listings. Tag a conversation withspeaker: Deborahandget Deborahshows everything she said. Targets auto-vivify on first reference. - Versioning
- Every
keep putto an existing ID creates a new version. List versions, retrieve any version by number, compare across versions. Content-hash deduplication skips unchanged updates. - Analysis
- How document analysis decomposes long content into individually searchable structural parts. Each part gets its own embedding and tags, improving retrieval for large documents.
- Output Format
- Keep outputs YAML frontmatter (tags, metadata, meta-tags) followed by content body. Supports
--format jsonfor machine parsing,--compactfor single-line summaries, and full (default) for human reading. - CLI Reference
- Complete command reference:
put,get,find,list,now,move,analyze,config,save,remember. Every flag, option, and environment variable documented with examples. - Python API
- The
Keeperclass provides programmatic access:put(),get(),find(),list(),now(),analyze(). Sync API (no async needed). Install withpip install keep-skill. - Architecture
- Technical internals: SQLite + FTS5 for local storage, PostgreSQL + pgvector for cloud. Embedding pipeline (Voyage, OpenAI, Gemini, Mistral, Ollama, MLX). Background worker for async tasks. Content-hash deduplication. Meta-tag resolution engine.
- Agent Guide
- Patterns for AI agents using keep effectively: store decisions and learnings (not raw logs), use
nowfor session continuity, let meta-tags surface context automatically, reflect before and after significant actions (MN61 mirror teaching). - MCP (keep CLI)
- Local MCP stdio server for AI agent integration. Connect Claude Code, Cursor, and other MCP-compatible clients directly to your local keep store.
- MCP (keepnotes.ai)
- Model Context Protocol server at
/mcp. Auto-generated from OpenAPI spec — MCP-compatible AI assistants discover and use keep commands as native tools with zero configuration. - OpenClaw Integration
- Three-layer integration pattern: (1) Skill prompt injects
keep nowcontext every agent turn, (2)after_compactionhook auto-indexes memory files, (3) Daily cron runskeep put memory/ --analyzefor deep reflection. Turns keep from a tool into a continuous practice.