Skip to main content

Zero-knowledge persistent memory layer for Claude — MCP server

Project description

memoraeu-mcp

🇬🇧 English | 🇫🇷 Français


English

Zero-knowledge persistent memory layer for Claude — MCP server

MemoraEU gives Claude a persistent, encrypted memory. All content is encrypted client-side with AES-256-GCM before reaching the server — the server never sees your plaintext. Semantic search is powered by Mistral embeddings generated locally on your machine, before encryption.

Features

  • 🔒 Zero-knowledge — AES-256-GCM encryption, key never leaves your machine
  • 🧠 Semantic search — embeddings generated locally before encryption (Qdrant on server)
  • 🔄 Auto memory — remembers and recalls context automatically
  • 🚫 Deduplication — detects near-duplicate memories before storing
  • 🇪🇺 EU hosted — GDPR compliant infrastructure

Installation

pip install memoraeu-mcp

Or with uvx (no install required, recommended):

uvx memoraeu-mcp

Claude Desktop configuration

Add to your claude_desktop_config.json, under mcpServers:

{
  "mcpServers": {
    "memoraeu": {
      "command": "uvx",
      "args": ["memoraeu-mcp"],
      "env": {
        "MEMORAEU_API_URL": "https://api.memoraeu.com",
        "MEMORAEU_API_KEY": "meu-sk-...",
        "MEMORAEU_SECRET": "your-memoraeu-password",
        "MEMORAEU_SALT": "your-kdf-salt",
        "MISTRAL_API_KEY": "your-mistral-key"
      }
    }
  }
}

Understanding the variables

These five variables serve three distinct purposes — they are not interchangeable:

Variable Purpose Where to get it
MEMORAEU_API_KEY HTTP authentication (Bearer token sent with every request) Dashboard → Settings → API Keys
MEMORAEU_SECRET Your MemoraEU login password — used as the PBKDF2 input to derive the encryption key locally Your account password
MEMORAEU_SALT KDF salt generated by the server, unique to your account — combined with MEMORAEU_SECRET to produce the encryption key Dashboard → Settings → Encryption Keys
MEMORAEU_API_URL API endpoint (use https://api.memoraeu.com for the hosted service)
MISTRAL_API_KEY Used to generate embeddings locally before encryption — required for zero-knowledge search (see below) console.mistral.ai

Why does the MCP need its own Mistral key?

Zero-knowledge means the server never sees your plaintext. To enable semantic search, embeddings must be computed before the content is encrypted — on your machine. The MCP calls Mistral directly with the plaintext, gets the embedding vector, encrypts the content, then sends both to the server. The server stores the opaque blob and the vector, but cannot reconstruct the original text. Without MISTRAL_API_KEY, semantic search will not work.

Getting your keys

  1. Sign up at app.memoraeu.com
  2. Go to Settings → Encryption Keys → copy MEMORAEU_SALT
  3. MEMORAEU_SECRET is your MemoraEU login password
  4. Go to Settings → API Keys → create a key → copy MEMORAEU_API_KEY
  5. Get a Mistral API key at console.mistral.ai

Available tools

Tool Description
remember Memorizes important information automatically
recall Semantic search across stored memories
forget Deletes a memory by ID
list_memories Lists recent memories with optional category filter
list_categories Returns existing categories sorted by usage

Self-hosting

The API is open source. Deploy your own instance with Docker:

git clone https://github.com/pquattro/memoraEu
cd memoraEu
docker compose up -d

Français

Couche mémoire persistante zero-knowledge pour Claude — serveur MCP

MemoraEU donne à Claude une mémoire persistante et chiffrée. Tout le contenu est chiffré côté client en AES-256-GCM avant d'atteindre le serveur — le serveur ne voit jamais le texte en clair. La recherche sémantique repose sur des embeddings Mistral générés localement, avant chiffrement.

Fonctionnalités

  • 🔒 Zero-knowledge — chiffrement AES-256-GCM, la clé ne quitte jamais votre machine
  • 🧠 Recherche sémantique — embeddings générés localement avant chiffrement (Qdrant côté serveur)
  • 🔄 Mémoire automatique — mémorise et rappelle le contexte sans intervention
  • 🚫 Déduplication — détecte les doublons avant stockage
  • 🇪🇺 Hébergé en Europe — infrastructure conforme RGPD

Installation

pip install memoraeu-mcp

Ou avec uvx (sans installation, recommandé) :

uvx memoraeu-mcp

Configuration Claude Desktop

Ajoutez dans votre claude_desktop_config.json, section mcpServers :

{
  "mcpServers": {
    "memoraeu": {
      "command": "uvx",
      "args": ["memoraeu-mcp"],
      "env": {
        "MEMORAEU_API_URL": "https://api.memoraeu.com",
        "MEMORAEU_API_KEY": "meu-sk-...",
        "MEMORAEU_SECRET": "votre-mot-de-passe-memoraeu",
        "MEMORAEU_SALT": "votre-kdf-salt",
        "MISTRAL_API_KEY": "votre-clé-mistral"
      }
    }
  }
}

Rôle de chaque variable

Ces cinq variables ont trois rôles distincts — elles ne sont pas interchangeables :

Variable Rôle Où la trouver
MEMORAEU_API_KEY Authentification HTTP (Bearer token envoyé à chaque requête) Dashboard → Paramètres → Clés API
MEMORAEU_SECRET Votre mot de passe MemoraEU — utilisé comme entrée PBKDF2 pour dériver la clé de chiffrement localement Votre mot de passe de connexion
MEMORAEU_SALT Salt KDF généré par le serveur, unique à votre compte — combiné avec MEMORAEU_SECRET pour produire la clé de chiffrement Dashboard → Paramètres → Clés de chiffrement
MEMORAEU_API_URL Endpoint API (utilisez https://api.memoraeu.com pour le service hébergé)
MISTRAL_API_KEY Génération des embeddings localement avant chiffrement — requis pour la recherche zero-knowledge (voir ci-dessous) console.mistral.ai

Pourquoi le MCP a-t-il besoin d'une clé Mistral ?

Le zero-knowledge signifie que le serveur ne voit jamais votre texte en clair. Pour permettre la recherche sémantique, les embeddings doivent être calculés avant le chiffrement — sur votre machine. Le MCP appelle Mistral directement avec le texte clair, obtient le vecteur d'embedding, chiffre le contenu, puis envoie les deux au serveur. Le serveur stocke le blob opaque et le vecteur, mais ne peut pas reconstituer le texte original. Sans MISTRAL_API_KEY, la recherche sémantique ne fonctionnera pas.

Obtenir vos clés

  1. Créez un compte sur app.memoraeu.com
  2. Allez dans Paramètres → Clés de chiffrement → copiez MEMORAEU_SALT
  3. MEMORAEU_SECRET est votre mot de passe de connexion MemoraEU
  4. Allez dans Paramètres → Clés API → créez une clé → copiez MEMORAEU_API_KEY
  5. Obtenez une clé Mistral sur console.mistral.ai

Outils disponibles

Outil Description
remember Mémorise automatiquement les informations importantes
recall Recherche sémantique dans les mémoires stockées
forget Supprime une mémoire par son ID
list_memories Liste les mémoires récentes avec filtre optionnel
list_categories Retourne les catégories existantes triées par usage

Auto-hébergement

L'API est open source. Déployez votre propre instance avec Docker :

git clone https://github.com/pquattro/memoraEu
cd memoraEu
docker compose up -d

License

MIT © 2026 MemoraEU

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

memoraeu_mcp-0.1.5.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

memoraeu_mcp-0.1.5-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file memoraeu_mcp-0.1.5.tar.gz.

File metadata

  • Download URL: memoraeu_mcp-0.1.5.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for memoraeu_mcp-0.1.5.tar.gz
Algorithm Hash digest
SHA256 c4e7b63133d4d7b4469d6ee58de0a29b83e7013373b35291a826f04b2ba4706d
MD5 496d15b475b54e169c93cf99cc03f4f8
BLAKE2b-256 9d023b6c9043e7248bbf45cd07ebf5a7c4dbecad5995338d32c734fadc42ff5d

See more details on using hashes here.

File details

Details for the file memoraeu_mcp-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: memoraeu_mcp-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for memoraeu_mcp-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1fffbbc36171b2c05aab4008d55633663422a1b6dcf4712eeb4102c2d46bf2b2
MD5 c80edd7a0a49111c15e6b835c36dab0e
BLAKE2b-256 f4cb93fed5cf1af694a68a94245a62ab1107defc89cc9813852aed7aee541c33

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page