End-to-End Encryption
All memories are encrypted client-side using RSA-OAEP and AES-GCM. The server never sees your plaintext data.
YoMemo provides a secure, encrypted memory layer for your AI applications. The easiest way to get started is using the Python MCP integration, which enables AI assistants like Claude and Cursor to save and retrieve encrypted memories seamlessly.
End-to-End Encryption
All memories are encrypted client-side using RSA-OAEP and AES-GCM. The server never sees your plaintext data.
AI Assistant Ready
Built-in MCP server works out-of-the-box with Claude Desktop, Cursor, and other MCP-compatible tools.
Easy Integration
Get started in minutes with just a few configuration steps. No complex setup required.
User-Controlled Keys
You manage your own encryption keys. The server cannot decrypt your data.
The Python MCP integration is the recommended way to get started, especially if you’re using AI assistants like Claude Desktop or Cursor. See it in action: Cursor MCP in 50 Seconds (video + steps).
uvx to run the MCP server directly (no installation needed):uvx yomemoai-mcp --helpOr install via pip:
pip install yomemoai-mcpSee the dedicated guide: Key Pairs (Public & Private) — it covers both options (online vs. local), how to upload your public key if you generate locally, and security notes.
~/.cursor/mcp.json (or %APPDATA%\Cursor\User\mcp.json on Windows):{ "mcpServers": { "yomemoai": { "command": "uvx", "args": ["yomemoai-mcp"], "env": { "MEMO_API_KEY": "your_api_key_here", "MEMO_PRIVATE_KEY_PATH": "/absolute/path/to/private.pem", "MEMO_BASE_URL": "https://api.yomemo.ai" } } }}~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):{ "mcpServers": { "yomemoai": { "command": "uvx", "args": ["yomemoai-mcp"], "env": { "MEMO_API_KEY": "your_api_key_here", "MEMO_PRIVATE_KEY_PATH": "/absolute/path/to/private.pem", "MEMO_BASE_URL": "https://api.yomemo.ai" } } }}Save a memory:
"Please remember that my coffee machine password is 8888, with handle 'passwords'"Retrieve memories:
"Can you recall my passwords?"Organize with handles:
"Remember this project detail with handle 'project-alpha'"When you ask your AI assistant to save a memory:
When you ask your AI assistant to recall a memory:
save_memoryStore important information, user preferences, or conversation context. When you use the same idempotent_key with the same handle, the existing memory is updated (upsert) instead of creating a duplicate.
Parameters:
content (required): The information to be rememberedhandle (optional): A category or tag (e.g., ‘work’, ‘personal’, ‘project-x’). Defaults to ‘general’description (optional): A brief summaryidempotent_key (optional): A stable key for upsert. If a memory with the same (handle, idempotent_key) already exists, it is updated; otherwise a new memory is created. Use for project progress, habit tracking, or avoiding duplicate memories.load_memoriesRetrieve previously stored memories.
Parameters:
handle (optional): Filter by category. If not specified, returns all memoriesWhile Python MCP is the easiest way to get started, YoMemo also supports other integration methods:
600 (read/write for owner only).env files and private keys to .gitignoreVerify your MEMO_API_KEY is correct
Check that the private key path is absolute and the file exists
Ensure the private key file has correct permissions (recommended: 600)
Test locally to see error messages:
MEMO_API_KEY="your_api_key" \MEMO_PRIVATE_KEY_PATH="/path/to/private.pem" \uvx yomemoai-mcpMEMO_BASE_URL is correct (default: https://api.yomemo.ai)