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 分

    请在仓库或注册中心条目中声明许可证。