Skip to content

Quick Start

One command sets up AutoMem and connects it to your agents:

Terminal window
curl -fsSL get.automem.ai | sh

That launches the guided installer. It detects your machine, helps you stand up a memory backend (hosted or local), verifies it, and wires the connection into the AI agents you already use — showing you every change and backing up every file before it writes. No decision tree, no hand-edited config, no copy-pasting tokens between four terminals.

graph LR
    A["1 · Detect<br/>OS, Node, Docker,<br/>Git, agent roots"] --> B["2 · Choose<br/>Hosted, Local,<br/>or Existing"]
    B --> C["3 · Provision<br/>Deploy + health-check<br/>your AutoMem server"]
    C --> D["4 · Wire agents<br/>Review the plan,<br/>then connect Codex,<br/>Claude Code, Cursor…"]

It is safe to run, and safe to re-run:

  • Nothing is written until you approve a plan. The installer prints a full review — endpoint, API key status, and every file it will touch — and waits for a yes.
  • Every changed file keeps a .bak copy, so you can always roll back.
  • Re-running is idempotent. Local server tokens are reused (not rotated), so a second run never invalidates agents you already connected.
ToolWhen it’s needed
Node.js 20.19+, 22.13+, or 24+ and npmAlways (the installer and the MCP bridge run on it)
Docker + GitOnly if you choose the Local Docker path

The launcher checks for Node and npm first and stops with a clear message if either is missing — it never dumps a stack trace at you.


Walk-through: the installer, prompt by prompt

Section titled “Walk-through: the installer, prompt by prompt”

Here is exactly what you’ll see, and what each choice means.

The AutoMem guided installer asking "Where should AutoMem run?" with Hosted Cloud, Local Docker, and Existing Endpoint options

Splash → “Where should AutoMem run?”

Section titled “Splash → “Where should AutoMem run?””

After a brief AutoMem splash, the first question picks your backend:

? Where should AutoMem run?
❯ Hosted Cloud InstaPods or Railway — guided deploy
Local Docker Clone AutoMem and start Docker Compose on this machine
Existing Endpoint Use an AutoMem URL you already have
OptionChoose it whenWhat happens
Hosted Cloud (default)You want always-on memory across devices and machinesThe installer guides a cloud deploy and captures the endpoint + token for you
Local DockerYou want everything on your own machine, no cloud, no costClones AutoMem into ~/.automem/server, generates local tokens, runs docker compose up, and waits for /health
Existing EndpointYou already run AutoMem somewherePaste the URL (and key); the installer verifies it before touching any agent config

Choosing Hosted Cloud asks how to stand it up:

? How should we stand up your hosted AutoMem?
❯ InstaPods open the setup page — it deploys AutoMem and emails your URL + key
Railway (guided) sign in with the railway CLI, deploy from the terminal, then auto-capture keys
Other — I already have a URL + key already deployed somewhere; just paste your endpoint + token
  • InstaPods — opens the InstaPods setup page (it deploys AutoMem and emails your API URL + key, Grow plan ~$15/mo flat), then you paste them back.
  • Railway (guided) — signs in via the railway CLI and deploys the AutoMem template straight from the terminal (usage-based, ~$1–5/mo), auto-capturing the endpoint + token. Falls back to a browser deploy if the CLI can’t finish.
  • Other — you already have an endpoint; paste the URL + token and skip provisioning.

For Existing Endpoint (or Other), you’ll be prompted for the URL and a masked API key:

? AutoMem API URL › https://your-automem.example
? AutoMem API key (leave blank if this endpoint does not require one) › ••••••••

Next, choose which agents get wired up. Agents already detected on your machine are pre-checked — press space to toggle, enter to confirm:

The AutoMem installer's agent picker — Codex, Claude Code, and Cursor detected and checked, with OpenClaw and Hermes available to add

? Install AutoMem into which agents? (space to toggle, enter to confirm)
❯ ◉ Codex detected on this machine
◉ Claude Code detected on this machine
◉ Cursor detected on this machine
◯ OpenClaw not detected, still installable
◯ Hermes not detected, still installable

Detection looks for ~/.codex, ~/.claude, ~/.cursor, ~/.openclaw, and ~/.hermes. Anything not detected is still installable — just check it.

If you select Claude Code, it asks how to integrate:

? How should AutoMem integrate with Claude Code?
❯ Plugin (recommended) bundles the MCP server + hooks, prompts for your endpoint, auto-updates
Settings-level install writes ~/.claude hooks + permissions directly; no auto-update
  • Plugin (recommended) — adds the AutoMem marketplace and installs the plugin, which bundles the MCP server, hooks, and skill and auto-updates. If the claude binary is on your PATH the installer runs claude plugin install for you; otherwise it prints the two /plugin commands to run inside Claude Code.
  • Settings-level — writes ~/.claude hooks and permissions directly. Scriptable, but you update it yourself.

Selecting Hermes asks for a mode: Native memory provider (recommended — replaces Hermes’ built-in provider), MCP tools only (portable tools, no replacement), or Both.

Before changing anything, the installer prints the full plan and waits for a yes:

The installer's review plan: mode, endpoint, redacted API key, and a numbered list of stages — verify, write, and per-agent installs — ending with "Dry run only. No files were changed."

The plan lists the mode and endpoint, whether an API key is set (always shown redacted), and every stage it will run — verify the endpoint, write .env, and configure each agent — with the exact file paths it will touch. Every changed file keeps a .bak copy. (The screenshot above is a --dry-run, which prints the plan and stops without writing anything.)

Approve, and a live checklist ticks through each step — verify endpoint, write .env, configure each agent — finishing with a success card and your endpoint. If an individual agent needs a manual step (for example the OpenClaw CLI isn’t installed), that one is flagged with a copy-paste fix and the rest still complete.


The installer is fully scriptable. Every prompt has a flag and an environment variable, so you can pre-answer some questions, automate the whole thing in CI, or preview a run without touching disk. Set environment variables before the pipe, or pass flags when calling the npm package directly.

Terminal window
# Hosted cloud, fully interactive (default)
curl -fsSL get.automem.ai | sh
# Local Docker, no questions asked
curl -fsSL get.automem.ai | AUTOMEM_INSTALL_TARGET=local AUTOMEM_YES=1 sh
# Point at an endpoint you already run, only wire Codex + Cursor
curl -fsSL get.automem.ai | \
AUTOMEM_INSTALL_TARGET=existing \
AUTOMEM_API_URL=https://memory.example \
AUTOMEM_API_KEY=sk-... \
AUTOMEM_CLIENTS=codex,cursor \
AUTOMEM_YES=1 sh
# Preview the plan without changing anything
curl -fsSL get.automem.ai | AUTOMEM_DRY_RUN=1 sh

The equivalent flags work on the npm package: npx @verygoodplugins/mcp-automem install --target existing --endpoint https://memory.example --clients codex,cursor --yes.

FlagEnvironment variablePurpose
--targetAUTOMEM_INSTALL_TARGETlocal, cloud, or existing
--cloud-providerAUTOMEM_CLOUD_PROVIDERinstapods, railway, or other
--clientsAUTOMEM_CLIENTSComma-separated agents: codex,claude-code,cursor,openclaw,hermes
--endpointAUTOMEM_API_URLAutoMem HTTP API endpoint
--api-keyAUTOMEM_API_KEYBearer token for authenticated deployments
--local-dirAUTOMEM_LOCAL_DIRLocal backend checkout path (default ~/.automem/server)
--claude-code-modeAUTOMEM_CLAUDE_CODE_MODEplugin (default) or settings
--hermes-modeAUTOMEM_HERMES_MODEmcp (default), provider, or both
--yes / -yAUTOMEM_YES=1Apply the reviewed plan without prompting
--dry-runAUTOMEM_DRY_RUN=1Print the plan, write nothing
--no-agent-installAUTOMEM_NO_AGENT_INSTALL=1Set up the endpoint only; skip agents

Once the installer finishes, confirm the backend is healthy:

Terminal window
# Local Docker
curl http://localhost:8001/health
# Hosted / existing endpoint
curl https://your-automem-url/health \
-H "Authorization: Bearer YOUR_AUTOMEM_API_TOKEN"

A healthy response looks like this:

{
"status": "healthy",
"falkordb": "connected",
"qdrant": "connected",
"memory_count": 0,
"enrichment": { "status": "running", "queue_depth": 0 },
"graph": "memories"
}
FieldDescription
statusOverall health: "healthy" or "degraded"
falkordbGraph store connection: "connected" or "disconnected"
qdrantVector store connection: "connected" or "unavailable"
memory_countTotal memories in the graph
enrichment.statusBackground worker state: "running" or "stopped"
graphFalkorDB graph name (default memories)

Restart the agent you connected (quit and reopen — don’t just close the window), then:

  1. Ask it to check AutoMem health — this calls the check_database_health tool.
  2. Ask it to remember something: “Remember that I prefer TypeScript over JavaScript for new projects.”
  3. In a fresh chat, ask “What are my language preferences?” — the memory should come back, retrieved via hybrid search.

Prefer to run the backend yourself, or wire an agent by hand? Everything the installer automates, you can also do manually.

MethodSetup timeBest for
InstaPods Hosted~30 secondsFastest hosted AutoMem, flat $15/mo, generated MCP config
Railway~60 secondsProduction, multi-device, HTTPS, usage-based billing
Docker Compose~5 minutesFull local stack, no cloud cost
Bare-metal Python~2 minutesAn existing FalkorDB and direct debugging

Docker Compose is the quickest manual local stack:

Terminal window
git clone https://github.com/verygoodplugins/automem.git
cd automem
make dev # docker compose up --build

Services start on :8001 (Flask API), :6379 (FalkorDB), and :6333 (Qdrant). See Docker & Local Dev for volumes, environment overrides, and the bare-metal Python path.

The setup wizard prints config snippets for every platform, or use the lighter endpoint-only wizard if you just need to write a .env:

Terminal window
npx @verygoodplugins/mcp-automem setup

For a manual MCP entry — for example Claude Desktop’s claude_desktop_config.json:

{
"mcpServers": {
"mcp-automem": {
"command": "npx",
"args": ["-y", "@verygoodplugins/mcp-automem"],
"env": {
"AUTOMEM_API_URL": "http://localhost:8001"
}
}
}
}

Add "AUTOMEM_API_KEY": "your-token" for authenticated (hosted) endpoints. Per-platform paths and snippets live in the Platform Guides.


AutoMem accepts a token three ways, in order of preference:

Terminal window
# 1. Bearer token (recommended)
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8001/health
# 2. Custom header
curl -H "X-API-Token: YOUR_TOKEN" http://localhost:8001/health
# 3. Query parameter (discouraged — tokens land in logs)
curl "http://localhost:8001/health?api_key=YOUR_TOKEN"

Admin operations need an extra header:

Terminal window
curl -H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Admin-Token: YOUR_ADMIN_TOKEN" \
http://localhost:8001/admin/...

SymptomLikely causeFix
node is required from the launcherNode/npm not installedInstall Node 20.19+ (nvm install 20), then re-run
Installer says the package has no installOld npm cacheThe guided installer ships in @verygoodplugins/mcp-automem 0.15.0+; clear the npx cache or pin @latest
Local server won’t startPort in use (:8001, :6379, :6333)Stop the conflicting container (docker ps) or free the port, then re-run
503 Service UnavailableFalkorDB unreachableCheck FALKORDB_HOST / FALKORDB_PORT
"qdrant": "unavailable"Qdrant not configuredExpected — set QDRANT_URL to enable vector search
401 UnauthorizedWrong/missing tokenVerify AUTOMEM_API_KEY; provide it without a Bearer prefix
ECONNREFUSED on RailwayPORT not setSet PORT=8001 on memory-service
Tools don’t appear in your agentClient not reloadedFully quit and reopen the agent (don’t just close the window)
One agent flagged “needs a manual step”That agent’s CLI was missingRun the printed fix command; the rest of the install still succeeded