Memoraeu Typescript
FreeNot checkedOfficial TypeScript/Node.js SDK for MemoraEU — zero-knowledge persistent memory layer for AI agents
About
Official TypeScript/Node.js SDK for MemoraEU — zero-knowledge persistent memory layer for AI agents
README
English
Zero-knowledge persistent memory layer for AI agents — official TypeScript SDK
MemoraEU gives your agents a persistent, encrypted memory. All content is encrypted client-side with AES-256-GCM before reaching the server — the server never sees your plaintext. Works in Node.js 18+, browsers, Deno and Bun.
Installation
npm install memoraeu
No dependencies — uses the native Web Crypto API and native fetch (Node 18+).
Quick start
1. Get your credentials
- Create an account at app.memoraeu.com
- Settings → Encryption keys → copy
MEMORAEU_SALT - Settings → API keys → create a key → copy
MEMORAEU_API_KEY(meu-sk-…) secret= your MemoraEU login password
2. Basic usage
import { MemoraEU } from 'memoraeu'
const client = new MemoraEU({
apiUrl: 'https://api.memoraeu.com',
apiKey: 'meu-sk-...', // API key (HTTP auth)
secret: 'your-password', // MemoraEU password (local key derivation)
salt: 'your-kdf-salt', // account-unique salt (from Settings)
})
// Store a memory
const memory = await client.remember(
'Philippe prefers TypeScript and Vite',
{ category: 'prefs', tags: ['typescript', 'stack'] },
)
console.log(memory.id) // mem_01HV...
// Semantic search
const results = await client.recall('tech preferences', { limit: 3 })
for (const r of results) {
console.log(`[${Math.round(r.score * 100)}%] ${r.memory.content}`)
}
// List memories
const memories = await client.listMemories({ category: 'prefs', limit: 20 })
// List categories
const categories = await client.listCategories()
// Delete
await client.forget(memory.id)
Understanding the parameters
| Parameter | Role |
|---|---|
apiKey |
HTTP authentication — Bearer token sent with every request (meu-sk-…) |
secret |
Your MemoraEU password — used as PBKDF2 input to derive the encryption key locally |
salt |
Account-unique KDF salt generated by the server — combined with secret to produce the AES key |
Zero-knowledge: the encryption key is derived on your machine using
PBKDF2(secret, salt, 210 000 iterations). The server receives only the encrypted ciphertext — it cannot read it even if compromised.⚠️ If you lose your
secretorsalt, your encrypted memories are unrecoverable.
Method reference
| Method | Description |
|---|---|
remember(content, options?) |
Store a memory (client-side encrypted) |
recall(query, options?) |
Semantic search in natural language |
forget(memoryId) |
Delete a memory by its ID |
listMemories(options?) |
List recent memories |
listCategories() |
Categories sorted by usage |
rememberFact(subject, predicate, object, options?) |
Store a structured fact with temporal validity |
recallFacts(subject, options?) |
Retrieve active facts for a subject |
invalidateFact(factId, validTo?) |
Mark a fact as expired |
mcpSseUrl() |
Returns the SSE MCP endpoint URL |
Error handling
import { MemoraEU, APIError, CryptoError, ConnectionError } from 'memoraeu'
try {
await client.remember('...')
} catch (e) {
if (e instanceof APIError) console.error(e.statusCode, e.message) // e.g. 401, 409
else if (e instanceof CryptoError) console.error('Encryption:', e.message)
else if (e instanceof ConnectionError) console.error('Unreachable:', e.message)
}
Example: agent with memory
import Anthropic from '@anthropic-ai/sdk'
import { MemoraEU } from 'memoraeu'
const client = new MemoraEU({ apiUrl: 'https://api.memoraeu.com', apiKey: 'meu-sk-...', secret: '...', salt: '...' })
const claude = new Anthropic()
async function askWithMemory(question: string): Promise<string> {
const hits = await client.recall(question, { limit: 3 })
const context = hits.map((r) => r.memory.content).join('\n')
const response = await claude.messages.create({
model: 'claude-opus-4-6',
max_tokens: 1024,
system: context ? `Memorized context:\n${context}` : undefined,
messages: [{ role: 'user', content: question }],
})
return (response.content[0] as { text: string }).text
}
Self-hosting
const client = new MemoraEU({
apiUrl: 'http://localhost:8000',
apiKey: 'meu-sk-...',
secret: '...',
salt: '...',
})
Links
License
MIT © 2026 MemoraEU — ISQUARECUBE SAS
Français
Couche mémoire persistante zero-knowledge pour agents IA — SDK TypeScript officiel
MemoraEU donne à vos agents 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. Compatible Node.js 18+, navigateurs, Deno et Bun.
Installation
npm install memoraeu
Aucune dépendance — utilise la Web Crypto API native et fetch natif (Node 18+).
Démarrage rapide
1. Obtenir vos clés
- Créez un compte sur app.memoraeu.com
- Paramètres → Clés de chiffrement → copiez
MEMORAEU_SALT - Paramètres → Clés API → créez une clé → copiez
MEMORAEU_API_KEY(meu-sk-…) secret= votre mot de passe de connexion MemoraEU
2. Utilisation de base
import { MemoraEU } from 'memoraeu'
const client = new MemoraEU({
apiUrl: 'https://api.memoraeu.com',
apiKey: 'meu-sk-...', // clé API (authentification HTTP)
secret: 'votre-mot-de-passe', // mot de passe MemoraEU (dérivation de clé locale)
salt: 'votre-kdf-salt', // salt unique à votre compte (depuis les Paramètres)
})
// Mémoriser
const memory = await client.remember(
'Philippe préfère TypeScript et Vite',
{ category: 'prefs', tags: ['typescript', 'stack'] },
)
console.log(memory.id) // mem_01HV...
// Recherche sémantique
const results = await client.recall('préférences tech', { limit: 3 })
for (const r of results) {
console.log(`[${Math.round(r.score * 100)}%] ${r.memory.content}`)
}
// Lister les mémoires
const memories = await client.listMemories({ category: 'prefs', limit: 20 })
// Lister les catégories
const categories = await client.listCategories()
// Supprimer
await client.forget(memory.id)
Comprendre les paramètres
| Paramètre | Rôle |
|---|---|
apiKey |
Authentification HTTP — Bearer token envoyé à chaque requête (meu-sk-…) |
secret |
Votre mot de passe MemoraEU — utilisé comme entrée PBKDF2 pour dériver la clé de chiffrement localement |
salt |
Salt KDF unique à votre compte, généré par le serveur — combiné avec secret pour produire la clé AES |
Zero-knowledge : la clé de chiffrement est dérivée sur votre machine avec
PBKDF2(secret, salt, 210 000 itérations). Le serveur reçoit uniquement le contenu chiffré — il ne peut pas le lire même s'il est compromis.⚠️ Si vous perdez votre
secretou votresalt, vos mémoires chiffrées sont irrécupérables.
Référence des méthodes
| Méthode | Description |
|---|---|
remember(content, options?) |
Mémorise une information (chiffrée côté client) |
recall(query, options?) |
Recherche sémantique en langage naturel |
forget(memoryId) |
Supprime une mémoire par son ID |
listMemories(options?) |
Liste les mémoires récentes |
listCategories() |
Catégories triées par usage |
rememberFact(subject, predicate, object, options?) |
Mémorise un fait structuré avec validité temporelle |
recallFacts(subject, options?) |
Récupère les faits actifs pour un sujet |
invalidateFact(factId, validTo?) |
Marque un fait comme expiré |
mcpSseUrl() |
Retourne l'URL SSE du endpoint MCP |
Gestion des erreurs
import { MemoraEU, APIError, CryptoError, ConnectionError } from 'memoraeu'
try {
await client.remember('...')
} catch (e) {
if (e instanceof APIError) console.error(e.statusCode, e.message)
else if (e instanceof CryptoError) console.error('Chiffrement :', e.message)
else if (e instanceof ConnectionError) console.error('API inaccessible :', e.message)
}
Liens
Licence
MIT © 2026 MemoraEU — ISQUARECUBE SAS
Installing Memoraeu Typescript
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/pquattro/memoraeu-typescriptFAQ
Is Memoraeu Typescript MCP free?
Yes, Memoraeu Typescript MCP is free — one-click install via Unyly at no cost.
Does Memoraeu Typescript need an API key?
No, Memoraeu Typescript runs without API keys or environment variables.
Is Memoraeu Typescript hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Memoraeu Typescript in Claude Desktop, Claude Code or Cursor?
Open Memoraeu Typescript on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Memoraeu Typescript with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
