Model Context Protocol (MCP) server that exposes Dutch parliamentary data (Tweede Kamer) via Bert Hubert’s OpenTK API, enabling LLMs to search, retrieve and analyse documents, debates and member information.
https://github.com/r-huijts/opentk-mcpStop wrestling with government APIs when you need parliamentary data for your AI applications. This MCP server transforms the Dutch Parliament's complex data systems into a clean, AI-friendly interface that works with any LLM supporting the Model Context Protocol.
Government data APIs are notoriously painful to work with - inconsistent formats, poor documentation, and complex authentication schemes. When you need to analyze parliamentary debates, track legislation, or research political positions for your applications, you're stuck parsing XML endpoints and dealing with bureaucratic data structures.
Meanwhile, your AI assistants could be doing sophisticated political analysis if they just had proper access to this information.
This server sits between your AI tools and the Dutch Parliament's data, handling all the API complexity so your LLMs can focus on analysis. Built on Bert Hubert's excellent OpenTK project, it exposes parliamentary data through clean MCP tools that understand natural language queries.
Real Query Examples:
Your AI gets structured access to documents, voting records, member information, and debate transcripts without you writing a single API integration.
One-Line Installation: npx @r-huijts/opentk-mcp gets you running immediately - no complex setup or API keys required.
Natural Language Interface: Instead of learning parliamentary API endpoints, your AI can ask questions in plain language and get structured responses.
Full Document Access: The server doesn't just return metadata - it fetches and parses full PDF and Word documents, giving your AI complete context for analysis.
Sophisticated Search: Supports boolean operators, phrase matching, and exclusion queries that go far beyond simple keyword searches.
Political Research Applications: Build tools that track legislative changes, analyze party positions, or monitor specific policy areas across time.
Journalism and Analysis: Create AI assistants that can quickly cross-reference parliamentary activities, voting patterns, and member statements.
Academic Research: Automate data collection for political science research without manual document gathering.
Government Transparency Tools: Build applications that make parliamentary information more accessible to citizens.
Adding this to Claude Desktop takes 30 seconds - just update your config with the npm package. For custom applications, the MCP protocol means your existing AI infrastructure can consume this data immediately.
The server handles all the messy details: rate limiting, document parsing, error handling, and data normalization. Your AI gets clean, structured parliamentary data through standardized tool calls.
This isn't another fragile government data scraper. It's built on Bert Hubert's OpenTK project, which already does the heavy lifting of collecting and organizing Dutch parliamentary data. The MCP layer adds AI-friendly access without reinventing data collection.
The TypeScript implementation includes proper error handling, fallback mechanisms, and robust search functionality that works with complex parliamentary queries.
Bottom Line: If you're building anything that needs Dutch political data analysis, this MCP server eliminates weeks of API integration work and gives your AI immediate access to comprehensive parliamentary information.
Ready to stop fighting government APIs? npx @r-huijts/opentk-mcp and start building.