Serveur MCP local — mémoire personnelle extraite depuis les historiques IA
Project description
personal-memory-mcp
Serveur MCP local qui extrait des faits mémorisables depuis vos historiques de conversations IA et les expose à tous les clients MCP compatibles (Claude Code, Claude Desktop, Cursor…).
Fonctionnement
Historiques IA → extraction LLM → SQLite + sqlite-vec → outils MCP
Les faits sont stockés localement dans ~/.personal-memory/memory.db. Aucun cloud, aucune API externe — tout tourne sur votre machine via Ollama.
Installation
pip install personal-memory-mcp
Prérequis : Python 3.13+, Ollama avec les modèles :
ollama pull qwen3:1.7b
ollama pull qwen3-embedding:0.6b
Démarrage rapide
# Lancer le serveur MCP
mmcp serve
# Configurer automatiquement les clients MCP détectés
mmcp setup
# Importer vos sessions Claude Code
mmcp import claude-code
# Importer un export Claude (ZIP)
mmcp import claude ~/Downloads/export.zip
# Importer un export ChatGPT (ZIP)
mmcp import chatgpt ~/Downloads/export.zip
# Interface web locale
mmcp ui
Outils MCP
| Outil | Description |
|---|---|
search(query) |
Recherche hybride (vectorielle + BM25) |
add(contenu, categorie) |
Ajoute un fait avec déduplication automatique |
list_facts(page, categorie) |
Liste paginée des faits |
delete(id) |
Supprime un fait |
import_source(type, chemin) |
Déclenche un import |
import_conversations(source, page) |
Expose les conversations brutes pour analyse par l'IA |
Configuration Claude Code
claude mcp add -s user personal-memory -- mmcp serve
Commandes CLI
mmcp serve # Lance le serveur MCP
mmcp ui # Interface web http://localhost:8766
mmcp import claude-code # Import sessions Claude Code
mmcp import claude <zip> # Import export Claude
mmcp import chatgpt <zip> # Import export ChatGPT
mmcp export # Export JSON/CSV
mmcp backup # Sauvegarde SQLite
mmcp restore # Restauration
mmcp migrate-embeddings # Migration de modèle d'embedding
mmcp status # État du serveur et de la base
Cohérence des embeddings et mises à jour d'Ollama
Les modèles d'embedding servis par Ollama ne produisent pas toujours les mêmes
vecteurs d'une version à l'autre. C'est documenté pour nomic-embed-text (le
modèle d'embedding par défaut) : les vecteurs varient entre versions mineures
d'Ollama (cf. ollama/ollama#14449).
Symptôme : après une mise à jour d'Ollama, les recherches deviennent moins pertinentes (scores de similarité dégradés). En effet, votre base a été vectorisée avec l'ancienne version, mais les nouvelles requêtes sont encodées avec la nouvelle — les deux ne sont plus comparables.
Détection automatique : la version d'Ollama utilisée lors de la vectorisation
est mémorisée dans la base. Si elle change (au niveau MAJEUR.MINEUR),
mmcp status le signale (coherence_embeddings) et le serveur MCP émet un
avertissement au démarrage.
Remède : re-vectoriser toute la base avec la version courante d'Ollama (une sauvegarde automatique est créée avant l'opération). Passez le modèle d'embedding courant pour re-vectoriser à l'identique :
mmcp migrate-embeddings --modele nomic-embed-text # re-vectorise à l'identique
mmcp status # l'avertissement doit disparaître
Sans l'option
--modele,mmcp migrate-embeddingsmigre versqwen3-embedding:0.6b(changement de modèle et de dimension). C'est aussi une façon valable de repartir sur une base cohérente si vous préférez ce modèle.
Stack technique
- Python 3.13 + uv
- MCP SDK Anthropic
- SQLite + sqlite-vec (stockage vectoriel + FTS5)
- Ollama :
qwen3-embedding:0.6b(embeddings) +qwen3:1.7b(extraction) - Recherche hybride : cosinus vectoriel + BM25 fallback
Licence
MIT
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file personal_memory_mcp-0.1.3.tar.gz.
File metadata
- Download URL: personal_memory_mcp-0.1.3.tar.gz
- Upload date:
- Size: 34.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a990345014201f48416c9a402b6c306b9d402e750fb9c79c987963d25e56f909
|
|
| MD5 |
4c2446716de31ba8e2363fd6932ad6cc
|
|
| BLAKE2b-256 |
f787bcceba9b2353b064cebe4cad6063fbddb4e10ec1225a792e9bd4b3cf5bb3
|
File details
Details for the file personal_memory_mcp-0.1.3-py3-none-any.whl.
File metadata
- Download URL: personal_memory_mcp-0.1.3-py3-none-any.whl
- Upload date:
- Size: 47.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
333025694a0c52db126b7203469bfa8e2d0353828e3101ad07b949dea12e1010
|
|
| MD5 |
2a1d4cc276e7e75e3163f6e2726f90fb
|
|
| BLAKE2b-256 |
cd938951a93517f94194b065413eeeec5528fced6229124fe3a48fc9cfeb8619
|