iflow-mcp_mcp-bibliotheque_nationale_de_france 0.1.1
Un serveur MCP pour accéder à l'API Gallica de la Bibliothèque nationale de France (BnF)
License: MIT
Requires Python: >=3.8

# 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.