SuperAPI AI 工具集

opentk-mcp

opentk-mcp 是一个模型上下文协议(MCP)服务器,作为 OpenTK 项目的封装,为 AI 助手提供荷兰议会(Tweede Kamer)数据的访问桥梁。它通过标准化接口连接大语言模型与荷兰议会信息系统,使 AI 能够搜索、检索和分析议会文件、活动与议员信息。主要能力包括:高级议会文件搜索(支持引号、NOT、OR、NEAR 运算符)、议员与委员会信息查询、全文内容获取(PDF/Word,支持智能分块)、立法案件与政府承诺追踪、投票结果与即将举行的活动查询。v1.0.16 新增智能文档分析功能,支持基于 NLP 的相关性分析、TF-IDF 关键词提取、荷兰语优化的实体识别(人名、政党、组织)、主题分类、相关性评分(0-100),可将多文档评估的上下文窗口使用减少 80-90%。服务器共提供 17 个专用工具,涵盖概览发现、搜索过滤、文档智能、元数据、议会结构、活动与投票等类别。数据源为 Bert Hubert 创建的 tkconv 服务,比荷兰议会官方 API 更易用。可通过 npm 包快速安装或从源码构建使用,兼容 Claude Desktop 等 MCP 客户端。

访问官网

工具介绍

用途

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)。

从源码构建(开发)

  1. 克隆仓库
  2. 安装依赖
  3. 构建项目
  4. 启动服务器
  5. 为本地开发配置 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 个专用工具访问荷兰议会数据,包括搜索、文档分析、议员信息、委员会追踪、投票结果等。