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.
Self-hosted 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.
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.
Run Pamie as a single Go binary or container. SQLite is the source of truth, so backups and restores remain straightforward.
Agents interact through memory tools and read-only resources. Pamie does not expose arbitrary SQL or shell execution.
Search combines FTS5, tier boosts, recency, importance, pinning, access history, and optional local vector ranking.
Pamie keeps the runtime small while covering the memory workflows agents and operators need before exposing a server publicly.
Read the practical pages built for people searching for memory for MCP agents, long-term agent context, and local-first memory infrastructure.
Use MCP memory to keep notes searchable without pasting an entire project notebook into every prompt.
DefinitionA practical definition of durable memory tools, long-term context, and MCP-native recall.
How-toInstall Pamie, configure Bearer auth, verify the server, and connect agents to `/mcp`.
ComparisonWhen a memory server is a better fit than only storing embeddings in a vector index.
InstallQuickstart commands for a local binary or the latest published Docker image.
ReferenceServer options, environment variables, backup and restore commands, embeddings backfill, and install script help.
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.
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
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.
AGPL-3.0-only is not a non-commercial license. Organizations can run Pamie internally or commercially if they follow the license terms.
If you modify Pamie and let users interact with that modified server over a network, those users need access to the corresponding source code.
When distributing Pamie or modified builds, keep the AGPL license notices and provide the matching source code required by the license.