Zotero MCP : pont entre votre bibliothèque de recherche et les assistants IA
Zotero MCP : connecte votre bibliothèque de recherche Zotero à Claude et à d'autres assistants d'IA via le protocole de contexte modèle pour discuter d'articles, obtenir des résumés, analyser des citations, et bien plus encore.
En bref
- De quoi s’agit-il ?
- Un serveur Python qui expose votre bibliothèque Zotero aux clients du Model Context Protocol, permettant recherche, annotation et extraction dans Claude, ChatGPT et autres assistants.
- À qui s’adresse-t-il ?
- Zotero MCP s'adresse aux chercheurs, doctorants et analystes littéraires qui accumulent des collections dans Zotero et veulent exploiter ce corpus lors de conversations avec Claude ou ChatGPT. À cause du coût de contexte des outils MCP, l'article mentionne aussi un mode agent CLI comme alternative.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Architecture du serveur et clients compatibles
Zotero MCP est un serveur Python qui implement le Model Context Protocol (MCP), un standard permettant à des applications d'exposer des outils à des clients IA. Le README mentionne Claude, ChatGPT, Cherry Studio et Chorus comme clients reconnus, et souligne que d'autres implémentations du protocole peuvent aussi fonctionner. L'installation de base se fait via `uv tool install zotero-mcp-server`, avec des alternatives pip et pipx documentées. La version au moment du rapport est v0.11.0, publiée le 25 août 2026. Le dépôt affiche 4 828 étoiles et 382 forks, avec 55 problèmes ouverts. Le projet est sous licence MIT et maintenu activement : la dernière poussée date du 25 août 2026, moins d'une semaine avant le rapport. La page d'accueil à stevenyuyy.com/zotero-mcp/ complète le dépôt GitHub.
Trois modes d'accès : local, cloud et hybride
Zotero MCP s'adapte à différentes architectures d'accès aux données Zotero. Le mode local lit directement la base de données Zotero sur l'ordinateur : utile pour les ordinateurs portables et les configurations de bureau. Le README exige que Zotero soit configuré pour permettre la communication locale via ses préférences. Cependant, les opérations d'écriture (ajouter des articles, éditer des tags) nécessitent toujours une clé API Zotero Web. Le mode Web uniquement accède à la bibliothèque distante via l'API Zotero : idéal pour les environnements sans Zotero installé localement, comme les serveurs ou les conteneurs. Le mode hybride associe les deux : lectures locales rapides et écritures via l'API Web. Pour passer au mode hybride, on définit `ZOTERO_LOCAL=true` avec une clé API et l'identifiant de bibliothèque. Cette flexibilité signifie que Zotero MCP peut s'adapter aussi bien à une machine de développement qu'à une intégration Zotero dans un serveur d'applications.
Recherche sémantique via embeddings configurables
La recherche sémantique est fournie comme un extra optionnel : `pip install zotero-mcp-server[semantic]`. Elle utilise ChromaDB et sentence-transformers pour vectoriser les résumés et le texte intégral des documents. Quatre modèles d'embedding sont supportés : un modèle local par défaut (all-MiniLM-L6-v2), OpenAI, Gemini et Ollama. La configuration intervient lors de `zotero-mcp setup` ou via `zotero-mcp setup --semantic-config-only`. L'indexation de la base de données s'effectue avec `zotero-mcp update-db` ; par défaut elle traite les métadonnées seules, mais `--fulltext` inclut le texte intégral des PDF, rendant la recherche plus profonde mais plus lente. Les paramètres de recherche se trouvent dans `~/.config/zotero-mcp/config.json` sous `semantic_search.extraction`, avec des clés comme `pdf_max_pages` pour limiter les pages indexées. L'API Batch d'OpenAI est supportée via le drapeau `--openai-batch` pour les volumtries importantes. Le README prévient que augmenter `pdf_max_pages` n'élargit pas le rappel au-delà des limites de jetons du modèle d'embedding.
Outils de curation : extraction PDF et intelligence Scite
Zotero MCP expose près d'une quarantaine d'outils au modèle IA, contrôlés par groupes d'outils appelés toolsets. Chaque toolset active un sous-ensemble de capacités : le profil par défaut inclut la recherche, la gestion des bibliothèques et les annotations. Les extras optionnels ajoutent des toolsets supplémentaires : l'extra `pdf` active l'extraction d'outlines/tables des matières de PDF via PyMuPDF, et le support des annotations EPUB. L'extra `scite` active l'intelligence Scite, qui montre le nombre de citations supportant, contestant ou mentionnant chaque article, ainsi que les détections de rétraction. Scite est accessible sans compte payant ; le serveur utilise les points d'accès publics de l'API. Les toolsets supplémentaires incluent `duplicates` pour détecter et fusionner les doublons, `discovery` pour les recommandations de papiers, et `feeds` pour les abonnements RSS. Chaque outil inactif est totalement absent de l'interface, ce qui gère le coût de fenêtre de contexte.
Interface CLI autonome : zotero-cli
Le paquet inclut `zotero-cli`, un client terminal qui utilise la même configuration que le serveur MCP mais fonctionne sans assistant IA. Il supporte la recherche (`s`), la récupération de métadonnées (`g`), l'accès aux annotations (`ann`), l'ajout d'éléments par DOI ou URL, la gestion des collections et la détection des doublons. Les exemples du README montrent des alias courts facilitant l'utilisation interactive. La sortie JSON est disponible sur tous les commandes, ouvrant la voie aux scripts et aux pipelines d'agents. Le README mentionne à titre d'exemple un agent CLI `zotero-cli install-skill`, qui enseigne à des harnesses Claude (Claude Code, Cursor, Codex, etc.) à piloter zotero-cli directement. Cette approche réduit le coût de contexte fixe : un serveur MCP envoie tous les schémas d'outils à chaque requête, tandis que une compétence agent ne charges que le texte de la compétence en frontispice, avec le corps chargé uniquement quand la compétence devient pertinente.
Opérations d'écriture et flux de travail d'enrichissement
Au-delà de la recherche et la lecture, Zotero MCP expose des outils d'écriture : ajouter des papiers par DOI, URL ou fichiers locaux, éditer les métadonnées d'éléments, créer et mettre à jour les collections, et gérer les tags. L'ajout par DOI déclenche une cascade d'accès ouvert via Unpaywall, arXiv, Semantic Scholar et PMC. Cette intégration élimine les saisies manuelles longues : un DOI suffit pour obtenir les métadonnées et un PDF. La fusion de doublons inclut un mode de simulation (dry-run) pour examiner les résultats avant application. Ces capacités transforment Zotero MCP en outil de gestion de bibliothèque IA-assistée, pas seulement un lecteur. Les assistants IA peuvent proposer de nouvelles références, les chercheurs peuvent les accepter ou les éditer avant de les insérer dans Zotero.
Installation modulaire et extras optionnels
L'installation de base via `uv tool install zotero-mcp-server` ou `pip install zotero-mcp-server` apporte les outils essentiels sans dépendances d'apprentissage automatique : recherche, métadonnées, annotations et écritures. Les composants lourds sont répartis en extras : `semantic` ajoute ChromaDB et sentence-transformers (~50 Mo), `pdf` ajoute PyMuPDF pour les outlines (~10 Mo), `scite` ajoute le support Scite sans dépendances supplémentaires. L'extra `all` installe chacun des trois. La mise à jour s'effectue via `zotero-mcp update`, avec `--check-only` pour inspecter sans installer. Cette modularité maintient le temps d'installation court pour les utilisateurs qui ne veulent que les fonctionnalités de base, tout en offrant la profondeur pour les chercheurs ayant besoin de recherche sémantique et d'indexation PDF.
Gestion du coût de contexte et stratégies d'activation
Le README discute un compromis architectural central : un serveur MCP envoie tous les schémas d'outils au modèle à chaque requête, avant même que l'utilisateur ne tape quoi que ce soit. Avec 38 outils par défaut, cela représente environ 13 448 jetons de contexte fixe à chaque requête. Par contraste, l'approche agent CLI (zotero-cli) via la compétence agent du projet coûte seulement 98 jetons jusqu'à ce que l'agent juge la compétence pertinente, puis 1 368 jetons si elle s'active. Cela représente un économie d'environ 137x avant utilisation et 10x après activation. Le README inclut un script `scripts/measure_context_cost.py` pour réévaluer ce coût selon les configurations de l'utilisateur. Les deux routes coexistent : les clients sans shell (Claude Desktop web, ChatGPT) utilisent le serveur MCP, tandis que ceux avec accès shell (Claude Code, Cursor) peuvent utiliser la compétence CLI pour économiser le contexte.
Conclusion éditoriale
Zotero MCP s'adresse aux chercheurs, doctorants et analystes littéraires qui accumulent des collections dans Zotero et veulent exploiter ce corpus lors de conversations avec Claude ou ChatGPT. À cause du coût de contexte des outils MCP, l'article mentionne aussi un mode agent CLI comme alternative. Les utilisateurs en mode local doivent vérifier les préférences Zotero ; ceux avec abonnement Web API peuvent tout faire directement.
Notes de la communauté