amem
Enables AI assistants to persistently remember user preferences and context through client-side encrypted vaults, ensuring memory is portable and private across different MCP clients.
README
ApertoMemory
Portable, client-side-encrypted, user-owned AI memory.
Every AI tool remembers you differently — and only within its own walls. Switch tools and your AI forgets who you are. ApertoMemory fixes this with an open format: your AI's memory of you lives in a file that is yours, encrypted with your keys, portable across any compatible system. No provider can read it. No vendor can hold it hostage.
- Zero-access: content, authorship, and semantic timestamps are encrypted client-side; a sync/storage server sees only opaque blobs.
- Signed provenance: every memory object is Ed25519-signed inside the encryption; imported third-party memories are cryptographically distinguishable from your own (persistent-prompt-injection defence).
- Portable: export your entire memory as a single
.amemfile and import it anywhere — a complete vault fits in kilobytes. - Open: MIT-licensed reference implementation, CDDL schema, test vectors, and an IETF Internet-Draft (draft-ferro-apertomemory).
Website: https://apertomemory.org
Install
pip install apertomemory
The command-line tool is amem; the file format is .amem.
New here? Follow the 5-minute getting started guide - from install to an assistant that remembers you, including where the MCP config goes for each client.
Quick start
export AMEM_PASSPHRASE="your-passphrase"
amem --vault ~/.amem init
amem --vault ~/.amem scope add default
amem --vault ~/.amem seal "prefers formal B2B emails" --tags preferences
amem --vault ~/.amem open <id>
amem --vault ~/.amem export my-memory.amem # take it anywhere
amem --vault other-device import my-memory.amem
Cryptography
Argon2id (m=64 MiB, t=3, p=4) -> HKDF-SHA256 -> Ed25519 (signing,
sign-then-encrypt) + X25519 (ECDH-ES + AES-KW for per-scope KEKs) ->
AES-256-GCM per object (COSE alg 3), canonical CBOR (RFC 8949 s4.2).
The vault and the .amem file never contain cleartext keys or content.
Run the tests: python3 tests/test_roundtrip.py
Security
The design uses standard, well-reviewed primitives, but this project has not yet had an independent security audit. Until it does, treat it accordingly — and if you find a vulnerability, please report it privately: see SECURITY.md. Cryptographic review of the specification is explicitly invited.
MCP adapter (Claude Desktop / Claude Code)
{
"mcpServers": {
"amem": {
"command": "python3",
"args": ["-m", "amem.mcp_server"],
"env": {"AMEM_VAULT": "/path/to/vault", "AMEM_PASSPHRASE": "your-passphrase"}
}
}
}
Exposed tools: amem_remember, amem_recall, amem_export,
amem_import, amem_status. The passphrase lives only in your local
environment: the model never sees it. "New device" demo: amem_export ->
move the .amem file -> amem_import into a fresh vault -> amem_recall
and the AI already knows you.
Specification
The format is specified in an IETF Internet-Draft
(draft-ferro-apertomemory),
with a normative CDDL schema and machine-readable test vectors in this
repository under spec/ and test-vectors/.
License
MIT — see LICENSE.
Implementations
- Python (this repository) - reference implementation, generates the test vectors
- TypeScript - https://github.com/apertomemory/apertomemory-js - noble crypto stack, Node.js 20+ and browsers; interoperability with this implementation verified in both directions
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.