mcpField
U
uk-parliament-lordsvotes

uk-parliament-lordsvotes

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

关于 uk-parliament-lordsvotes

面向开发者和研究工具的 MCP 服务,提供结构化的英国上议院投票数据访问。它通过 API 工具支持议案表决搜索、议员投票记录查询和党派分组结果获取。

主要功能

  1. 01按 ID 获取表决记录
  2. 02按条件搜索表决记录
  3. 03分页查询议员投票记录
  4. 04按党派汇总表决结果

适用场景

  1. 01汇总上议院表决结果
  2. 02研究议员投票历史
  3. 03监测投票趋势和出席情况
  4. 04导出表决记录用于报告

MCP 相关

向 MCP 客户端提供查询 UK Parliament Lords Votes API 的工具,可获取表决记录、议员投票记录及按党派分组的摘要。

配置

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

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

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

安装包
npm@darkhorseone/mcp-server-uk-parliament-lordsvotes1.0.1

工具

5

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

参数类型必填说明
divisionIdinteger是指定 ID 的 Division

详细介绍

MCP Compatible AI Agent Ready

英国议会上议院投票 MCP 服务

概述

此 MCP 服务使用 Model Context Protocol 提供对英国议会上议院投票数据的结构化访问。 它通过由 API 支持的工具,让 AI Agent 能够获取表决和投票记录,以便可靠地访问和分析数据。 开发者可以通过 stdio 传输集成 MCP 服务,查询表决、议员投票历史和按组汇总的投票数据。 此服务提供的工具与上议院投票 API 直接对应,确保自动化流程和 AI Agent 工作流保持一致。

功能

  • 根据表决 ID 获取上议院表决,并返回标准化响应。
  • 按议员、日期和投票指标筛选表决。
  • 使用分页控制获取议员投票记录。
  • 获取按政党分组的表决,以便进行汇总分析。

可用工具

get_division_by_id

获取指定 ID 的单个表决。

参数:

  • divisionId (number, path) – 表决 ID。
search_divisions_total_results

获取符合指定查询条件的表决总数。

参数:

  • searchTerm (string, query)
  • memberId (number, query)
  • includeWhenMemberWasTeller (boolean, query)
  • startDate (string, query)
  • endDate (string, query)
  • divisionNumber (number, query)
  • totalVotesCastComparator (string, query) – LessThan | LessThanOrEqualTo | EqualTo | GreaterThanOrEqualTo | GreaterThan
  • totalVotesCastValueToCompare (number, query)
  • majorityComparator (string, query) – LessThan | LessThanOrEqualTo | EqualTo | GreaterThanOrEqualTo | GreaterThan
  • majorityValueToCompare (number, query)
search_divisions

获取符合指定条件的表决列表。

参数:

  • searchTerm (string, query)
  • memberId (number, query)
  • includeWhenMemberWasTeller (boolean, query)
  • startDate (string, query)
  • endDate (string, query)
  • divisionNumber (number, query)
  • totalVotesCastComparator (string, query) – LessThan | LessThanOrEqualTo | EqualTo | GreaterThanOrEqualTo | GreaterThan
  • totalVotesCastValueToCompare (number, query)
  • majorityComparator (string, query) – LessThan | LessThanOrEqualTo | EqualTo | GreaterThanOrEqualTo | GreaterThan
  • majorityValueToCompare (number, query)
  • skip (number, query) – 默认为 0。
  • take (number, query) – 默认为 25。
get_member_voting_records

获取议员的投票记录列表。

参数:

  • memberId (number, query) – 必填。
  • searchTerm (string, query)
  • includeWhenMemberWasTeller (boolean, query)
  • startDate (string, query)
  • endDate (string, query)
  • divisionNumber (number, query)
  • totalVotesCastComparator (string, query) – LessThan | LessThanOrEqualTo | EqualTo | GreaterThanOrEqualTo | GreaterThan
  • totalVotesCastValueToCompare (number, query)
  • majorityComparator (string, query) – LessThan | LessThanOrEqualTo | EqualTo | GreaterThanOrEqualTo | GreaterThan
  • majorityValueToCompare (number, query)
  • skip (number, query) – 默认为 0。
  • take (number, query) – 默认为 25。
get_divisions_grouped_by_party

获取按政党分组的表决列表。

参数:

  • searchTerm (string, query)
  • memberId (number, query)
  • includeWhenMemberWasTeller (boolean, query)
  • startDate (string, query)
  • endDate (string, query)
  • divisionNumber (number, query)
  • totalVotesCastComparator (string, query) – LessThan | LessThanOrEqualTo | EqualTo | GreaterThanOrEqualTo | GreaterThan
  • totalVotesCastValueToCompare (number, query)
  • majorityComparator (string, query) – LessThan | LessThanOrEqualTo | EqualTo | GreaterThanOrEqualTo | GreaterThan
  • majorityValueToCompare (number, query)

输出示例

{
  "ok": true,
  "endpoint": "/data/Divisions/search",
  "status": 200,
  "data": {
    "items": [
      {
        "divisionId": 456,
        "divisionNumber": 22,
        "title": "Education Bill - Second Reading",
        "date": "2026-03-10"
      }
    ],
    "totalResults": 1
  }
}

快速开始

使用 npx 运行 MCP 服务:

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

MCP 配置

stdio 传输的 mcpServers 配置示例:

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

使用示例

  • 按 ID 获取一场表决并查看投票详情。
  • 在日期范围内搜索某位议员参与的表决。
  • 分页前获取查询结果总数。
  • 按党派对表决进行分组,以便汇总分析。

使用场景

  • AI Agent 总结上议院表决及投票结果。
  • 议会研究工具追踪议员的投票历史。
  • 公民科技平台监测投票趋势和投票率。
  • 自动化工作流导出表决数据以供报告使用。

数据源

英国议会上议院投票 API https://lordsvotes-api.parliament.uk/

安装

使用 npx 直接运行:

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

或在仓库根目录通过 pnpm 安装:

pnpm install

运行(HTTP 代理服务)

先构建,再启动:

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

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

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

已发布软件包的命令:

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

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

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

健康检查:

curl http://127.0.0.1:8787/healthz

代理模式:

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

示例:

curl "http://127.0.0.1:8787/proxy/data/Divisions/search?SearchTerm=education&take=5"

许可证

MIT 许可证

MCP 元数据

协议:Model Context Protocol 传输方式:stdio 工具:get_division_by_id, search_divisions_total_results, search_divisions, get_member_voting_records, get_divisions_grouped_by_party

评论

支持 Markdown

第一次接触 MCP?

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

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