关于 Knesset MCP Server
Knesset MCP Server 通过以色列议会的 OData 服务连接 AI 助手与议会信息。其工具涵盖法案、委员会、议员和党团,并可按立法状态、阶段及当前任职情况筛选。
主要功能
- 01按关键词搜索法案
- 02获取法案详情与提案人
- 03按状态、阶段或类型筛选法案
- 04列出委员会及其详情
- 05浏览议员与党团
适用场景
- 01追踪不同立法阶段的法案
- 02查找特定政策主题的法案
- 03查看委员会信息
- 04列出某党团的现任议员
MCP 相关
向 MCP 客户端提供专用工具,通过 Knesset OData 服务查询法案、委员会、议员及党团信息。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Knesset MCP Server
用于访问以色列议会 Knesset 信息 API 的模型上下文协议(MCP)服务。它提供一组专用工具,让 Claude 等 AI 助手能够通过 Knesset OData 服务查询法案、委员会和议员信息。
要求
- Node.js >= 20.10.0(旧版本访问
knesset.gov.il时会出现SELF_SIGNED_CERT_IN_CHAIN错误)
安装
git clone https://github.com/yourusername/knesset-mcp-server.git
cd knesset-mcp-server
npm install
npm run build
用法
运行服务
npm start # run the built server
npm run dev # run TypeScript directly via ts-node
与 Claude Desktop 搭配使用
- 安装 Claude Desktop。
- 编辑 Claude Desktop 配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或%APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"knesset": {
"command": "npx",
"args": ["-y", "knesset-mcp"]
}
}
}
- 重启 Claude Desktop,即可使用 Knesset 工具。
npx -y 标志会在首次运行时自动安装软件包并缓存。需要 Node.js >= 20.10.0。
工具
法案
get-bill-info— 根据BillID获取法案详细信息,包括提案人。search-bills-by-name— 按关键词搜索法案名称(最多返回最近的 20 条匹配结果)。可选的knessetNum筛选条件。list-bills-by-status— 按KNS_Status中的原始StatusID筛选法案,并按LastUpdatedDate降序排列。list-recent-bills-by-stage— 获取处于指定立法阶段的法案:first-reading-approved、first-reading-plenum、second-third-approved、second-third-plenum、third-reading-plenum、passed。 注意:Knesset 会将二读和三读合并为一次表决,因此second-third-approved最接近“二读通过”;passed表示法案已成为法律。list-bills-by-type— 按来源获取法案:private、government或committee。可选的knessetNum。
委员会
get-committee-info— 根据CommitteeID获取委员会详情。list-committees— 获取指定届 Knesset 的委员会,可选onlyCurrent筛选条件。
议员与党团
list-factions— 列出指定届 Knesset 中的政党(党团)。首先使用此工具查找你关注的政党的FactionID。可选onlyCurrent筛选条件,用于排除已解散或合并的党团。list-knesset-members— 列出 Knesset 议员(MK)及其党派归属。可选的factionId筛选条件仅返回特定政党的议员(可与list-factions配合使用以查找 ID)。可选onlyCurrent筛选条件仅返回当前任职的议员。
如何获取某个政党的议员名单:
- 调用
list-factions并提供 Knesset 届数 → 查找该政党的FactionID。 - 调用
list-knesset-members并提供该届的knessetNum和factionId→ 获取议员名单。
注意:任期内更换党派的议员会按每段任职经历各显示一次。传入 onlyCurrent: true 可仅查看当前党派任职情况。
示例提示词
接入服务后可尝试的希伯来语提示词示例。每条示例都会调用特定工具或组合工具。
单工具提示词
list-factions
- “目前第 25 届议会有哪些活跃党团?”
- “请列出第 24 届议会的所有党团,包括分裂或合并的党团。”
list-knesset-members
- “当前议会中利库德党团的议员有哪些?”
- “请列出目前第 25 届议会所有在任议员。”
list-committees
- “今天议会有哪些活跃委员会?”
- “第 24 届议会有哪些委员会?”
get-committee-info
- “请提供财政委员会的详细信息。”
- “ID 为 2010 的委员会有哪些信息?”
search-bills-by-name
- “搜索包含‘养老金’一词的法案。”
- “查找第 25 届议会中关于‘公共住房’的法案。”
list-bills-by-type
- “请列出第 25 届议会最近的政府法案。”
- “最新的 20 项私人法案有哪些?”
list-bills-by-status
- “最近有哪些法案通过三读(状态 118)?”
- “请列出第 25 届议会中已获委员会批准、进入二读和三读的法案。”
list-recent-bills-by-stage
- “最近有哪些法律通过并列入法典?”
- “请列出本届议会中获一读通过的法案。”
get-bill-info
- “请提供 ID 为 2145694 的法案的所有详细信息及发起人。”
- “谁发起了这项法案?它目前的状态是什么?(BillID: ...)”
多工具提示词
两个工具
- “请列出第 25 届议会中所有正统派党团,然后详细列出‘犹太教联合党’的议员。” →
list-factions+list-knesset-members - “搜索本届议会中关于‘家庭暴力’的法案,然后提供最相关法案的完整详细信息及发起人。” →
search-bills-by-name+get-bill-info - “请列出议会所有活跃委员会,然后提供宪法委员会的详细信息。” →
list-committees+get-committee-info - “最近有哪些法律通过了三读?选出最重要的 3 项,并提供每项的详细信息。” →
list-recent-bills-by-stage+get-bill-info
三个工具
- “在第 25 届议会中找到‘未来党’党团,查看其成员,然后搜索提及其中一位成员姓名的法案——以梅拉夫·米凯利为例。” →
list-factions+list-knesset-members+search-bills-by-name - “请列出最近的 10 项政府法案和 10 项私人法案,然后详细介绍立法进程中进展最顺利的私人法案。” →
list-bills-by-type(×2) +get-bill-info - “搜索关于‘公共交通’的法案,筛选出已获一读批准的法案(状态 109),并提供其中最活跃法案的详细信息。” →
search-bills-by-name+list-bills-by-status+get-bill-info
四个或更多工具
- “请为第 25 届议会中的‘工党’党团创建一份完整档案:成员名单、他们活跃于哪些委员会,以及一项他们发起的法案示例。请先查找党团 ID。” →
list-factions+list-knesset-members+list-committees+search-bills-by-name+get-bill-info - “请为我准备一份立法摘要:本届议会最近通过的 5 项法律、获二读和三读批准的 5 项法案,以及获一读批准的 5 项法案。请提供最重要的已通过法律的完整详细信息。” →
list-recent-bills-by-stage(×3) +get-bill-info - “我对环境立法感兴趣。请搜索关于‘气候’和‘污染’的法案,提供每项法案的详细信息,包括发起人,并查明每位发起人所属的党团——他们是否分属执政联盟和反对派?” →
search-bills-by-name+get-bill-info+list-factions+list-knesset-members
API
基于以下 Knesset OData 服务:
https://knesset.gov.il/Odata/ParliamentInfo.svc
由于 OData API 未公开 KNS_Bill 各阶段的转换日期,因此排序使用 LastUpdatedDate。
开发
如需临时测试此服务,可使用 MCP Inspector:
npx @modelcontextprotocol/inspector node build/knesset-mcp-server.js
其中包含一个最简冒烟测试:
node test-mcp.mjs
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。