Oorlogsbronnen (War Sources) API integration for accessing historical WWII records, photographs, and documents from the Netherlands (1940-1945)
This document introduces an innovative Model Context Protocol (MCP) server designed to provide AI-driven access to the Oorlogsbronnen (War Sources) database, a comprehensive repository of Dutch World War II history. This server empowers users to interact with historical archives through natural language, opening new avenues for research, education, and personal discovery.
Imagine asking your AI assistant questions like these and receiving insightful answers based on authentic historical records:
This MCP server makes these types of interactions possible.
Choose one of the following installation methods:
This method offers a streamlined setup using the NPX package manager and Claude Desktop.
Modify Claude Configuration: Update your Claude configuration file (~/Library/Application Support/Claude/claude_desktop_config.json
) with the following JSON snippet:
{ "mcpServers": { "oorlogsbronnen-server": { "command": "npx", "args": [ "-y", "oorlogsbronnen-mcp" ] } } }
Restart Claude Desktop: Ensure the changes take effect by restarting Claude Desktop.
This method provides greater control over the installation process.
Clone the Repository: Clone the project repository to your local machine:
git clone https://github.com/r-huijts/oorlogsbronnen-mcp.git cd oorlogsbronnen-mcp
Install Dependencies: Install the necessary project dependencies using npm:
npm install
Build the Project: Build the project to generate the distribution files:
npm run build
Configure Claude Desktop: Update your Claude configuration file (~/Library/Application Support/Claude/claude_desktop_config.json
) with the following JSON snippet, replacing /absolute/path/to/oorlogsbronnen-mcp
with the actual path to your installation directory:
{ "mcpServers": { "oorlogsbronnen-server": { "command": "node", "args": [ "/absolute/path/to/oorlogsbronnen-mcp/dist/mcp-server.js" ] } } }
The MCP server is designed to understand natural language queries, enabling you to explore the World War II archives with ease. Here are some example queries you can use with Claude:
Personal History Research:
Use search_ww2_nl_archives to find any records or documents about the Rosenberg family in Amsterdam between 1940-1945
Local History:
Search the Dutch WW2 archives for photographs and documents about daily life in Utrecht during the occupation
Military Operations:
Use search_ww2_nl_archives to find firsthand accounts and official reports about the Battle of the Scheldt
Combine different search criteria for more refined results:
Search the Netherlands WW2 archives for photographs and personal accounts of the Dutch famine in 1944-1945, limit to 20 results
search_ww2_nl_archives
ToolThe server exposes a single, powerful MCP tool: search_ww2_nl_archives
.
Purpose: This tool provides access to the Oorlogsbronnen database, allowing users to retrieve World War II-related content from the Netherlands. It can locate historical documents, photographs, personal accounts, and other archival materials from the 1940-1945 period.
Use Cases:
Parameters:
query
(required):
type
(optional):
count
(optional):
Response Format:
{ "results": [ { "id": string, // Unique identifier for the record "title": string, // Title or name of the item "type": string, // Content type (person, photo, article, etc.) "description": string, // Detailed description (if available) "url": string // Direct link to view the item on Oorlogsbronnen } ] }
Example Queries and Tool Calls:
Basic Historical Search:
{ query: "February Strike 1941", type: "article", count: 5 }
Person Research:
{ query: "Rosenberg family Amsterdam Jewish", type: "person", count: 20 }
Photo Collection Search:
{ query: "liberation celebrations Amsterdam Dam Square 1945", type: "photo", count: 15 }
Error Handling:
The tool will return an error message if:
Best Practices:
We welcome contributions to this project! Please submit a Pull Request with your proposed changes.
We extend our gratitude to:
๐ ๐ Generate visualizations from fetched data using the VegaLite format and renderer.
๐ โ๏ธ A mcp server that bridges Dune Analytics data to AI agents.
๐ โ๏ธ An MCP server for real-time Fantasy Premier League data and analysis tools.
๐๏ธ ๐ ๐ โ๏ธ Search dashboards, investigate incidents and query datasources in your Grafana instance