
Uk Parliament Bills
io.github.nick-maPublished by GitHub account nick-mav1.0.2Updated Oct 25, 2026
MCP server for UK Parliament Bills API
Overview
Lets an assistant search and read UK Parliament Bills data — bills, stages, amendments, publications, sittings and RSS feeds — from the public Bills API.
- What you can do
- Search and retrieve bills, bill types and stage references with filters such as session, house, member and status, and fetch a single bill by ID with its current stage and news articles. List a bill's stages and stage details, and search or fetch amendments and ping-pong items for a stage. List bill and stage publications, publication types, and get or download a publication document. Search sittings by house and date range. Return RSS feeds for all, public, private or a specific bill as raw text.
- When to use it
- Useful for legislative research, civic-tech work or monitoring workflows where an assistant needs to summarize bill progress, track amendments and stages, or pull publications and RSS feeds from the UK Parliament Bills API.
- Requirements
- Runs locally over stdio, typically via npx with the published npm package, so Node.js is needed. It calls the public UK Parliament Bills API over the network; the README shows optional UPSTREAM_BASE_URL and REQUEST_TIMEOUT_MS settings. No authentication is declared.
Installation
In SourceWeft
- Open Uk Parliament Bills in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[MCP Compatible] [AI Agent Ready]
UK Parliament Bills MCP Server
Summary
This MCP server provides structured access to UK Parliament Bills data using the Model Context Protocol. It enables AI agents to query bills, stages, publications, amendments, and RSS feeds through reliable tools and an API-backed data source. Developers can integrate the MCP server into local workflows or automation pipelines using stdio transport, while preserving upstream API responses. The server exposes tools for search, lookup, and publication retrieval, optimized for AI agents and MCP-compatible clients.
Features
- Search and retrieve Bills, stages, publications, and sittings from the UK Parliament Bills API.
- Access amendments and ping-pong items with structured parameters and enum validation.
- Provide RSS feeds for all, public, or private bills as raw text payloads.
- Preserve upstream JSON payloads in a consistent response envelope for downstream tools and AI agents.
Available Tools
search_bill_stage_amendments
Returns a list of amendments for a Bill stage.
Parameters:
- billId (number, path) – Bill ID.
- billStageId (number, path) – Bill stage ID.
- SearchTerm (string, query) – Optional text search.
- AmendmentNumber (string, query) – Optional amendment number.
- Decision (string, query) – Optional decision enum.
- MemberId (number, query) – Optional member ID.
- Skip (number, query) – Optional offset.
- Take (number, query) – Optional limit.
get_bill_stage_amendment
Returns a specific amendment for a Bill stage.
Parameters:
- billId (number, path) – Bill ID.
- billStageId (number, path) – Bill stage ID.
- amendmentId (number, path) – Amendment ID.
list_bill_news_articles
Returns news articles for a Bill.
Parameters:
- billId (number, path) – Bill ID.
- Skip (number, query) – Optional offset.
- Take (number, query) – Optional limit.
list_bill_types
Returns a list of Bill types.
Parameters:
- Category (string, query) – Optional category enum.
- Skip (number, query) – Optional offset.
- Take (number, query) – Optional limit.
search_bills
Returns a list of Bills matching filters.
Parameters:
- SearchTerm (string, query) – Optional text search.
- Session (number, query) – Optional session number.
- CurrentHouse (string, query) – Optional house enum.
- OriginatingHouse (string, query) – Optional house enum.
- MemberId (number, query) – Optional member ID.
- DepartmentId (number, query) – Optional department ID.
- BillStage (array:number, query) – Optional bill stage IDs.
- BillStagesExcluded (array:number, query) – Optional excluded stage IDs.
- IsDefeated (boolean, query) – Optional defeated filter.
- IsWithdrawn (boolean, query) – Optional withdrawn filter.
- BillType (array:number, query) – Optional bill type IDs.
- SortOrder (string, query) – Optional sort order enum.
- BillIds (array:number, query) – Optional bill IDs.
- IsInAmendableStage (boolean, query) – Optional amendable stage filter.
- Skip (number, query) – Optional offset.
- Take (number, query) – Optional limit.
get_bill
Returns a Bill.
Parameters:
- billId (number, path) – Bill ID.
get_bill_stage_details
Returns a Bill stage.
Parameters:
- billId (number, path) – Bill ID.
- billStageId (number, path) – Bill stage ID.
list_bill_stages
Returns all Bill stages for a Bill.
Parameters:
- billId (number, path) – Bill ID.
- Skip (number, query) – Optional offset.
- Take (number, query) – Optional limit.
get_publication_document
Returns information on a publication document.
Parameters:
- publicationId (number, path) – Publication ID.
- documentId (number, path) – Document ID.
download_publication_document
Returns a publication document payload.
Parameters:
- publicationId (number, path) – Publication ID.
- documentId (number, path) – Document ID.
search_bill_stage_ping_pong_items
Returns a list of motions or amendments for a Bill stage.
Parameters:
- billId (number, path) – Bill ID.
- billStageId (number, path) – Bill stage ID.
- SearchTerm (string, query) – Optional text search.
- AmendmentNumber (string, query) – Optional amendment number.
- Decision (string, query) – Optional decision enum.
- MemberId (number, query) – Optional member ID.
- Skip (number, query) – Optional offset.
- Take (number, query) – Optional limit.
get_bill_stage_ping_pong_item
Returns an amendment or motion detail.
Parameters:
- billId (number, path) – Bill ID.
- billStageId (number, path) – Bill stage ID.
- pingPongItemId (number, path) – Ping pong item ID.
list_publication_types
Returns a list of publication types.
Parameters:
- Skip (number, query) – Optional offset.
- Take (number, query) – Optional limit.
list_bill_publications
Returns Bill publications.
Parameters:
- billId (number, path) – Bill ID.
list_bill_stage_publications
Returns publications for a Bill stage.
Parameters:
- billId (number, path) – Bill ID.
- stageId (number, path) – Stage ID.
get_rss_all_bills
Returns an RSS feed for all Bills.
get_rss_public_bills
Returns an RSS feed for public Bills.
get_rss_private_bills
Returns an RSS feed for private Bills.
get_rss_bill_by_id
Returns an RSS feed for a specific Bill.
Parameters:
- id (number, path) – Bill ID.
search_sittings
Returns a list of sittings.
Parameters:
- House (string, query) – Optional house enum.
- DateFrom (string, query) – Optional start date.
- DateTo (string, query) – Optional end date.
- Skip (number, query) – Optional offset.
- Take (number, query) – Optional limit.
list_stage_references
Returns a list of Bill stages.
Parameters:
- Skip (number, query) – Optional offset.
- Take (number, query) – Optional limit.
Example Output
Quick Start
Run the MCP server using npx:
MCP Configuration
Example mcpServers configuration for stdio transport:
Example Usage
- List the latest UK Parliament Bills.
- Fetch a specific Bill by ID and return the current stage.
- Retrieve publications for a Bill and download a document.
- Get the RSS feed for public Bills for downstream tools.
Use Cases
- AI agents summarizing legislative progress and bill status.
- Developer tools that monitor bill updates via the API and RSS.
- Civic technology platforms tracking amendments and parliamentary stages.
- Automation workflows that enrich datasets with UK Parliament Bills metadata.
Data Source
UK Parliament Bills API https://bills-api.parliament.uk
Installation
Run directly using npx:
Or install via pnpm from the repository root:
Run (HTTP proxy server)
Build first, then start:
Set a custom HTTP port with the UKP_HTTP_PORT environment variable (default: 3000):
Published package command:
If your shell cannot resolve the bin ("command not found"), run the HTTP entrypoint directly:
Health check:
Proxy pattern:
Example:
License
MIT License
MCP Metadata
Protocol: Model Context Protocol Transport: stdio Tools: 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
Source: servers/uk-parliament-bills/README.md at commit 38e74c9
Tools
0Version history
1- v1.0.2LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.