Keep · alpha
Run Keep with Docker
Keep gives your agents one shared store for documents, decisions, and reusable notes.
Run one service and connect your MCP clients to it. Documents remain in a persistent Docker volume.
Install and connect
Check the requirements
Use an x64 computer with Docker Engine and Compose, or Docker Desktop in Linux container mode.
- The image supports
linux/amd64. It includes its Linux runtime and needs no Node.js installation on the host. - Use
sacrorum/keep:0.1.0-alpha.3-ubuntu26.04from Docker Hub. This image includes Ubuntu 26.04. - For native executables or npm, use the native installation guide.
Get the Compose files
Download the public configuration and keep it for later updates.
- Download the repository archive, extract it, and open its
dockerdirectory. - Alternatively, use Git as shown below. The Docker guide contains the complete commands and maintenance procedure.
git clone https://github.com/glidermcp/keep.git
cd keep/dockerCreate your private token
Generate the token once and save it in secrets/keep_http_token.
- Follow the Linux or PowerShell commands to create the file without displaying its value.
- The token grants full access to the store. Keep it outside chat, source control, and shared logs.
- The Compose secret supplies
KEEP_HTTP_TOKEN_FILE. Keep the file readable by the container user, UID 10001. - Reuse this token after a restart or update. Each client uses the same value.
Start the service
Start Keep and wait for the service to become healthy.
- The supplied configuration exposes
http://127.0.0.1:7340/mcponly on this computer. - Docker restarts the service unless you stop it explicitly. Docker Desktop must itself start before the service can return.
- The named data volume contains
/data/documents. Container replacement preserves this volume.
docker compose up -d
docker compose psConnect your clients
Configure one HTTP connection in each MCP client.
- This example uses the common
mcpServersformat. Use your client’s equivalent URL and Bearer-token fields. - Replace
<token>with the saved value. Prefer the client’s secret storage when available. - Remove a previous stdio registration that starts another process for the same store.
- Ask your agent: “Show the spaces and collections in Keep. Do not change any documents.”
- After the connection works, install the Keep skill. It starts no server.
{
"mcpServers": {
"keep": {
"url": "http://127.0.0.1:7340/mcp",
"headers": { "Authorization": "Bearer <token>" }
}
}
}Preserve your documents
Back up the store before you change the image version.
- Use the backup and update procedure. Its optional helper requires Python 3.
- The helper stops Keep before it copies the store. It can restore into a separate, empty volume.
- Preserve the Compose project name, data volume, and token. Never use
docker compose down -vfor an update. - The backup excludes secrets, configuration, and the separate model cache. Preserve your configuration and secrets separately.
Optional setup
Use your domain through Tailscale
Connect from your other computers through a private HTTPS address.
- Follow the private-domain guide for Tailscale, Caddy, and Cloudflare DNS.
- Your clients can retain the same domain when you move Keep to another server.
Enable local semantic search
Full-text search works without a model. Semantic search is optional.
- Follow the semantic setup to enable it and select
/models/snowflake-arctic-embed-xs. - The first enabled start can download about 86 MiB. The separate model volume retains the downloaded files.
Alpha limits
- Only one process can open a store. Every connected client with the token can access the same documents.
- Keep has no account or shared-license integration in this alpha. A mounted license directory does not activate a subscription.
- Keep rejects browser Origin headers. Use an MCP client rather than browser JavaScript.
- See the technical reference for HTTP rules, document limits, and recovery.