mcpField
U
uk-parliament-bills

uk-parliament-bills

本地服务
github.com/DarkhorseOne法律与政务133 周前更新

关于 uk-parliament-bills

uk-parliament-bills 是为需要结构化访问英国议会法案数据的开发者和 AI Agent 提供的 MCP 服务。其工具覆盖法案搜索与详情、阶段、修正案、出版物、文档、会议和 RSS 订阅。

主要功能

  1. 01搜索和获取法案及其阶段
  2. 02查询修正案和动议
  3. 03查找出版物并下载文档
  4. 04访问法案 RSS 订阅和会议
  5. 05以统一格式返回 API 数据

适用场景

  1. 01总结立法进展和法案状态
  2. 02通过 API 和 RSS 监控法案变动
  3. 03跟踪修正案和议会阶段
  4. 04使用法案元数据丰富数据集

MCP 相关

该 stdio MCP 服务提供由英国议会 Bills API 支持的搜索、查询和出版物获取工具。项目还提供 HTTP 代理模式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nick-ma-uk-parliament-bills": {
"command": "npx",
"args": [
"-y",
"@darkhorseone/mcp-server-uk-parliament-bills"
]
}
}
}
启动命令npx -y @darkhorseone/mcp-server-uk-parliament-bills

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@darkhorseone/mcp-server-uk-parliament-bills1.0.2

工具

21

收录的工具列表 · 更新于 2 周前

参数类型必填说明
Skipnumber否
Takenumber否
billIdnumber是返回与指定 Bill ID 对应的 Bill 的修正案
Decisionenum否All | NoDecision | Withdrawn | Disagreed | NotMoved | Agreed | QuestionProposed | NotSelected | WithdrawnBeforeDebate | StoodPart | NotStoodPart | Preempted | NotCalled | NegativedOnDivision | AgreedOnDivision
MemberIdnumber否
SearchTermstring否
billStageIdnumber是返回与指定 Bill stage ID 对应的 Bill 阶段相关的修正案
AmendmentNumberstring否

详细介绍

MCP Compatible AI Agent Ready

英国议会法案 MCP 服务

概述

此 MCP 服务使用 Model Context Protocol 提供对英国议会法案数据的结构化访问。 它支持 AI Agent 通过可靠的工具和由 API 提供数据支持的数据源,查询法案、阶段、出版物、修正案和 RSS 源。 开发者可以通过 stdio 传输方式将 MCP 服务集成到本地工作流或自动化管道中,同时保留上游 API 响应。 此服务提供搜索、查询和获取出版物的工具,专为 AI Agent 和兼容 MCP 的客户端优化。

功能

  • 从英国议会法案 API 搜索并获取法案、阶段、出版物和会议。
  • 使用结构化参数和枚举验证访问修正案和问答事项。
  • 将所有法案、公开法案或私人法案的 RSS 源作为原始文本载荷提供。
  • 以一致的响应封装保留上游 JSON 载荷,供下游工具和 AI Agent 使用。

可用工具

search_bill_stage_amendments

返回法案阶段的修正案列表。

参数:

  • billId (number, path) – 法案 ID。
  • billStageId (number, path) – 法案阶段 ID。
  • SearchTerm (string, query) – 可选的文本搜索。
  • AmendmentNumber (string, query) – 可选的修正案编号。
  • Decision (string, query) – 可选的决定枚举值。
  • MemberId (number, query) – 可选的成员 ID。
  • Skip (number, query) – 可选的偏移量。
  • Take (number, query) – 可选的限制数量。
get_bill_stage_amendment

返回法案阶段的指定修正案。

参数:

  • billId (number, path) – 法案 ID。
  • billStageId (number, path) – 法案阶段 ID。
  • amendmentId (number, path) – 修正案 ID。
list_bill_news_articles

返回法案的新闻文章。

参数:

  • billId (number, path) – 法案 ID。
  • Skip (number, query) – 可选的偏移量。
  • Take (number, query) – 可选的限制数量。
list_bill_types

返回法案类型列表。

参数:

  • Category (string, query) – 可选的类别枚举值。
  • Skip (number, query) – 可选的偏移量。
  • Take (number, query) – 可选的限制数量。
search_bills

返回符合筛选条件的法案列表。

参数:

  • SearchTerm (string, query) – 可选的文本搜索。
  • Session (number, query) – 可选的届期编号。
  • CurrentHouse (string, query) – 可选的议院枚举值。
  • OriginatingHouse (string, query) – 可选的发起议院枚举值。
  • MemberId (number, query) – 可选的成员 ID。
  • DepartmentId (number, query) – 可选的部门 ID。
  • BillStage (array:number, query) – 可选的法案阶段 ID。
  • BillStagesExcluded (array:number, query) – 可选的排除阶段 ID。
  • IsDefeated (boolean, query) – 可选的遭否决筛选条件。
  • IsWithdrawn (boolean, query) – 可选的已撤回筛选条件。
  • BillType (array:number, query) – 可选的法案类型 ID。
  • SortOrder (string, query) – 可选的排序顺序枚举值。
  • BillIds (array:number, query) – 可选的法案 ID。
  • IsInAmendableStage (boolean, query) – 可选的可修正阶段筛选条件。
  • Skip (number, query) – 可选的偏移量。
  • Take (number, query) – 可选的限制数量。
get_bill

返回一项法案。

参数:

  • billId (number, path) – 法案 ID。
get_bill_stage_details

返回一个法案阶段。

参数:

  • billId (number, path) – 法案 ID。
  • billStageId (number, path) – 法案阶段 ID。
list_bill_stages

返回某项法案的所有阶段。

参数:

  • billId (number, path) – 法案 ID。
  • Skip (number, query) – 可选的偏移量。
  • Take (number, query) – 可选的限制数量。
get_publication_document

返回出版物文档的信息。

参数:

  • publicationId (number, path) – 出版物 ID。
  • documentId (number, path) – 文档 ID。
download_publication_document

返回出版物文档载荷。

参数:

  • publicationId (number, path) – 出版物 ID。
  • documentId (number, path) – 文档 ID。
search_bill_stage_ping_pong_items

返回法案阶段的动议或修正案列表。

参数:

  • billId (number, path) – 法案 ID。
  • billStageId (number, path) – 法案阶段 ID。
  • SearchTerm (string, query) – 可选的文本搜索词。
  • AmendmentNumber (string, query) – 可选的修正案编号。
  • Decision (string, query) – 可选的决定枚举值。
  • MemberId (number, query) – 可选的议员 ID。
  • Skip (number, query) – 可选的偏移量。
  • Take (number, query) – 可选的数量限制。
get_bill_stage_ping_pong_item

返回修正案或动议的详情。

参数:

  • billId (number, path) – 法案 ID。
  • billStageId (number, path) – 法案阶段 ID。
  • pingPongItemId (number, path) – 往返项目 ID。
list_publication_types

返回出版物类型列表。

参数:

  • Skip (number, query) – 可选的偏移量。
  • Take (number, query) – 可选的数量限制。
list_bill_publications

返回法案出版物。

参数:

  • billId (number, path) – 法案 ID。
list_bill_stage_publications

返回法案阶段的出版物。

参数:

  • billId (number, path) – 法案 ID。
  • stageId (number, path) – 阶段 ID。
get_rss_all_bills

返回所有法案的 RSS 源。

get_rss_public_bills

返回公开法案的 RSS 源。

get_rss_private_bills

返回私人法案的 RSS 源。

get_rss_bill_by_id

返回指定法案的 RSS 源。

参数:

  • id (number, path) – 法案 ID。
search_sittings

返回会议列表。

参数:

  • House (string, query) – 可选的议院枚举值。
  • DateFrom (string, query) – 可选的起始日期。
  • DateTo (string, query) – 可选的结束日期。
  • Skip (number, query) – 可选的偏移量。
  • Take (number, query) – 可选的数量限制。
list_stage_references

返回法案阶段列表。

参数:

  • Skip (number, query) – 可选的偏移量。
  • Take (number, query) – 可选的数量限制。

示例输出

{
  "status": 200,
  "data": {
    "items": [
      {
        "billId": 1,
        "title": "Energy Security Bill",
        "currentStage": "Commons Committee",
        "currentHouse": "Commons",
        "lastUpdated": "2026-03-11T10:00:00Z"
      }
    ],
    "totalResults": 1
  },
  "upstream_path": "/api/v1/Bills",
  "retrieved_at": "2026-03-11T10:00:00.000Z"
}

快速开始

使用 npx 运行 MCP 服务:

npx -y -p @darkhorseone/mcp-server-uk-parliament-bills mcp-server-uk-parliament-bills

MCP 配置

stdio 传输的 mcpServers 配置示例:

{
  "mcpServers": {
    "uk-parliament-bills": {
      "command": "npx",
      "args": ["-y", "-p", "@darkhorseone/mcp-server-uk-parliament-bills", "mcp-server-uk-parliament-bills"],
      "env": {
        "UPSTREAM_BASE_URL": "https://bills-api.parliament.uk",
        "REQUEST_TIMEOUT_MS": "10000"
      }
    }
  }
}

使用示例

  • 列出最新的英国议会法案。
  • 按 ID 获取特定法案并返回当前阶段。
  • 获取法案的出版物并下载文档。
  • 获取公开法案的 RSS 源,供下游工具使用。

使用场景

  • AI Agent 总结立法进展和法案状态。
  • 通过 API 和 RSS 监控法案更新的开发者工具。
  • 追踪修正案和议会阶段的公民科技平台。
  • 使用英国议会法案元数据丰富数据集的自动化工作流。

数据来源

英国议会法案 API https://bills-api.parliament.uk

安装

使用 npx 直接运行:

npx -y -p @darkhorseone/mcp-server-uk-parliament-bills mcp-server-uk-parliament-bills

或者在仓库根目录使用 pnpm 安装:

pnpm install

运行(HTTP 代理服务)

先构建,然后启动:

pnpm --filter @darkhorseone/mcp-server-uk-parliament-bills run build
pnpm --filter @darkhorseone/mcp-server-uk-parliament-bills run start:http

使用 UKP_HTTP_PORT 环境变量设置自定义 HTTP 端口(默认值:3000):

UKP_HTTP_PORT=8787 pnpm --filter @darkhorseone/mcp-server-uk-parliament-bills run start:http

已发布的软件包命令:

npx -y -p @darkhorseone/mcp-server-uk-parliament-bills -- mcp-server-uk-parliament-bills-http

如果 shell 无法解析二进制文件(“command not found”),请直接运行 HTTP 入口点:

npx -y -p @darkhorseone/mcp-server-uk-parliament-bills -- node ./dist/http.js

健康检查:

curl http://127.0.0.1:3000/healthz

代理模式:

GET /proxy/<upstream-path>?<query>

示例:

curl "http://127.0.0.1:3000/proxy/api/v1/Bills?SearchTerm=energy&SortOrder=TitleAscending"

许可证

MIT 许可证

MCP 元数据

协议:Model Context Protocol 传输方式:stdio 工具:search_bill_stage_amendments、get_bill_stage_amendment、list_bill_news_articles、list_bill_types、search_bills、get_bill、get_bill_stage_details、list_bill_stages、get_publication_document、download_publication_document、search_bill_stage_ping_pong_items、get_bill_stage_ping_pong_item、list_publication_types、list_bill_publications、list_bill_stage_publications、get_rss_all_bills、get_rss_public_bills、get_rss_private_bills、get_rss_bill_by_id、search_sittings、list_stage_references

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。