MemoraEU

io.github.pquattro由 GitHub 账号 pquattro 发布v0.1.2更新于 Oct 24, 2026

Zero-knowledge persistent memory for Claude — encrypted, semantic search, EU hosted.

已验证STDIO仅桌面知识与记忆AI 与机器学习

概览

AI 生成的概览

一个本地 MCP 服务器,为 Claude 提供加密的持久记忆与语义搜索,内容存储在欧盟托管的服务上。

可以做什么
存储与检索记忆:自动保存信息、对已存记忆做语义搜索、按分类筛选列出近期记忆或分类。管理记忆:按 ID 删除某条记忆。存储与查询结构化事实:保存带时间有效性的主语/谓语/宾语事实、按主语取回有效事实、将事实标记为过期。会话开始时自动召回上下文,并在存储前对长内容去重和压缩。
适用场景
当你希望 Claude 跨会话记住偏好、决定和事实,并且希望内容在离开本机前先加密时使用。适合已有或将创建 MemoraEU 账户、并希望数据存放在欧盟的用户。
运行要求
以 Python 包形式通过 uvx 或 pip 在本机运行。需要 MemoraEU 账户及 API 密钥(MEMORAEU_API_KEY)、账户密码(MEMORAEU_SECRET)和从控制台获取的账户盐值(MEMORAEU_SALT)。语义搜索和压缩需要 Mistral API 密钥(MISTRAL_API_KEY),没有时搜索退化为关键词。需要访问 MemoraEU API 和 Mistral 的网络。
安装前请注意
需要多个密钥:MEMORAEU_API_KEY、MEMORAEU_SECRET(账户密码)、MEMORAEU_SALT 和 MISTRAL_API_KEY,均保存在客户端配置中。明文记忆和长内容会在加密前发送给 Mistral 生成向量和压缩。服务器会写入并可删除已存记忆和事实。远程 SSE 模式不做零知识加密,服务器在该模式下处理明文。

安装

在 SourceWeft 中

  1. 打开 控制台中的 MemoraEU,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

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. (Local stdio install. The remote SSE mode is not zero-knowledge: see the note below.)

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

bash
pip install memoraeu-mcp

Or with uvx (no install required, recommended):

bash
uvx memoraeu-mcp

Claude Desktop configuration

Add to your claude_desktop_config.json, under mcpServers:

json
{  "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:

VariablePurposeWhere to get it
MEMORAEU_API_KEYHTTP authentication (Bearer token sent with every request)Dashboard → Settings → API Keys
MEMORAEU_SECRETYour MemoraEU login password — used as the PBKDF2 input to derive the encryption key locallyYour account password
MEMORAEU_SALTKDF salt generated by the server, unique to your account — combined with MEMORAEU_SECRET to produce the encryption keyDashboard → Settings → Encryption Keys
MEMORAEU_API_URLAPI endpoint (use https://api.memoraeu.com for the hosted service)—
MISTRAL_API_KEYUsed 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.

Without MISTRAL_API_KEY: The MCP will still work — remember and recall will function, but semantic search will fall back to keyword-based search on the server side. Zero-knowledge encryption is unaffected.

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

Remote MCP via SSE (no local install)

You can connect directly from claude.ai web, Cursor, Windsurf or any remote MCP client without installing anything locally:

SSE endpoint: https://api.memoraeu.com/mcp/sseAuth: Authorization: Bearer meu-sk-...

Example config for Cursor / Windsurf:

json
{  "mcpServers": {    "memoraeu": {      "type": "sse",      "url": "https://api.memoraeu.com/mcp/sse",      "headers": {        "Authorization": "Bearer meu-sk-..."      }    }  }}

Note: In SSE remote mode, content is not zero-knowledge encrypted (the server handles plaintext). Use the local stdio install for full zero-knowledge guarantees.

Available tools

ToolDescription
rememberMemorizes important information automatically
recallSemantic search across stored memories
forgetDeletes a memory by ID
list_memoriesLists recent memories with optional category filter
list_categoriesReturns existing categories sorted by usage
remember_factStores a structured fact (subject/predicate/object) with temporal validity
recall_factsRetrieves active facts for a subject
invalidate_factMarks a fact as expired by its ID

Auto-memory behavior

The MCP server is designed to work without manual intervention:

Automatic recall — On the first user message of each session, recall is called automatically with the detected topic as query. Recent memories are also loaded via the memoraeu://context resource and injected as session context.

Automatic remember — When Claude detects a memorable piece of information (preference, decision, biographical fact, technical constraint), it calls remember autonomously without waiting to be asked. It confirms with a single discreet line.

System prompt injection — On the first recall call, the full behavior system prompt is injected into Claude's context, reinforcing the auto-memory rules for the rest of the session.

This behavior is encoded directly in the tool descriptions. Claude models follow these instructions as part of tool use — no additional configuration is required.

Deduplication & compression

Before storing a memory, the MCP checks for near-duplicates using vector similarity:

SimilarityAction
≥ 94%Memory skipped — exact duplicate detected
85–94%Warning logged, memory stored anyway
< 85%Memory stored normally

Long memories (> 300 characters) are compressed by Mistral before encryption, reducing token usage and improving search relevance. Compression happens in plaintext, before the content is encrypted — the server never sees the uncompressed original either.

Self-hosting

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

bash
git clone https://github.com/pquattro/memoraEucd memoraEudocker 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. (Installation locale stdio. Le mode SSE distant n'est pas zero-knowledge : voir la note ci-dessous.)

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

bash
pip install memoraeu-mcp

Ou avec uvx (sans installation, recommandé) :

bash
uvx memoraeu-mcp

Configuration Claude Desktop

Ajoutez dans votre claude_desktop_config.json, section mcpServers :

json
{  "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 :

VariableRôleOù la trouver
MEMORAEU_API_KEYAuthentification HTTP (Bearer token envoyé à chaque requête)Dashboard → Paramètres → Clés API
MEMORAEU_SECRETVotre mot de passe MemoraEU — utilisé comme entrée PBKDF2 pour dériver la clé de chiffrement localementVotre mot de passe de connexion
MEMORAEU_SALTSalt KDF généré par le serveur, unique à votre compte — combiné avec MEMORAEU_SECRET pour produire la clé de chiffrementDashboard → Paramètres → Clés de chiffrement
MEMORAEU_API_URLEndpoint API (utilisez https://api.memoraeu.com pour le service hébergé)—
MISTRAL_API_KEYGé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.

Sans MISTRAL_API_KEY : Le MCP continue de fonctionner — remember et recall restent opérationnels, mais la recherche sémantique bascule sur une recherche par mots-clés côté serveur. Le chiffrement zero-knowledge n'est pas affecté.

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

MCP Remote via SSE (sans installation locale)

Connectez-vous directement depuis claude.ai web, Cursor, Windsurf ou tout client MCP distant sans rien installer :

Endpoint SSE : https://api.memoraeu.com/mcp/sseAuth : Authorization: Bearer meu-sk-...

Exemple de config Cursor / Windsurf :

json
{  "mcpServers": {    "memoraeu": {      "type": "sse",      "url": "https://api.memoraeu.com/mcp/sse",      "headers": {        "Authorization": "Bearer meu-sk-..."      }    }  }}

Note : En mode SSE distant, le contenu n'est pas chiffré zero-knowledge (le serveur traite le texte en clair). Utilisez l'installation locale stdio pour les garanties zero-knowledge complètes.

Outils disponibles

OutilDescription
rememberMémorise automatiquement les informations importantes
recallRecherche sémantique dans les mémoires stockées
forgetSupprime une mémoire par son ID
list_memoriesListe les mémoires récentes avec filtre optionnel
list_categoriesRetourne les catégories existantes triées par usage
remember_factStocke un fait structuré (sujet/prédicat/objet) avec validité temporelle
recall_factsRécupère les faits actifs pour un sujet
invalidate_factMarque un fait comme expiré par son ID

Comportement de mémoire automatique

Le serveur MCP est conçu pour fonctionner sans intervention manuelle :

Rappel automatique — Au premier message de chaque session, recall est appelé automatiquement avec le sujet détecté comme requête. Les mémoires récentes sont également chargées via la ressource memoraeu://context et injectées dans le contexte de session.

Mémorisation automatique — Lorsque Claude détecte une information durable (préférence, décision, fait biographique, contrainte technique), il appelle remember de façon autonome, sans attendre qu'on le lui demande. Il confirme par une simple ligne discrète.

Injection du prompt système — Au premier appel à recall, le prompt système complet de comportement est injecté dans le contexte de Claude, renforçant les règles de mémoire automatique pour le reste de la session.

Ce comportement est encodé directement dans les descriptions des outils. Les modèles Claude suivent ces instructions dans le cadre de l'utilisation des outils — aucune configuration supplémentaire n'est requise.

Déduplication et compression

Avant de stocker une mémoire, le MCP vérifie les quasi-doublons par similarité vectorielle :

SimilaritéAction
≥ 94 %Mémoire ignorée — doublon exact détecté
85–94 %Avertissement journalisé, mémoire stockée quand même
< 85 %Mémoire stockée normalement

Les mémoires longues (> 300 caractères) sont compressées par Mistral avant chiffrement, réduisant la consommation de tokens et améliorant la pertinence des recherches. La compression s'effectue en texte clair, avant chiffrement du contenu — le serveur ne voit jamais l'original non compressé non plus.

Auto-hébergement

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

bash
git clone https://github.com/pquattro/memoraEucd memoraEudocker compose up -d

License

MIT © 2026 MemoraEU

来源:README.md,提交 aee79e5

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分