BnF API Server

by Kryzo
Verified
# BnF API Server Un serveur MCP (Model-Client-Protocol) pour accéder à l'API Gallica de la Bibliothèque nationale de France (BnF) et générer des rapports de recherche séquentiels. ## Fonctionnalités - **Recherche dans Gallica** : Recherche de documents, images, cartes et autres ressources dans la bibliothèque numérique Gallica - **Génération de rapports séquentiels** : Création automatique de rapports de recherche structurés sur n'importe quel sujet - **Intégration de graphiques** : Inclusion d'images et de cartes pertinentes dans les rapports générés - **Citations formatées** : Génération automatique de bibliographies avec citations correctement formatées ## Installation ### Prérequis - Python 3.8 ou supérieur - Pip (gestionnaire de paquets Python) ### Étapes d'installation 1. **Cloner le dépôt**: ```bash git clone https://github.com/votre-nom/mcp-bnf.git cd mcp-bnf ``` 2. **Installer les dépendances**: ```bash pip install -r requirements.txt ``` ## Configuration avec Claude Desktop 1. **Installer Claude Desktop** si ce n'est pas déjà fait. 2. **Ouvrir la configuration de Claude Desktop**: - Accéder aux paramètres de Claude Desktop - Ouvrir le fichier de configuration (généralement situé à `%APPDATA%\Claude\claude_desktop_config.json`) ```json { "bnf": { "command": "py", "args": [ "c:\\chemin\\vers\\mcp-bnf\\bnf_server.py" ], "cwd": "c:\\chemin\\vers\\mcp-bnf" }, ``` Remplacez `chemin\\vers\\mcp-bnf` par le chemin réel vers votre répertoire d'installation. 3. **Enregistrer le fichier de configuration** et redémarrer Claude Desktop ## Outils MCP disponibles Une fois configuré, les outils suivants seront disponibles dans Claude Desktop: ### Recherche dans Gallica Permet de rechercher des documents dans la bibliothèque numérique Gallica de la BnF en utilisant différents critères (titre, auteur, sujet, date, type de document). ### Génération de rapports séquentiels Crée des rapports de recherche complets sur n'importe quel sujet en utilisant les sources de Gallica. Les rapports incluent: - Une bibliographie formatée - Une introduction - Un contexte historique - Une analyse - Une conclusion - Des images et cartes pertinentes (optionnel) ## Structure du projet ``` mcp-bnf/ │ ├── bnf_server.py # Serveur MCP principal ├── requirements.txt # Dépendances du projet │ └── bnf_api/ # Package API BnF ├── __init__.py # Exports du package ├── api.py # Client API Gallica BnF ├── search.py # Fonctions de recherche ├── config.py # Constantes et configuration └── sequential_reporting.py # Outil de génération de rapports séquentiels ``` ## Utilisation Une fois configuré avec Claude Desktop, vous pouvez demander à Claude d'utiliser les outils BnF pour: 1. **Rechercher des documents**: - "Recherche des livres sur Victor Hugo dans Gallica" - "Trouve des cartes de Paris du 19ème siècle" 2. **Générer des rapports**: - "Crée un rapport sur l'impressionnisme en France" - "Génère un rapport sur l'histoire du Liban sous mandat français avec des images" ## Développement Pour contribuer au projet: 1. Forker le dépôt 2. Créer une branche pour votre fonctionnalité (`git checkout -b feature/nouvelle-fonctionnalite`) 3. Committer vos changements (`git commit -am 'Ajouter une nouvelle fonctionnalité'`) 4. Pousser vers la branche (`git push origin feature/nouvelle-fonctionnalite`) 5. Créer une Pull Request ## Licence Ce projet est open source.