assistant-ia-local
A local MCP server for RGPD-compliant document Q&A, enabling Claude Code to ingest, query, search, delete, and audit personal documents entirely on-device.
README
Assistant IA Local - Conforme RGPD
Assistant IA personnel 100% local, conforme RGPD par conception. Fonctionne sur votre ordinateur portable en 20 minutes. Zero dependance cloud. Vos donnees restent chez vous.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ VOTRE MACHINE │
│ │
│ ┌───────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ │ │ │ │ │ │
│ │ CLI/Web │────>│ Assistant │────>│ Ollama (LLM) │ │
│ │ Interface│<────│ Core │<────│ 100% local │ │
│ │ │ │ │ │ │ │
│ └───────────┘ └──────┬───────┘ └──────────────────┘ │
│ │ │
│ ┌──────▼───────┐ │
│ │ │ │
│ │ ChromaDB │ Embeddings locaux │
│ │ (vectoriel) │ sentence-transformers │
│ │ │ │
│ └──────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Module RGPD : Audit | Suppression | Export | Registre │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Serveur MCP : expose les outils a Claude Code │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
RIEN NE SORT DE CETTE BOITE. JAMAIS.
Ce que ca fait
- Repondre a vos questions depuis vos documents : ingerez vos PDF, DOCX, TXT, Markdown. Posez une question. L'assistant repond en citant ses sources (document, page).
- Recherche semantique : trouvez l'information pertinente meme si vous ne vous souvenez pas des mots exacts.
- Generation assistee : brouillons d'emails, syntheses, notes, dans votre style, depuis votre base de connaissances.
- Conformite RGPD native : journal d'audit immutable, droit a la suppression, export de donnees, registre des traitements CNIL.
- Integration Claude Code via MCP : Claude Code peut interroger votre base locale comme un outil.
Installation en 5 etapes
Prerequis
- Python 3.10 ou superieur
- 8 Go de RAM minimum (16 Go recommande)
- 5 Go d'espace disque pour le modele
Etape 1 : Installer Ollama
# macOS
brew install ollama
# Linux
curl -fsSL https://ollama.com/install.sh | sh
# Windows (WSL)
curl -fsSL https://ollama.com/install.sh | sh
Etape 2 : Telecharger un modele
ollama pull mistral
Mistral 7B est le modele par defaut. Vous pouvez aussi utiliser llama3, phi3, ou tout autre modele supporte par Ollama.
Etape 3 : Installer l'assistant
pip install -e /chemin/vers/assistant-ia-local-rgpd
Ou depuis le depot clone :
git clone <votre-depot>
cd assistant-ia-local-rgpd
pip install -e .
Etape 4 : Initialiser
assistant-ia init
Cela verifie qu'Ollama tourne, cree les repertoires de donnees, et genere la configuration par defaut.
Etape 5 : Ingerer vos documents
assistant-ia ingerer ~/Documents/mon-dossier/
C'est pret. Posez votre premiere question :
assistant-ia demander "Quel est le montant du contrat signe en mars ?"
Utilisation
Ingerer des documents
# Un fichier
assistant-ia ingerer rapport-annuel.pdf
# Un dossier entier (recursif)
assistant-ia ingerer ~/Documents/travail/
# Formats supportes : PDF, DOCX, TXT, MD
Poser une question
assistant-ia demander "Quelles sont les obligations du prestataire ?"
Reponse avec sources citees :
Reponse : Le prestataire est tenu de livrer les livrables avant le 31 mars
et de maintenir une disponibilite de 99.5% sur la plateforme.
Sources :
[1] contrat-prestation-2026.pdf, page 4
[2] annexe-technique.pdf, page 12
Recherche semantique
assistant-ia chercher "clause de confidentialite"
Supprimer un document (droit a l'effacement RGPD)
assistant-ia supprimer doc_abc123
# Confirmation interactive + preuve de suppression generee
Audit complet
assistant-ia audit
# Affiche toutes les operations : ingestions, requetes, suppressions
# Avec horodatage, operateur, details
Exporter vos donnees (droit a la portabilite)
assistant-ia exporter --format json --sortie ~/export-donnees/
Statut du systeme
assistant-ia statut
Ollama : actif (mistral 7B)
Documents : 47 fichiers indexes
Chunks : 1,203 segments
Stockage : 234 Mo
Derniere action : 2026-07-15 14:32 - ingestion rapport-Q2.pdf
Conformite RGPD : ce que ca signifie concretement
Aucune donnee ne quitte votre machine
- Le LLM tourne localement via Ollama. Aucun appel API externe.
- Les embeddings sont calcules localement avec sentence-transformers.
- ChromaDB stocke les vecteurs sur votre disque dur.
- Aucune telemetrie, aucun analytics, aucun appel reseau.
Droits implementes
| Droit RGPD | Implementation |
|---|---|
| Acces | assistant-ia exporter exporte toutes vos donnees |
| Rectification | Re-ingerez le document corrige |
| Effacement | assistant-ia supprimer + preuve de suppression |
| Portabilite | Export JSON complet de toute la base |
| Information | Journal d'audit complet horodate |
Registre des traitements (Article 30 RGPD)
assistant-ia audit --registre
Genere automatiquement le registre des traitements conforme aux exigences de la CNIL :
- Finalite du traitement
- Categories de donnees
- Duree de conservation
- Mesures de securite
- Base legale
Pret pour un controle CNIL
Si votre DPO vous demande des comptes :
assistant-ia audit: montre toutes les operationsassistant-ia audit --registre: genere le registre CNILassistant-ia exporter: prouve que les donnees sont locales et exportablesassistant-ia supprimer: demontre le droit a l'effacement
Configuration
Fichier de configuration : ~/.assistant-ia/config.yaml
# Modele Ollama a utiliser
modele: mistral
# Taille des segments de texte (en tokens)
taille_chunk: 500
# Chevauchement entre segments
chevauchement_chunk: 50
# Nombre de resultats pour la recherche
top_k: 5
# Repertoire de donnees
repertoire_donnees: ~/.assistant-ia/data
# Repertoire d'audit
repertoire_audit: ~/.assistant-ia/audit
# Langue de l'interface
langue: fr
# Modele d'embeddings local
modele_embeddings: all-MiniLM-L6-v2
Integration Claude Code (MCP)
Cet assistant expose un serveur MCP que Claude Code peut utiliser comme outil.
Configuration
Ajoutez a votre claude_desktop_config.json :
{
"mcpServers": {
"assistant-ia-local": {
"command": "python",
"args": ["-m", "assistant.mcp_server"],
"env": {}
}
}
}
Outils exposes
ingerer: Ingerer un document dans la base localedemander: Poser une question a la base de connaissanceschercher: Recherche semantiquesupprimer: Supprimer un documentaudit: Consulter le journal d'audit
FAQ
Q : Quelle puissance machine faut-il ? R : Un ordinateur portable recent avec 8 Go de RAM suffit pour Mistral 7B. Pour des modeles plus gros (Llama 70B), 32 Go sont necessaires.
Q : Combien de documents peut-on indexer ? R : Pas de limite technique. Teste avec 10,000 documents / 50,000 pages. La recherche reste sous la seconde.
Q : Les reponses sont-elles aussi bonnes que ChatGPT ? R : Pour des questions sur VOS documents, souvent meilleures, car le contexte est precis. Pour la culture generale, un modele 7B est inferieur a GPT-4.
Q : Peut-on utiliser un autre modele que Mistral ?
R : Oui. Tout modele disponible dans Ollama : llama3, phi3, gemma2, mixtral, etc. Changez modele dans la config.
Q : Les donnees sont-elles chiffrees ? R : Les donnees sont stockees en clair sur votre disque. Utilisez le chiffrement de votre OS (FileVault macOS, LUKS Linux, BitLocker Windows) pour une protection supplementaire.
Q : Peut-on l'utiliser en entreprise ?
R : Oui. Le registre des traitements et le journal d'audit sont conformes aux exigences CNIL. Consultez votre DPO avec le document docs/rgpd-conformite.md.
Q : Comment mettre a jour le modele ?
R : ollama pull mistral telecharge la derniere version. Vos donnees indexees ne sont pas affectees.
Q : Peut-on partager la base entre collegues ? R : Non par conception. Chaque instance est personnelle. Pour un usage equipe, chaque membre a sa propre instance.
Contribuer
Contributions bienvenues. Ouvrez une issue ou une PR.
Priorites :
- Support de nouveaux formats (emails .eml, .epub, .odt)
- Interface web locale (Flask)
- Meilleur chunking (par paragraphe semantique)
- Support multi-langue des embeddings
Licence
MIT - Copyright 2026 David Dabert
Voir le fichier LICENSE pour les details.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.