用途
opentk-mcp 是一个 Model Context Protocol(MCP)服务器,旨在为大语言模型(LLM)与荷兰议会(Tweede Kamer)数据之间建立标准化接口。它作为 OpenTK 项目的封装,使 AI 助手能够搜索、检索和分析议会发布文件、活动与信息,服务于 AI 辅助研究、分析与信息检索。
主要能力
核心议会数据访问
- 使用高级查询能力搜索议会文件(支持引号精确匹配、NOT、OR、NEAR 运算符)
- 访问全面的议员信息与委员会成员资格
- 检索完整文档内容(PDF、Word),支持智能分块
- 追踪立法案件、政府活动与投票结果
- 实时访问议会程序与即将举行的活动
智能文档分析(v1.0.16 新增)
- NLP 驱动的相关性分析:在加载全文前智能分析文档
- TF-IDF 关键词提取:识别文档中最重要的 10-15 个术语
- 荷兰语优化的实体识别:自动检测人物(议员、部长)、政党(VVD、PVV、CDA、D66 等)和组织
- 主题分类:将文档归类到 10 个主要政治主题(气候、经济、医疗、教育等)
- 相关性评分:按与特定搜索词的相关性对文档排名(0-100 分)
- 上下文高效筛选:评估多文档时将上下文窗口使用减少 80-90%
高级文档导航
- 使用模糊匹配查找特定人物出现位置
- 使用模糊匹配查找政党提及
- 使用字符偏移高效浏览大型文档
- 支持分页的顺序阅读
可用工具(共 17 个)
概览与发现
- get_overview:近期议会活动与议员生日的综合概览(分页)
- birthdays_today:列出今天庆祝生日的议员
- list_persons:当前议员完整目录及党派归属
搜索与过滤
- search_tk:跨所有议会数据的综合搜索,支持高级查询语法
- search_tk_filtered:在特定类别内搜索(文档、活动、案件)
- search_by_category:搜索特定文档类型(问题、动议、全部)
文档智能(新增)
- analyze_document_relevance:NLP 驱动的文档分析,包含关键词提取、实体识别与相关性评分
- get_document_content:检索文档内容(PDF/DOCX),支持三种阅读模式(定向、顺序、完整)
- find_person_in_document:使用模糊匹配定位文档中人物的所有出现位置
- find_party_in_document:定位文档中政党的所有出现位置
文档元数据
- get_document_details:检索文档的结构化元数据
- get_document_links:将文档 URL 转换为可点击的 Markdown 链接
议会结构
- get_committees:列出所有议会委员会
- get_committee_details:特定委员会的详细信息
活动与投票
- get_upcoming_activities:即将举行的议会辩论与会议
- get_voting_results:近期投票结果及党派立场
- get_photo:检索议员官方肖像照片
使用方式
通过 NPM 包快速开始(推荐)
使用已发布的 npm 包快速开始。在 Claude Desktop 配置文件中更新配置(~/Library/Application Support/Claude/claude_desktop_config.json)。
从源码构建(开发)
- 克隆仓库
- 安装依赖
- 构建项目
- 启动服务器
- 为本地开发配置 Claude Desktop,更新配置文件,并将路径替换为实际安装路径。
发布(维护者)
发布新版本时,作用域包需要 --access=public 标志才能公开可用。
搜索功能
搜索功能尤为强大,支持:
- 简单关键词搜索:kunstmatige intelligentie
- 精确短语搜索:"kunstmatige intelligentie"
- 排除搜索:Hubert NOT Bruls
- 布尔运算符:OR、NEAR()
实现处理多种边界情况:保留搜索查询中的引号、使用正确的内容类型标头、为 API 错误实现回退机制、提供有意义的错误消息。API 服务包含稳健的错误处理:优雅处理 API 错误(4xx、5xx)、复杂查询失败时回退到简化查询、详细的调试错误消息、正确的日志记录到 stderr(而非 stdout,以免破坏 stdio 传输)。
数据源
服务器连接 Bert Hubert 的 tkconv 服务作为主要数据源,该服务比荷兰议会官方 API 更易访问。tkconv 服务负责收集、组织并以开发者友好的格式提供荷兰议会数据。本 MCP 服务器在此基础上构建标准化接口,供 AI 助手与这些宝贵数据交互。
适用场景
- 比较政党在特定政策领域的立场
- 研究议会关于气候政策、住房立法等议题的讨论
- 查询特定议员的投票记录与动议
- 高效筛选大量文档,快速识别最相关文件
- 在阅读全文前提取文档主题、关键词与提及的政党
- 查找具有特定委员会成员资格的议员
- 识别即将举行的数字安全等议题的议会活动
配置后能力
配置完成后,Claude 将能够通过 OpenTK MCP 服务器使用全部 17 个专用工具访问荷兰议会数据,包括搜索、文档分析、议员信息、委员会追踪、投票结果等。