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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。