Self-hosted memory for MCP agents

Lifecycle-managed memory for MCP agents.

Pamie keeps recent context prominent, preserves older memories in searchable lifecycle tiers, and stores agent memory in SQLite under your control.

SQLite Local durable source of truth with WAL and migrations.
MCP Purpose-built tools for save, search, update, pin, delete, and stats.
FTS5 Keyword search with metadata filters, snippets, and explainable ranking.
AGPL Open source network service under AGPL-3.0-only.

Why Pamie exists

Agents can call tools, but they still need memory that survives sessions, stays searchable, and remains owned by the operator instead of a hosted AI platform.

Operator owned

Your memory database stays local

Run Pamie as a single Go binary or container. SQLite is the source of truth, so backups and restores remain straightforward.

Agent ready

MCP-native tool surface

Agents interact through memory tools and read-only resources. Pamie does not expose arbitrary SQL or shell execution.

Searchable

Useful old context remains discoverable

Search combines FTS5, tier boosts, recency, importance, pinning, access history, and optional local vector ranking.

Built for controlled memory

Pamie keeps the runtime small while covering the memory workflows agents and operators need before exposing a server publicly.

Bearer auth Scoped tokens protect `/mcp`, with audit attribution through non-secret token IDs.
Lifecycle tiers Working, hot, warm, cold, and archive tiers support retention and retrieval priority.
Backups SQLite-safe and portable NDJSON backup and restore commands are built into the operator CLI.
Optional vectors Enable local hash or Ollama embeddings with sqlite-vec acceleration when semantic retrieval is useful.

Install it locally or run the container

Use Homebrew for a local binary, Docker for a containerized server, or the source install script while developing. The quickstart stays localhost-only by default and prints the MCP endpoint plus Bearer token to copy into your MCP client.

terminal homebrew quickstart
brew install kurocho/tap/pamie

if [ ! -f .pamie.env ]; then
  umask 077
  printf "PAMIE_TOKEN=%s\nPAMIE_TOKEN_ID=local\nPAMIE_TOKEN_SCOPES=all\n" \
    "$(openssl rand -hex 32)" > .pamie.env
fi

set -a
. ./.pamie.env
set +a
printf "MCP endpoint: http://127.0.0.1:8080/mcp\nBearer token: %s\n" "$PAMIE_TOKEN"

pamie \
  --addr 127.0.0.1:8080 \
  --data-dir ./data

# In another terminal:
curl http://127.0.0.1:8080/health

Open source, including corporate use

Pamie is licensed under AGPL-3.0-only. Companies can use it, but modified network deployments and redistribution carry source-sharing obligations. Read the repository license and GNU AGPL text; this is a practical summary, not legal advice.

Allowed

Corporate and commercial use

AGPL-3.0-only is not a non-commercial license. Organizations can run Pamie internally or commercially if they follow the license terms.

Network copyleft

Modified server versions need source access

If you modify Pamie and let users interact with that modified server over a network, those users need access to the corresponding source code.

Redistribution

Binaries and images keep the same license

When distributing Pamie or modified builds, keep the AGPL license notices and provide the matching source code required by the license.