Cover image
Try Now
2025-04-14

A Model Context Protocol (MCP) server providing access to Dutch parliamentary data (Tweede Kamer) through OpenTK . This server enables AI assistants to search, retrieve, and analyze parliamentary documents, activities, and information as published by parliament..

3 years

Works with Finder

3

Github Watches

0

Github Forks

3

Github Stars

OpenTK Model Context Protocol Server

Important Attribution: This MCP server is built as a wrapper around the excellent OpenTK project created by Bert Hubert. The OpenTK project provides unprecedented access to Dutch parliamentary data through a user-friendly interface. Learn more about the project in Bert's article: Welkom bij OpenTK. All credit for the underlying data access and processing goes to Bert Hubert and his contributions to open government data.

A bridge between large language models (LLMs) and Dutch parliamentary data through a standardized interface. This MCP server provides access to Dutch parliamentary documents, debates, and member information from the Tweede Kamer.

Real-World Natural Language Interaction Examples

Example 1: Comparing Party Positions on AI Policies

User Query: "When comparing the activities of opposition parties PvdA, GroenLinks, and Volt with government party BBB in the Dutch House of Representatives in the field of AI, what are actions they can undertake together in the short term that align with the positions and views they have demonstrated over the past year? Please use sources from OpenTK."

Example 2: Researching Parliamentary Discussions on Climate Policy

User Query: "I'd like to analyze recent parliamentary debates on climate policy and emission reduction targets in the Netherlands. Can you help me identify key discussions and the main positions taken by different parties over the past six months?"

Example 3: Information About a Specific MP's Voting Record

User Query: "What is MP Pieter Omtzigt's voting record on healthcare reform legislation, and how does his position differ from other independent members? Has he introduced any motions on this topic?"

Example 4: Finding Recent Housing Legislation Developments

User Query: "What are the most significant parliamentary documents and debates about affordable housing legislation from the past year? I'm particularly interested in proposals addressing the rental market crisis."

Example 5: Finding MPs with Specific Committee Memberships

User Query: "Which MPs currently serve on both the Finance Committee and the Economic Affairs Committee? What parties do they represent, and have they recently submitted any joint initiatives?"

Example 6: Identifying Upcoming Parliamentary Activities on Digital Security

User Query: "Are there any scheduled committee meetings or debates about cybersecurity and digital infrastructure planned for the next month? Which ministers will be participating and what specific topics will be addressed?"

Project Concept

The OpenTK project is a Model Context Protocol (MCP) server that provides access to Dutch parliamentary data through a standardized interface. It serves as a bridge between large language models (LLMs) and the Dutch Parliament's information systems, allowing AI assistants to search, retrieve, and analyze parliamentary documents, debates, and member information.

The server uses the @modelcontextprotocol/sdk to implement the MCP specification, which enables structured communication between AI models and external data sources. By exposing parliamentary data through well-defined tools and endpoints, OpenTK makes it possible for AI assistants to:

  1. Search for parliamentary documents using complex queries
  2. Access information about Members of Parliament
  3. Retrieve official documents in various formats and read the full content of the documents
  4. Analyze parliamentary activities and proceedings
  5. Track legislative cases and government pledges

The project leverages Bert Hubert's tkconv service as its primary data source, which provides a more accessible API than the official Dutch Parliament APIs.

Installation

1. Using Claude Desktop with NPM Package

Update your Claude configuration file (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "opentk-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "opentk-mcp"
      ]
    }
  }
}

2. From Source

Clone Repository:

git clone https://github.com/r-huijts/opentk-mcp.git
cd opentk-mcp

Install Dependencies:

npm install

Build the Project:

npm run build

Start the Server:

npm start

2. Configure Claude Desktop

Update your Claude configuration file:

{
  "mcpServers": {
    "opentk-mcp-local": {
      "command": "node",
      "args": [
        "/absolute/path/to/your/opentk-mcp/dist/index.js"
      ]
    }
  }
}

Make sure to replace /absolute/path/to/your/opentk-mcp/ with the actual path to your installation.

Search Functionality

The search functionality is particularly sophisticated, supporting:

  • Simple keyword searches: kunstmatige intelligentie
  • Exact phrase searches: "kunstmatige intelligentie"
  • Exclusion searches: Hubert NOT Bruls
  • Boolean operators: OR, NEAR()

The implementation handles various edge cases:

  • Preserves quotes in search queries
  • Uses proper content type headers
  • Implements fallback mechanisms for API errors
  • Provides meaningful error messages

Error Handling

The API service includes robust error handling:

  • Graceful handling of API errors (4xx, 5xx)
  • Fallback to simplified queries when complex ones fail
  • Detailed error messages for debugging
  • Proper logging to stderr (not stdout, which would break the stdio transport)

Configuration

The server connects to Bert Hubert's tkconv service as its primary data source, which provides a more accessible API than the official Dutch Parliament APIs. This service, created by Bert Hubert, does the heavy lifting of collecting, organizing, and making available Dutch parliamentary data in a developer-friendly format. Our MCP server builds upon this foundation to create a standardized interface for AI assistants to interact with this valuable data.

License

MIT

Conclusion

The OpenTK MCP server provides a robust and well-structured interface to Dutch parliamentary data, making it accessible to AI assistants through the Model Context Protocol. Its modular design, comprehensive API, and thorough testing ensure reliable access to parliamentary information for AI-assisted research, analysis, and information retrieval.

Once configured, Claude will be able to access Dutch parliamentary data through the OpenTK MCP server. The server exposes all the tools described in the Usage section above.

相关推荐

  • av
  • Effortlessly run LLM backends, APIs, frontends, and services with one command.

  • 1Panel-dev
  • 🔥 1Panel provides an intuitive web interface and MCP Server to manage websites, files, containers, databases, and LLMs on a Linux server.

  • WangRongsheng
  • 🧑‍🚀 全世界最好的LLM资料总结(数据处理、模型训练、模型部署、o1 模型、MCP、小语言模型、视觉语言模型) | Summary of the world's best LLM resources.

  • Byaidu
  • PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero

  • sigoden
  • Easily create LLM tools and agents using plain Bash/JavaScript/Python functions.

  • hkr04
  • Lightweight C++ MCP (Model Context Protocol) SDK

  • RockChinQ
  • 😎简单易用、🧩丰富生态 - 大模型原生即时通信机器人平台 | 适配 QQ / 微信(企业微信、个人微信)/ 飞书 / 钉钉 / Discord / Telegram / Slack 等平台 | 支持 ChatGPT、DeepSeek、Dify、Claude、Gemini、xAI、PPIO、Ollama、LM Studio、阿里云百炼、火山方舟、SiliconFlow、Qwen、Moonshot、ChatGLM、SillyTraven、MCP 等 LLM 的机器人 / Agent | LLM-based instant messaging bots platform, supports Discord, Telegram, WeChat, Lark, DingTalk, QQ, Slack

  • rulego
  • ⛓️RuleGo is a lightweight, high-performance, embedded, next-generation component orchestration rule engine framework for Go.

  • paulwing
  • A test repository created using MCP service

    Reviews

    3.3 (6)
    Avatar
    user_cHg1csmq
    2025-04-25

    As a dedicated user of opentk-mcp, I find this application incredibly valuable for my needs. Created by r-huijts, this tool excels in functionality and ease of use. The interface is intuitive, which significantly reduces the learning curve associated with similar tools. Its performance is reliable and has improved my workflow efficiency. Highly recommended for anyone looking to enhance their capabilities in this domain.

    Avatar
    user_bOl2JbJX
    2025-04-25

    As a dedicated user of opentk-mcp by r-huijts, I am thoroughly impressed with its functionalities and seamless performance. This product has significantly streamlined my workflow, offering a robust and user-friendly experience. Whether you're a beginner or an advanced user, opentk-mcp provides the flexibility and efficiency needed to achieve your goals. Highly recommended for anyone looking for a reliable solution!

    Avatar
    user_COe1fixQ
    2025-04-25

    opentk-mcp is a fantastic tool for those working with OpenGL in .NET. Developed by r-huijts, it's user-friendly and robust, making complex graphics tasks simpler and more efficient. Highly recommended for developers looking to streamline their workflow and enhance performance.

    Avatar
    user_XPacs3Wr
    2025-04-25

    As a dedicated user of opentk-mcp, I can confidently say that this tool by r-huijts is a game-changer for anyone working with OpenTK projects. Its seamless integration and user-friendly interface have significantly streamlined my workflow. The support and regular updates ensure that I'm always equipped with the latest features. Highly recommend!

    Avatar
    user_PaxApyNN
    2025-04-25

    As a devoted user of opentk-mcp by r-huijts, I am thoroughly impressed by its outstanding performance and versatility. The seamless integration and user-friendly interface make it incredibly easy to navigate. The welcome message is inviting and sets the tone for a positive user experience right from the start. This application has undoubtedly enhanced my productivity and workflow in numerous ways. Highly recommend for anyone seeking a reliable and efficient tool in their daily operations!

    Avatar
    user_ck38tccM
    2025-04-25

    I've been using opentk-mcp for a while now, and it has significantly improved my workflow. Designed by the talented r-huijts, this application is user-friendly and incredibly efficient. I appreciate the seamless integration and the developer support. If you're looking for a reliable and robust tool, opentk-mcp is a great choice.