BnF API Server
A Model-Client-Protocol (MCP) server to access the Gallica API of the National Library of France (BnF) and generate sequential search reports.
Features
Search in Gallica : Search for documents, images, maps and other resources in the Gallica digital library
Sequential Reporting : Automatically create structured research reports on any topic
Chart Integration : Inclusion of relevant images and maps in generated reports
Formatted Citations : Automatic generation of bibliographies with correctly formatted citations
Related MCP server: MCP Web Research Server
Facility
Prerequisites
Python 3.8 or higher
Pip (Python package manager)
Installation Steps
Clone the repository :
git clone https://github.com/votre-nom/mcp-bnf.git cd mcp-bnfInstall dependencies :
pip install -r requirements.txt
Configuration with Claude Desktop
Install Claude Desktop if you haven't already.
Open Claude Desktop configuration :
Access Claude Desktop Settings
Open the configuration file (usually located at
%APPDATA%\Claude\claude_desktop_config.json)
Replace chemin\\vers\\mcp-bnf with the actual path to your installation directory.
Save the configuration file and restart Claude Desktop
MCP Tools Available
Once configured, the following tools will be available in Claude Desktop:
Search in Gallica
Allows you to search for documents in the BnF's Gallica digital library using different criteria (title, author, subject, date, document type).
Generation of sequential reports
Create comprehensive research reports on any topic using Gallica sources. Reports include:
A formatted bibliography
An introduction
A historical context
An analysis
A conclusion
Relevant images and maps (optional)
Project structure
Use
Once configured with Claude Desktop, you can instruct Claude to use BnF tools to:
Search for documents :
"Search for books on Victor Hugo in Gallica"
"Find maps of 19th century Paris"
Generate reports :
"Create a report on Impressionism in France"
"Generates a report on the history of Lebanon under French mandate with images"
Development
To contribute to the project:
Fork the repository
Create a branch for your feature (
git checkout -b feature/nouvelle-fonctionnalite)Commit your changes (
git commit -am 'Ajouter une nouvelle fonctionnalité')Push to branch (
git push origin feature/nouvelle-fonctionnalite)Create a Pull Request
License
This project is open source.