项目简介
OpenTK MCP 服务器是一个基于 Model Context Protocol (MCP) 的应用后端,旨在为大型语言模型 (LLM) 提供一个标准化的接口,以便访问荷兰议会的公开数据。它封装了对 Bert Hubert 的 OpenTK 项目 (tkconv) 服务的调用,该服务提供了荷兰议会文档、辩论记录和议员信息等丰富的数据。
通过这个 MCP 服务器,AI 助手能够以结构化的方式查询和检索荷兰议会的相关信息,极大地增强了LLM在处理荷兰政治、法律和公共事务相关议题时的能力。
主要功能点
- 议员信息查询: 获取当前所有议员的列表,查询特定议员的详细信息和官方照片。
- 议会数据搜索: 在所有议会记录中执行全面的关键词搜索,支持精确短语、排除词和布尔运算符。
- 按类别搜索: 针对特定类型的议会文档(如提问、动议等)进行过滤搜索。
- 文档信息及链接: 获取议会文档的元数据(标题、日期、编号等),并生成直接可点击的文档链接。
- 文档内容提取: 下载并从 PDF 或 DOCX 文档中提取文本内容,以便LLM直接分析和处理。
- 委员会信息: 获取议会委员会列表及其详细信息。
- 近期活动查询: 查看即将举行的议会活动(辩论、会议等)。
- 投票结果查询: 获取近期议会投票的结果。
安装步骤
- 克隆仓库:
打开终端或命令行工具,执行以下命令下载项目代码:
git clone https://github.com/r-huijts/opentk-mcp.git cd opentk-mcp - 安装依赖:
进入项目目录后,使用 npm 安装所需的依赖项:
npm install - 构建项目:
执行构建命令编译 TypeScript 代码:
npm run build - 启动服务器:
执行以下命令启动 MCP 服务器:
服务器将通过标准输入/输出(stdio)与 MCP 客户端通信。npm start
服务器配置
要将此 MCP 服务器与 MCP 客户端(如 Claude Desktop)集成,您需要在客户端的配置文件中添加该服务器的启动信息。配置通常是一个 JSON 格式的对象,描述了如何启动服务器进程。
典型的配置项包括:
- '"server name"': 为您的 MCP 服务器实例指定一个唯一的名称(例如 '"opentk-mcp-local"')。这个名称将在客户端界面中显示。
- '"command"': 指定用于启动服务器的可执行文件。对于 Node.js 应用,通常是 '"node"'。
- '"args"': 一个字符串数组,包含传递给启动命令的参数。这里应该指定服务器的入口文件路径。例如,如果您的项目构建后入口文件在 'dist/index.js',并且您知道其绝对路径,参数可能是 '["/绝对/路径/到/您的/opentk-mcp/dist/index.js"]'。
请根据您实际的项目安装路径修改 '"args"' 中的绝对路径。
基本使用方法
MCP 服务器不是一个独立的用户界面应用,它旨在被 MCP 客户端(通常是支持 MCP 的 LLM 应用或 AI 助手)调用。一旦服务器成功启动并在客户端中配置好,客户端的LLM就可以通过标准化的 MCP 协议发现并调用服务器暴露的工具(Tools)。
LLM 会根据用户的自然语言请求,自动识别需要调用哪个工具来获取所需信息。例如,当用户询问“谁是当前的 Pieter Omtzigt 议员?”时,LLM可能会调用 'list_persons' 或 'get_person' 工具;当用户询问“近期有什么关于气候政策的议会讨论?”时,LLM可能会调用 'search_tk' 工具。
您可以通过向已连接此 MCP 服务器的 LLM 客户端提问来体验其功能。
信息
分类
数据库与文件