Uk Parliament Committees

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

MCP server for UK Parliament Committees API

概覽

AI 產生的概覽

本機 MCP 伺服器,讓助理以唯讀方式存取英國議會委員會資料:委員會、業務、活動、出版品、證詞與請願。

可以做什麼
查詢委員會、委員會類型、成員、工作人員及非專業成員照片,可依院別、狀態與類別篩選,並取得各委員會的下次活動及依議員編號查詢任期。檢索委員會業務、業務類型與出版品分組,可依狀態、日期以及是否開放請願或證詞篩選。列出活動、活動事項、出席情況與橫幅,支援日期、院別、地點與活動類型篩選。取得出版品、出版品類型、原始格式或 HTML、PDF 格式的文件,以及提交期詳情與範本。取得口頭與書面證詞、法案請願及其文件,以及國家清單。
適用情境
適合需要權威英國議會委員會資料的研究、公民科技或新聞工作:彙整委員會活動、追蹤證詞提交與出版品,或監控委員會業務狀態。
執行需求
以 Node.js 本機程序執行,透過 npx 從 npm 套件啟動。需要連線至英國議會委員會 API 的網路;README 提供選用的 API 基礎位址與請求逾時環境變數,以及選用的 HTTP 代理模式與連接埠設定。
安裝前請注意
僅唯讀存取公開議會資料,未宣告任何憑證。查詢與搜尋詞會傳送至外部英國議會委員會 API;選用的 HTTP 代理模式會開放本機連接埠並將請求轉送至上游。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

[MCP Compatible] [AI Agent Ready]

UK Parliament Committees MCP Server

Summary

This MCP server provides structured access to UK Parliament Committees data using the Model Context Protocol. It enables AI agents to query committees, committee business, events, publications, evidence, and petitions via API-backed tools and data access. Developers can connect the MCP server through stdio transport for reliable automation and AI agents that need authoritative committee information. The server exposes tools that map directly to the Committees API, supporting search, lookup, and document retrieval workflows.

Features

  • Retrieve committees, committee types, and committee business with structured filters.
  • Access meetings, events, activities, and attendance data with date and status parameters.
  • Fetch publications, evidence, petitions, and related documents with consistent responses.
  • Preserve upstream payloads in a standardized envelope for downstream tools and AI agents.

Available Tools

get_bill_petitions

Return a list of Bill petitions.

Parameters:

  • CommitteeBusinessId (number, query) – Committee business id filter.
  • CommitteeId (number, query) – Committee id filter.
  • SearchTerm (string, query) – Search by witness/organisation/identifier.
  • StartDate (string, query) – Published on or after date.
  • EndDate (string, query) – Published on or before date.
  • ShowOnWebsiteOnly (boolean, query) – Website-only results.
  • Skip (number, query) – Offset.
  • Take (number, query) – Limit.

get_bill_petition_by_id

Return a Bill petition.

Parameters:

  • id (number, path) – Bill petition id.
  • showOnWebsiteOnly (boolean, query) – Website-only results.

get_bill_petition_document

Return a document for a Bill petition.

Parameters:

  • id (number, path) – Petition id.
  • fileDataFormat (string, path) – OriginalFormat | Html | Pdf.

get

Get a list of Committee Meetings between two dates.

Parameters:

  • FromDate (string, query) – From date (yyyy-mm-dd).
  • ToDate (string, query) – To date (yyyy-mm-dd).

get_committee_business

Return a list of committee businesses.

Parameters:

  • SearchTerm (string, query)
  • CommitteeId (number, query)
  • DateFrom (string, query)
  • DateTo (string, query)
  • BusinessTypeId (number, query)
  • Status (string, query) – Open | Closed
  • CurrentlyAcceptingPetitions (boolean, query)
  • CurrentlyAcceptingEvidence (boolean, query)
  • SortOrder (string, query) – DateOpenedNewest | DateOpenedOldest | PublicationDateAscending | PublicationDateDescending
  • CommitteeBusinessIds (array:number, query)
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

get_committee_business_by_id

Return a committee business.

Parameters:

  • id (number, path) – Committee business id.
  • includeBanners (boolean, query)
  • showOnWebsiteOnly (boolean, query)

list_committee_business_publication_groups

Return a list of Publication Groups for a Committee Business.

Parameters:

  • id (number, path) – Committee business id.

list_committee_business_types

Return a list of Committee Business Types.

list_committee_types

Return a list of Committee Types.

get_committees

Return a list of Committees.

Parameters:

  • CommitteeBusinessId (number, query)
  • SearchTerm (string, query)
  • ParentCommitteeId (number, query)
  • CommitteeStatus (string, query) – Current | Former | All
  • CommitteeTypeId (number, query)
  • CommitteeCategory (string, query) – Select | General | Other
  • House (string, query) – Commons | Lords | Joint
  • CommitteeIds (array:number, query)
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

get_next_event_for_committees

Return a list of next events for committees matching specified criteria.

Parameters:

  • EventWithActivitiesOnly (boolean, query)
  • EventFromDate (string, query)
  • House (string, query) – Commons | Lords | Joint
  • EventTypes (array:number, query)
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

get_committee_by_id

Return a Committee.

Parameters:

  • id (number, path) – Committee id.
  • includeBanners (boolean, query)
  • showOnWebsiteOnly (boolean, query)

get_events_committee_by_id

Return events related to the committee id provided.

Parameters:

  • id (number, path) – Committee id.
  • CommitteeBusinessId (number, query)
  • SearchTerm (string, query)
  • StartDateFrom (string, query)
  • StartDateTo (string, query)
  • EndDateFrom (string, query)
  • House (string, query) – Commons | Lords | Joint
  • LocationId (number, query)
  • ExcludeCancelledEvents (boolean, query)
  • SortAscending (boolean, query)
  • EventTypeId (number, query)
  • IncludeEventAttendees (boolean, query)
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

list_committee_memberships

Return a list of Memberships of a Committee.

Parameters:

  • id (number, path) – Committee id.
  • MembershipStatus (string, query) – Current | Former | All
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

get_committee_person_photo

Return photo for a lay member of the committee.

Parameters:

  • id (number, path) – Committee id.
  • personId (number, path) – Person id.

list_committee_staff_memberships

Return a list of staff members of a Committee.

Parameters:

  • id (number, path) – Committee id.
  • MembershipStatus (string, query) – Current | Former | All
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

list_committee_publication_groups

Return a list of Publication Groups for a Committee.

Parameters:

  • id (number, path) – Committee id.

get_committee_archived_publication_links

Return all CommitteeArchivedPublicationLinks linked to a Committee.

Parameters:

  • id (number, path) – Committee id.

get_countries

Return a list of Countries.

get_events

Return a list of events.

Parameters:

  • CommitteeId (number, query)
  • CommitteeBusinessId (number, query)
  • GroupChildEventsWithParent (boolean, query)
  • SearchTerm (string, query)
  • StartDateFrom (string, query)
  • StartDateTo (string, query)
  • EndDateFrom (string, query)
  • House (string, query) – Commons | Lords | Joint
  • LocationId (number, query)
  • ExcludeCancelledEvents (boolean, query)
  • SortAscending (boolean, query)
  • EventTypeId (number, query)
  • IncludeEventAttendees (boolean, query)
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

get_event_activities

Return a list of event activities.

Parameters:

  • IncludeActivityAttendees (boolean, query)
  • CommitteeId (number, query)
  • CommitteeBusinessId (number, query)
  • GroupChildEventsWithParent (boolean, query)
  • SearchTerm (string, query)
  • StartDateFrom (string, query)
  • StartDateTo (string, query)
  • EndDateFrom (string, query)
  • House (string, query) – Commons | Lords | Joint
  • LocationId (number, query)
  • ExcludeCancelledEvents (boolean, query)
  • SortAscending (boolean, query)
  • EventTypeId (number, query)
  • IncludeEventAttendees (boolean, query)
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

get_event_by_id

Return an event.

Parameters:

  • id (number, path) – Event id.
  • showOnWebsiteOnly (boolean, query)

get_attendances_by_id

Return a list of attendances for an event.

Parameters:

  • id (number, path) – Event id.
  • showOnWebsiteOnly (boolean, query)

get_activities_by_id

Return a list of activities for an event.

Parameters:

  • id (number, path) – Event id.
  • showOnWebsiteOnly (boolean, query)

list_members_committee_memberships

Return a list of memberships for one or more members.

Parameters:

  • Members (array:number, query) – Member ids.
  • MembershipStatus (string, query) – Current | Former | All
  • CommitteeCategory (string, query) – Select | General | Other
  • ShowOnWebsiteOnly (boolean, query)

banners

Return messaging banners.

Parameters:

  • location (string, path) – Banner location.

get_oral_evidence

Return a list of Oral Evidence.

Parameters:

  • CommitteeBusinessId (number, query)
  • CommitteeId (number, query)
  • SearchTerm (string, query)
  • StartDate (string, query)
  • EndDate (string, query)
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

get_oral_evidence_by_id

Return an Oral Evidence.

Parameters:

  • id (number, path) – Oral evidence id.
  • showOnWebsiteOnly (boolean, query)

get_oral_evidence_document

Return a document for an Oral Evidence.

Parameters:

  • id (number, path) – Oral evidence id.
  • fileDataFormat (string, path) – OriginalFormat | Html | Pdf.

list_publication_types

Return a list of Publication Types.

get_publications

Return a list of publications.

Parameters:

  • PublicationTypeIds (array:number, query)
  • SearchTerm (string, query)
  • StartDate (string, query)
  • EndDate (string, query)
  • SortOrder (string, query) – PublicationDateDescending | PublicationDateAscending | ResponseDateDescending | ResponseDateAscending
  • PaperNumbers (array:string, query)
  • CommitteeBusinessId (number, query)
  • CommitteeId (number, query)
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

get_publication_by_id

Return a publication.

Parameters:

  • id (number, path) – Publication id.
  • showOnWebsiteOnly (boolean, query)

get_document

Return a document for a publication.

Parameters:

  • id (number, path) – Publication id.
  • documentId (number, path) – Document id.
  • fileDataFormat (string, path) – OriginalFormat | Html | Pdf.

get_submission_period_template_document_by_id

Return a submission period template file.

Parameters:

  • id (number, path) – Submission period template id.
  • documentId (number, path) – Document id.

get_submission_period_by_id

Return a submission period.

Parameters:

  • id (number, path) – Submission period id.

get_written_evidence

Return a list of Written Evidence.

Parameters:

  • CommitteeBusinessId (number, query)
  • CommitteeId (number, query)
  • SearchTerm (string, query)
  • StartDate (string, query)
  • EndDate (string, query)
  • ShowOnWebsiteOnly (boolean, query)
  • Skip (number, query)
  • Take (number, query)

get_written_evidence_by_id

Return a Written Evidence.

Parameters:

  • id (number, path) – Written evidence id.
  • showOnWebsiteOnly (boolean, query)

get_written_evidence_document

Return a document for a Written Evidence.

Parameters:

  • id (number, path) – Written evidence id.
  • fileDataFormat (string, path) – OriginalFormat | Html | Pdf.

Example Output

json
{  "status": 200,  "data": {    "items": [      {        "committeeId": 123,        "name": "Select Committee on Energy",        "house": "Commons",        "status": "Current"      }    ],    "totalResults": 1  },  "upstream_path": "/api/Committees",  "retrieved_at": "2026-03-11T10:00:00.000Z"}

Quick Start

Run the MCP server using npx:

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

MCP Configuration

Example mcpServers configuration for stdio transport:

json
{  "mcpServers": {    "uk-parliament-committees": {      "command": "npx",      "args": ["-y", "-p", "@darkhorseone/mcp-server-uk-parliament-committees", "mcp-server-uk-parliament-committees"],      "env": {        "UKPCOM_API_BASE_URL": "https://committees-api.parliament.uk",        "UKPCOM_REQUEST_TIMEOUT_MS": "10000"      }    }  }}

Example Usage

  • List current committees in the House of Commons.
  • Find committee business by keyword and filter by status.
  • Retrieve events for a committee within a date range.
  • Download a committee publication document as PDF.

Use Cases

  • AI agents summarizing committee activity and upcoming meetings.
  • Research tools tracking evidence submissions and publications.
  • Civic technology platforms monitoring committee business statuses.
  • Automation systems enriching datasets with committee metadata.

Data Source

UK Parliament Committees API https://committees-api.parliament.uk/index.html

Installation

Run directly using npx:

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

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-committees run buildpnpm --filter @darkhorseone/mcp-server-uk-parliament-committees run start:http

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

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

Published package command:

bash
npx -y -p @darkhorseone/mcp-server-uk-parliament-committees -- mcp-server-uk-parliament-committees-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-committees -- 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/api/Committees?Take=5"

License

MIT License

MCP Metadata

Protocol: Model Context Protocol Transport: stdio Tools: get_bill_petitions, get_bill_petition_by_id, get_bill_petition_document, get, get_committee_business, get_committee_business_by_id, list_committee_business_publication_groups, list_committee_business_types, list_committee_types, get_committees, get_next_event_for_committees, get_committee_by_id, get_events_committee_by_id, list_committee_memberships, get_committee_person_photo, list_committee_staff_memberships, list_committee_publication_groups, get_committee_archived_publication_links, get_countries, get_events, get_event_activities, get_event_by_id, get_attendances_by_id, get_activities_by_id, list_members_committee_memberships, banners, get_oral_evidence, get_oral_evidence_by_id, get_oral_evidence_document, list_publication_types, get_publications, get_publication_by_id, get_document, get_submission_period_template_document_by_id, get_submission_period_by_id, get_written_evidence, get_written_evidence_by_id, get_written_evidence_document

來源:servers/uk-parliament-committees/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 分

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