Uk Parliament Lordsvotes

io.github.nick-ma由 GitHub 帳號 nick-ma 發布v1.0.1更新於 Nov 3, 2026

MCP server for UK Parliament Lords Votes API

概覽

AI 產生的概覽

唯讀 MCP 伺服器,讓助理查詢英國國會上議院表決(division)、議員投票紀錄,以及依黨派分組的投票彙總。

可以做什麼
  • 依 division id 取得單一上議院表決內容
  • 依關鍵字、議員、日期區間、表決編號、投票總數或多數差距搜尋表決,支援分頁,另有單獨的總數統計工具
  • 取得指定議員的投票紀錄,支援分頁控制
  • 取得依黨派分組的表決清單,方便彙總分析
適用情境
適合議會研究、公民科技專案,或需要上議院表決結果、議員個人投票歷史、黨派投票分布的報導與分析,不必自行撰寫 API 呼叫。
執行需求
以 stdio 方式在使用者本機執行,通常透過 npx 啟動,需要 Node.js 以及連線至 Lords Votes API 的網路。未宣告帳號或 API 金鑰;README 列出可選的環境變數用於上游位址、逾時與 User-Agent,以及可選 HTTP 模式的連接埠變數。
安裝前請注意
所有工具都是對公開議會 API 的唯讀查詢,不涉及憑證、付費或寫入操作。查詢字詞會傳送至外部 Lords Votes API;README 另記載可選的本機 HTTP 代理模式,會在本機連接埠上暴露上游 API。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Uk Parliament Lordsvotes,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[MCP Compatible] [AI Agent Ready]

UK Parliament Lords Votes MCP Server

Summary

This MCP server provides structured access to UK Parliament Lords Votes data using the Model Context Protocol. It enables AI agents to retrieve divisions and voting records through API-backed tools for reliable data access and analysis. Developers can integrate the MCP server via stdio transport to query divisions, member voting history, and grouped vote summaries. The server exposes tools that map directly to the Lords Votes API for consistent automation and AI agents workflows.

Features

  • Fetch a Lords division by division id with standardized responses.
  • Search divisions with filters for members, dates, and vote metrics.
  • Retrieve member voting records with paging controls.
  • Access divisions grouped by party for summary analysis.

Available Tools

get_division_by_id

Get a single Division which has the Id specified.

Parameters:

  • divisionId (number, path) – Division id.

search_divisions_total_results

Get total count of Divisions meeting the specified query.

Parameters:

  • 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

Get a list of Divisions which meet the specified criteria.

Parameters:

  • 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) – Defaults to 0.
  • take (number, query) – Defaults to 25.

get_member_voting_records

Get a list of voting records for a Member.

Parameters:

  • memberId (number, query) – Required.
  • 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) – Defaults to 0.
  • take (number, query) – Defaults to 25.

get_divisions_grouped_by_party

Get a list of Divisions which contain grouped by party.

Parameters:

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

Example Output

json
{  "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  }}

Quick Start

Run the MCP server using npx:

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

MCP Configuration

Example mcpServers configuration for stdio transport:

json
{  "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"      }    }  }}

Example Usage

  • Fetch a division by id and inspect vote details.
  • Search divisions for a member in a date range.
  • Retrieve total results for a query before paging.
  • Get divisions grouped by party for summary analysis.

Use Cases

  • AI agents summarizing Lords divisions and voting outcomes.
  • Parliamentary research tools tracking member voting history.
  • Civic tech platforms monitoring vote trends and turnout.
  • Automation pipelines exporting divisions for reporting.

Data Source

UK Parliament Lords Votes API https://lordsvotes-api.parliament.uk/

Installation

Run directly using npx:

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

Or install via pnpm from the repository root:

bash
pnpm install

Run (HTTP proxy server)

Build first, then start:

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

Set a custom HTTP port with the UKPLV_HTTP_PORT environment variable (default: 8787):

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

Published package command:

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

If your shell cannot resolve the bin ("command not found"), run the HTTP entrypoint directly:

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

Health check:

bash
curl http://127.0.0.1:8787/healthz

Proxy pattern:

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

Example:

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

License

MIT License

MCP Metadata

Protocol: Model Context Protocol Transport: stdio Tools: get_division_by_id, search_divisions_total_results, search_divisions, get_member_voting_records, get_divisions_grouped_by_party

來源:servers/uk-parliament-lordsvotes/README.md,提交 38e74c9

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。