
Uk Parliament Oralquestionsandmotions
io.github.nick-maPublished by GitHub account nick-mav1.0.1Updated Oct 24, 2026
MCP server for UK Parliament Oral Questions and Motions API
Overview
Read-only MCP server that lets an assistant query UK Parliament Early Day Motions, oral questions and oral question times through the official API.
- What you can do
- Fetch a single Early Day Motion by its ID, including title, status and tabled date. List Early Day Motions filtered by status, member, tabled or status dates, search term and sort order, with paging. List oral questions filtered by answering date range, question type, status, asking member, UIN and answering body. Query oral question times by answering or deadline date range and answering body. Results come back as JSON with the upstream path and retrieval timestamp.
- When to use it
- Useful for civic-tech, research or reporting work where an assistant needs to look up or summarize current UK parliamentary motions and question schedules, or feed them into dashboards and automation.
- Requirements
- Runs locally over stdio, typically via npx with Node.js installed. Network access to the UK Parliament Oral Questions and Motions API is required; the base URL can be overridden with UPSTREAM_BASE_URL and the timeout with REQUEST_TIMEOUT_MS. No account or API key is declared.
Installation
In SourceWeft
- Open Uk Parliament Oralquestionsandmotions 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 Oral Questions and Motions MCP Server
Summary
This MCP server provides structured access to UK Parliament Oral Questions and Motions data using the Model Context Protocol. It enables AI agents to retrieve early day motions, oral questions, and question times through API-backed tools and data access. Developers can integrate the MCP server via stdio transport to query motions, question lists, and answering schedules. The server exposes tools that map directly to the Oral Questions and Motions API for reliable automation and AI agents workflows.
Features
- Fetch a single Early Day Motion by ID.
- List Early Day Motions with status, date, and member filters.
- Retrieve oral questions with question type and status filters.
- Query oral question times with answering body and date ranges.
Available Tools
get_early_day_motion_by_id
Returns a single Early Day Motion by ID.
Parameters:
- id (number, path)
list_early_day_motions
Returns a list of Early Day Motions.
Parameters:
- parameters.edmIds (array:number, query)
- parameters.uINWithAmendmentSuffix (string, query)
- parameters.searchTerm (string, query)
- parameters.currentStatusDateStart (string, query)
- parameters.currentStatusDateEnd (string, query)
- parameters.isPrayer (boolean, query)
- parameters.memberId (number, query)
- parameters.includeSponsoredByMember (boolean, query)
- parameters.tabledStartDate (string, query)
- parameters.tabledEndDate (string, query)
- parameters.statuses (array:string, query) – Published | Withdrawn
- parameters.orderBy (string, query) – DateTabledAsc | DateTabledDesc | TitleAsc | TitleDesc | SignatureCountAsc | SignatureCountDesc
- parameters.skip (number, query)
- parameters.take (number, query)
list_oral_questions
Returns a list of oral questions.
Parameters:
- parameters.answeringDateStart (string, query)
- parameters.answeringDateEnd (string, query)
- parameters.questionType (string, query) – Substantive | Topical
- parameters.oralQuestionTimeId (number, query)
- parameters.statuses (array:string, query)
- parameters.askingMemberIds (array:number, query)
- parameters.uINs (array:number, query)
- parameters.answeringBodyIds (array:number, query)
- parameters.skip (number, query)
- parameters.take (number, query)
list_oral_question_times
Returns a list of oral question times.
Parameters:
- parameters.answeringDateStart (string, query)
- parameters.answeringDateEnd (string, query)
- parameters.deadlineDateStart (string, query)
- parameters.deadlineDateEnd (string, query)
- parameters.oralQuestionTimeId (number, query)
- parameters.answeringBodyIds (array:number, query)
- parameters.skip (number, query)
- parameters.take (number, query)
Example Output
Quick Start
Run the MCP server using npx:
MCP Configuration
Example mcpServers configuration for stdio transport:
Example Usage
- Fetch an Early Day Motion by ID.
- List oral questions for a given answering date range.
- Query oral question times for specific answering bodies.
- Filter motions by status, member, and tabled dates.
Use Cases
- AI agents summarizing current oral questions and motions.
- Monitoring dashboards for question schedules and EDMS.
- Civic tech tools tracking motions and topical questions.
- Automation workflows exporting questions for reporting.
Data Source
UK Parliament Oral Questions and Motions API https://oralquestionsandmotions-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: 8787):
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: get_early_day_motion_by_id, list_early_day_motions, list_oral_questions, list_oral_question_times
Source: servers/uk-parliament-oralquestionsandmotions/README.md at commit 38e74c9
Tools
0Version history
1- v1.0.1LatestSep 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.