UK Parliament MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| order_orderA | Start UK Parliament research session | order, begin, initialize, start session, parliament mode | Use at the START of any parliamentary research to get proper context and guidance. Say 'Order Order' (like the Speaker) to activate. Returns system prompt and quick reference for all 210 tools. |
| parliament_guideA | Get detailed guidance for a specific Parliament data domain | tool help, API reference, how to use tools, available tools | Use when you need detailed information about tools in a specific area | Returns comprehensive guidance including tool names, parameters, and typical workflows |
| parliament_workflowA | Get step-by-step workflow guidance for a parliamentary research task | workflow planning, multi-step tasks, research planning, how to find | Use when you have a specific research question and need to plan which tools to use in sequence | Returns recommended sequence of tools with parameters and expected data flow |
| get_cli_referenceA | Get comprehensive CLI command reference | cli commands, terminal, command line, parliament command | Use to discover available CLI commands and their parameters | Returns JSON with command groups, names, descriptions, and parameters |
| get_mp_profileA | Get comprehensive MP/Lord profile in one call - combines member details, biography, interests, and voting summary | complete MP info, full member profile, MP background, politician details, comprehensive member data | Use when you need a complete picture of an MP or Lord without multiple tool calls | Returns combined data: basic info, biography, registered interests, and recent voting activity. Combines: get_member_by_id, get_members_biography, search_roi, get_member_voting. See also: get_my_mp (by postcode), get_member_by_name (to find the member ID). |
| check_mp_voteA | Check how an MP or Lord voted on a topic - combines member lookup and their division votes | MP voting stance, how did MP vote, voting record on topic, division lookup, aye or no | Use when you need to know how a specific member voted on a particular issue | Returns member details and each matching division with their vote (Aye/No, or Content/Not Content in the Lords). Combines: get_member_by_id, get_commons_voting_record_for_member or get_lords_voting_record_for_member (by the member's House). See also: compare_member_votes, search_commons_divisions. |
| compare_member_votesA | Compare how two MPs (or two Lords) voted - lines up their votes division by division | compare voting records, do they agree, voting similarity, rebels, party loyalty, head to head | Use when asked whether two members vote the same way, overall or on a topic | Returns both members, agreement counts and rate, each shared division with both votes, and divisions only one of them voted in. Combines: get_member_by_id (x2), get_commons_voting_record_for_member or get_lords_voting_record_for_member (x2). See also: check_mp_vote, get_commons_divisions_grouped_by_party. |
| get_bill_overviewA | Get comprehensive bill overview in one call - combines search, details, stages, and publications | complete bill info, legislation overview, bill progress, full bill details | Use when you need complete information about a bill without multiple tool calls | Returns bill details, legislative stages, and associated publications. Combines: search_bills, get_bill_by_id, get_bill_stages, get_bill_publications. See also: get_bill_committees, get_member_bills. |
| get_member_billsA | Get the bills a member has sponsored | bills introduced by MP, Private Members' Bills, sponsored legislation, member's bills | Use when asked which bills an MP or Lord has introduced or sponsored | Returns the member and their sponsored bills with current stage, most recently updated first. Combines: get_member_by_id, search_bills (member filter). See also: get_bill_overview, get_bill_committees. |
| get_committee_summaryA | Get comprehensive committee summary in one call - combines search, details, evidence, and publications | complete committee info, inquiry overview, committee research, full committee details | Use when you need complete information about a committee's work without multiple tool calls | Returns committee details, oral/written evidence, and publications. Combines: search_committees, get_committee_by_id, get_oral_evidence, get_written_evidence, get_publications. See also: get_committee_bills. |
| get_bill_committeesA | Find the committees that examined a bill | which committee scrutinised this bill, legislative scrutiny, committee stage, select committee reports on a bill | Use when asked which committees looked at a bill, or to find committee evidence and reports on it | Returns the bill's committee stages (with sitting dates) and select committee business on it with the examining committee; items whose linked_bill_ids include the bill are confirmed links. Combines: get_bill_by_id, get_bill_stages, get_committee_business, get_committee_business_by_id, get_publications. See also: get_committee_bills (the reverse), get_bill_overview. |
| get_committee_billsA | Find the bills a committee has examined | committee legislative scrutiny, bills scrutinised by committee, committee's bill work | Use when asked which bills a committee has looked at | Returns the committee and its legislative-scrutiny business, newest first, each with the bill it examined (current stage) and how the bill was matched (committee link or title). Combines: get_committee_by_id, get_committee_business, get_committee_business_by_id, get_bill_by_id. See also: get_bill_committees (the reverse), get_committee_summary. |
| search_parliamentA | Search across Parliament in one call - members, bills, committees, Hansard debates and written questions | search everything, find anything, cross-search, where is this mentioned, general search | Use as a starting point when you don't know which kind of record holds the answer | Returns the top matches and total counts for each kind of record, with the tool to call next for each. Combines: search_members, search_bills, search_committees, search_hansard_full, search_written_questions. See also: parliament_workflow (to plan a research approach). |
| get_my_mpA | Find your MP by postcode and get their full profile - combines postcode lookup, biography, interests, election result, and voting | who is my MP, postcode lookup, constituency MP, local representative | Use when someone wants to find their MP from a postcode | Returns MP profile with constituency, biography, interests, election results, and recent votes (and how they voted on a topic, if given). Combines: search_members (location), get_members_biography, search_roi, get_member_latest_election_result, get_member_voting, get_commons_voting_record_for_member. See also: get_mp_profile, check_mp_vote. |
| get_member_by_nameA | Search for MPs and Lords by name with comprehensive member details | find MP, search politician, lookup member, who is, member search, parliamentary representative | Use for identifying members, checking spellings, finding member IDs, or getting basic member information | Returns member profiles with names, parties, constituencies, and current status See also: get_mp_profile, search_members, search_historical_members. |
| get_answering_bodiesA | Get government departments and their parliamentary responsibilities | government departments, ministries, answering bodies, policy areas, department structure, who answers questions | Use for understanding government structure, finding responsible departments, or determining who answers questions on specific topics | Returns department names, abbreviations, and policy responsibilities See also: get_departments, search_written_questions. |
| get_member_by_idA | Get comprehensive member profile by ID with full parliamentary details | member details, MP profile, member information, parliamentary roles, constituency data | Use when you have a member ID and need complete biographical, political, and contact information | Returns detailed member data including roles, constituency, party, and career information See also: get_mp_profile, get_members_biography, get_member_synopsis. |
| edms_for_member_idA | Get all Early Day Motions signed by a specific MP. Use when you want to see what issues a particular member has supported or their political priorities through EDM signatures. See also: search_early_day_motions. |
| parties_list_by_houseA | Get list of active political parties in either House of Commons (1) or House of Lords (2). Use when you need to know current party representation or party structures in Parliament. See also: get_state_of_parties. |
| get_departmentsA | Get list of all government departments. Use when you need to know the structure of government or which department handles specific policy areas. See also: get_answering_bodies, get_government_posts. |
| get_contributionsA | Get summary of parliamentary contributions (speeches, questions, interventions) made by a specific member. Use when analyzing an MP or Lord's parliamentary activity and participation levels. See also: get_member_contribution_summary, search_hansard_contributions. |
| get_constituenciesB | Search and list UK parliamentary constituencies | constituency search, find constituency, browse constituencies | Use when you need constituency information, want to search by name, or need constituency data for analysis | Returns list of UK parliamentary constituencies See also: get_my_mp, get_constituency_representations. |
| get_election_results_for_constituencyA | Get historical election results for a specific constituency. Use when researching constituency voting patterns, election history, or past electoral outcomes for a particular area. See also: get_constituency_latest_election, get_member_latest_election_result. |
| get_lords_interests_staffA | Search staff interests declared by Lords | Lords staff, staff conflicts, staff interests | Use to investigate potential conflicts of interest related to Lords' staff | Returns staff interests matching the search term |
| get_members_biographyA | Get comprehensive member biography and personal history | MP background, life story, career details, education, personal info, political experience | Use for researching member backgrounds, writing profiles, understanding political journey | Returns detailed biographical data including education, career timeline, and political milestones See also: get_mp_profile, get_member_experience. |
| get_members_contactA | Get member contact details and office information | MP contact, phone number, email, office address, constituency office | Use for contacting members, finding office locations, or getting official contact details | Returns phone numbers, addresses, and official contact information |
| search_membersA | Search for current MPs and Lords with comprehensive filtering options. Use when you need to find members by name, location, party, constituency, gender, posts held, or policy interests. Supports advanced search criteria including membership dates and eligibility status. See also: get_member_by_name, search_historical_members, get_mp_profile. |
| get_member_experienceA | Get professional experience and career background of a member by ID. Use when researching a member's qualifications, previous employment, education, or professional history before entering Parliament. |
| get_member_focusA | Get areas of focus and policy interests of a member by ID. Use when understanding what issues and policy areas a member prioritizes or specializes in. |
| get_member_registered_interestsA | Get registered interests of a member by ID and house. Use when investigating potential conflicts of interest, financial interests, or external roles. Shows declared interests like directorships, consultancies, and gifts. See also: search_roi, get_lords_interests_register. |
| get_member_staffA | Get staff members working for a specific MP or Lord by member ID. Use when researching parliamentary office staff, researchers, or support personnel. |
| get_member_synopsisB | Get a brief synopsis or summary about a member by ID. Use when you need a concise overview of a member's background, role, or key information. |
| get_member_votingA | Get voting records of a member by ID for a specific house. Use when analyzing how a member votes, their voting patterns, or their stance on particular issues through their voting history. See also: check_mp_vote, get_commons_voting_record_for_member, get_lords_voting_record_for_member. |
| get_member_written_questionsA | Get written questions submitted by a member by ID. Use when researching what questions a member has asked of government departments or their areas of parliamentary inquiry. See also: search_written_questions. |
| get_members_historyA | Get historical information for multiple members by their IDs. Returns name history, party affiliations, and membership details over time. Use when researching how members' details have changed throughout their careers. |
| get_member_latest_election_resultA | Get the latest election result for a member by ID. Use when researching how a member was elected, their constituency performance, vote share, or election margin. See also: get_election_results_for_constituency. |
| get_member_portrait_urlA | Get the portrait image URL for a member by ID. Use when you need a link to a member's official parliamentary portrait photograph. |
| get_member_thumbnail_urlA | Get the thumbnail image URL for a member by ID. Use when you need a link to a smaller version of a member's parliamentary photograph for lists or compact displays. |
| get_government_postsA | Get government posts | ministers, cabinet, government positions, Home Secretary, Chancellor | List all current government ministerial positions with their holders | Returns list of posts with member details See also: get_opposition_posts, get_spokespersons, get_departments. |
| get_opposition_postsA | Get opposition posts | shadow cabinet, shadow ministers, opposition frontbench | List all current opposition frontbench positions with their holders | Returns list of posts with member details See also: get_government_posts, get_spokespersons. |
| get_state_of_partiesA | Get party seat counts | party breakdown, seats, composition, majority | Get number of seats held by each party in a house | Returns party names with seat counts See also: parties_list_by_house. |
| get_lords_by_typeA | Get Lords by peerage type | hereditary, life peers, bishops, crossbench | Breakdown of Lords by type of peerage | Returns counts by peerage type |
| get_spokespersonsA | Get party spokespersons | shadow ministers, opposition frontbench, party speakers | Use to find who speaks for a party on specific policy areas | Returns spokespersons with their portfolios |
| get_policy_interestsA | Get policy interest reference data | policy areas, member interests categories | Use to get IDs for filtering member searches by policy interest | Returns list of policy interest categories |
| get_constituency_by_idB | Get a constituency by ID with full details | constituency lookup, find constituency, constituency info | Use when you have a constituency ID and need full details about it | Returns constituency name, boundaries, and related data |
| get_constituency_latest_electionA | Get the latest election result for a constituency | constituency election, latest vote, most recent election result | Use when you need the most recent election result for a specific constituency | Returns vote counts, winner, turnout, and candidate details |
| get_constituency_election_resultB | Get a specific election result for a constituency by election ID | constituency election, historic vote, election result | Use when you need a particular election result for a constituency | Returns vote counts, winner, turnout, and candidate details for that election |
| get_constituency_representationsA | Get all MP representations for a constituency over time | constituency history, who represented, past MPs | Use when researching which MPs have represented a constituency historically | Returns list of representations with dates and member details See also: get_my_mp, get_constituency_by_id. |
| get_constituency_synopsisA | Get a brief synopsis or summary for a constituency | constituency overview, constituency description, area summary | Use when you need a concise description or background information about a constituency | Returns text synopsis of the constituency |
| search_historical_membersA | Search historical members of the Commons or Lords | past MPs, historic members, former members, historical search | Use when researching members from historical periods or who were active on a specific date | Returns member profiles matching the historical search criteria See also: get_member_by_name, get_members_history. |
| get_speaker_and_deputiesA | Get the Speaker of the Commons and Deputy Speakers for a date | Speaker, Deputy Speaker, House officers | Use when you need to know who was Speaker or a Deputy Speaker on a given date | Returns member details for the Speaker and Deputy Speakers |
| browse_locationsA | Browse locations by type and name, returning parent and child locations | location browse, constituency type, country region | Use when exploring the location hierarchy (e.g. countries, regions, constituencies) | Returns list of locations matching the type and name |
| get_lords_interests_registerA | Search the Lords register of interests | Lords interests, peer interests, Lords declarations, register | Use when investigating Lords' declared interests, financial interests, or outside roles | Returns registered interests matching the search criteria |
| get_recently_updated_billsA | Get most recently updated bills and current legislative activity | recent bills, new legislation, latest laws, parliamentary bills, legislative updates, current proposals | Use for tracking new legislation, monitoring bill progress, or finding recently introduced/updated laws | Returns bill titles, stages, sponsors, dates, and current status | Data freshness: updated frequently See also: search_bills, get_bill_overview. |
| search_billsA | Search for parliamentary bills by title, subject, or keyword. Use when researching proposed legislation, finding bills on specific topics, or tracking legislative progress. See also: get_bill_overview, get_recently_updated_bills, search_acts_of_parliament. |
| bill_typesA | Get all types of bills that can be introduced in Parliament (e.g., Government Bill, Private Member's Bill). Use when you need to understand different categories of legislation. |
| bill_stagesB | Get all possible stages a bill can go through in its legislative journey. Use when tracking bill progress or understanding the legislative process (e.g., First Reading, Committee Stage, Royal Assent). |
| get_bill_by_idB | Get detailed information about a specific bill by ID. Use when you need comprehensive bill details including title, sponsors, stages, summary, and current status. See also: get_bill_overview, get_bill_stages, get_bill_committees. |
| get_bill_stagesA | Get all stages of a specific bill by bill ID. Use when tracking a bill's progress through Parliament, understanding its legislative journey, or finding specific stages like Committee Stage or Third Reading. See also: get_bill_stage_details, get_bill_stage_amendments, get_bill_committees. |
| get_bill_stage_detailsB | Get detailed information about a specific stage of a bill. Use when you need complete details about a particular stage including timings, committee involvement, and related activities. |
| get_bill_stage_amendmentsA | Get all amendments for a specific bill stage. Use when researching proposed changes to legislation, tracking amendment activity, or understanding what modifications are being suggested to a bill. See also: get_amendment_by_id, get_bill_stage_ping_pong_items. |
| get_amendment_by_idB | Get detailed information about a specific amendment. Use when you need complete amendment details including text, sponsors, decision, and explanatory notes. |
| get_bill_stage_ping_pong_itemsA | Get ping pong items (amendments and motions) for a bill stage. Use when researching the final stages of bills passing between Commons and Lords, including disagreements and agreements on amendments. |
| get_ping_pong_item_by_idB | Get detailed information about a specific ping pong item (amendment or motion). Use when you need complete details about final stage amendments or motions in the legislative process. |
| get_bill_publicationsA | Get all publications for a specific bill. Use when researching bill documents, impact assessments, explanatory notes, or tracking document versions throughout the legislative process. See also: get_bill_stage_publications, get_publication_document. |
| get_bill_stage_publicationsB | Get publications for a specific bill stage. Use when you need documents related to a particular stage of legislation, such as committee reports or stage-specific amendments. |
| get_publication_documentB | Get information about a specific publication document. Use when you need metadata about bill documents including filename, content type, and size. |
| get_bill_news_articlesA | Get news articles related to a specific bill. Use when researching media coverage, press releases, or official communications about legislation. |
| get_all_bills_rssA | Get RSS feed of all bills. Use when you want to stay updated on all legislative activity through RSS feeds. |
| get_public_bills_rssA | Get RSS feed of public bills only. Use when you want to monitor government and public bills through RSS feeds, excluding private bills. |
| get_private_bills_rssB | Get RSS feed of private bills only. Use when you want to monitor private member bills and private bills through RSS feeds. |
| get_bill_rssC | Get RSS feed for a specific bill by ID. Use when you want to track updates and changes to a particular piece of legislation through RSS feeds. |
| get_publication_typesA | Get all publication types available for bills. Use when you need to understand the different types of documents that can be associated with legislation. |
| get_sittingsA | Get parliamentary sittings with optional filtering by house and date range. Use when researching when Parliament was in session, finding specific sitting dates, or tracking parliamentary activity. See also: get_sitting_dates, get_hansard_calendar. |
| get_committee_meetingsA | Find committee meetings and hearings by date range | committee meetings, parliamentary hearings, committee schedule, committee calendar, when committees meet | Use for finding committee schedules, planning attendance, or researching past committee activity | Returns meeting details including committees, dates, times, and topics | Covers both Commons and Lords committees See also: get_events, get_committees_next_events. |
| search_committeesA | Search for parliamentary committees by name or subject area. Use when you need to find which committee covers a specific policy area or when researching committee work. See also: get_committee_summary, get_committee_by_id, get_committee_bills. |
| get_committee_typesA | Get all types of parliamentary committees (e.g., Select Committee, Public Bill Committee, Delegated Legislation Committee). Use when understanding committee structures or finding the right committee type. |
| get_committee_by_idA | Get comprehensive committee profile and membership details | committee information, committee members, committee purpose, parliamentary committee, scrutiny committee | Use for understanding committee roles, finding committee members, or researching committee activities | Returns full committee details including purpose, members, departments scrutinized, and contact information See also: get_committee_summary, get_committee_members, get_committee_bills. |
| get_eventsA | Search for committee events with flexible filtering options. Use when you need to find meetings, hearings, or other committee activities by date, location, or committee. Supports filtering by start/end dates, house, event type, and location. |
| get_event_by_idA | Get detailed information about a specific committee event by ID. Use when you need complete event details including activities, attendees, committees involved, and related business. |
| get_committee_eventsA | Get events for a specific committee by committee ID. Use when you want to see all meetings and activities for a particular committee, with options to filter by date range, business, and event type. |
| get_committee_membersA | Get members and staff of a specific committee by committee ID. Use when you need to know who serves on a committee, their roles, and membership status (current/former). Returns both elected members and lay members. |
| get_publicationsA | Search for committee publications including reports, government responses, and other documents. Use when researching committee outputs, finding reports on specific topics, or tracking publication dates and paper numbers. See also: get_publication_by_id, get_committee_publications_summary. |
| get_publication_by_idA | Get detailed information about a specific committee publication by ID. Use when you need complete publication details including documents, HC numbers, government responses, and associated committee business. |
| get_written_evidenceA | Search for written evidence submissions to committees. Use when researching stakeholder submissions, witness statements, or public input to committee inquiries. Can filter by committee, business, witness names, or publication dates. See also: get_written_evidence_by_id, get_oral_evidence. |
| get_oral_evidenceA | Search for oral evidence sessions from committee hearings. Use when researching witness testimonies, committee hearings, or transcripts from evidence sessions. Can filter by committee, business, witness names, or meeting dates. See also: get_oral_evidence_by_id, get_written_evidence. |
| get_committee_businessA | Search for committee business (inquiries, investigations) | committee inquiries, investigations, call for evidence | Use to find committee inquiries by topic, status, or whether accepting evidence. Returns committee business items matching the criteria. See also: get_committee_business_by_id, get_bill_committees. |
| get_committee_business_by_idA | Get detailed information about a specific committee business item | inquiry details, investigation details | Use when you need complete details about a specific inquiry or investigation. Returns full business details including evidence calls and reports. See also: get_committee_business_publications_summary, get_bill_committees. |
| get_committee_business_typesA | Get all types of committee business | business types, inquiry types | Use to understand different types of committee work (inquiries, debates, etc.). Returns list of business types with descriptions. |
| get_committees_next_eventsA | Get upcoming events for all committees | next meetings, upcoming hearings | Use to see what committee meetings are scheduled. Returns list of committees with their next scheduled event. |
| get_committee_staffA | Get staff members of a committee | committee staff, clerks, advisers | Use to find who supports a committee's work. Returns staff members with their roles. |
| get_committee_publications_summaryB | Get summary of publications grouped by type | publication overview, report counts | Use to get an overview of a committee's publication output. Returns publication counts by type. |
| get_event_activitiesC | Get activities scheduled for an event | meeting agenda, event schedule | Use to see what's on the agenda for a committee meeting. Returns activities planned for the event. |
| get_event_attendanceC | Get attendance record for an event | who attended, meeting attendance | Use to see which members attended a committee meeting. Returns attendance list for the event. |
| get_member_committee_membershipsA | Get committee memberships for one or more members | member committees, MP committees | Use to find which committees a member serves on. Returns committee memberships for the specified members. See also: get_committee_members. |
| get_oral_evidence_by_idC | Get detailed oral evidence by ID | witness testimony details | Use to get full details of a specific oral evidence session. Returns complete oral evidence record. |
| get_written_evidence_by_idB | Get detailed written evidence by ID | written submission details | Use to get full details of a specific written evidence submission. Returns complete written evidence record. |
| get_committee_publication_typesB | Get all types of committee publications | report types, document types | Use to understand different types of committee publications. Returns list of publication types with descriptions. |
| search_bill_petitionsB | Search petitions on Private Bills | private bill petitions, public petitions | Use to find public petitions submitted on Private Bills | Returns petitions with details |
| get_committee_business_publications_summaryB | Get publication summary for an inquiry | inquiry publications, report groups | Use to see publication types for a committee business/inquiry | Returns publication groups with counts |
| get_bill_petition_by_idB | Get a specific bill petition by ID | bill petition, private bill, hybrid bill petition | Use to get full details of a petition submitted on a Private Bill | Returns petition details |
| get_archived_publication_linksC | Get archived publication links for a committee | archived publications, legacy documents, old reports | Use to find archived publications linked to a committee | Returns grouped archived publication links |
| search_event_activitiesA | Search committee event activities | event agenda items, meeting activities, committee sessions | Use to find activities across committee events with flexible filtering | Returns event activities matching criteria |
| get_submission_periodC | Get a submission period by ID | submission period, evidence call, inquiry window | Use to get details of a specific evidence submission period | Returns submission period details |
| search_commons_divisionsA | Search Commons divisions | House of Commons votes, Commons voting records, how MPs voted | Use to find how MPs voted on bills, amendments or issues; filter by member, date range or division number | Returns matching divisions with vote counts. See also: search_lords_divisions, get_commons_division_by_id, compare_member_votes. |
| get_commons_voting_record_for_memberA | Get the voting record of a MP in House of Commons divisions | MP votes, voting history, voting pattern | Use when analyzing how a specific MP votes or their stance on issues through their voting history | Returns the divisions the member voted in, newest first. See also: get_member_voting, compare_member_votes. |
| get_commons_division_by_idA | Get one House of Commons division by ID | Commons vote details, division list, tellers | Use when you need complete details of a particular vote | Returns who voted aye/no, tellers and vote totals. |
| get_commons_divisions_grouped_by_partyA | Get House of Commons divisions grouped by party | party-line voting, how parties voted, rebellions | Use when analyzing how different parties voted on issues | Returns vote counts by party rather than individual members. |
| get_commons_divisions_search_countA | Count House of Commons divisions matching search criteria | number of votes, how many divisions | Use to size a search before fetching results with search_commons_divisions | Returns the total count. |
| search_lords_divisionsA | Search Lords divisions | House of Lords votes, Lords voting records, how Lords voted | Use to find how Lords voted on bills, amendments or issues or find close/contested votes; filter by member, date range or division number | Returns matching divisions with vote counts. See also: search_commons_divisions, get_lords_division_by_id, compare_member_votes. |
| get_lords_voting_record_for_memberA | Get the voting record of a Lord in House of Lords divisions | Lord votes, voting history, voting pattern | Use when analyzing how a specific Lord votes or their stance on issues through their voting history | Returns the divisions the member voted in, newest first. See also: get_member_voting, compare_member_votes. |
| get_lords_division_by_idA | Get one House of Lords division by ID | Lords vote details, division list, tellers | Use when you need complete details of a particular vote | Returns who voted content/not content, tellers and vote totals. |
| get_lords_divisions_grouped_by_partyA | Get House of Lords divisions grouped by party | party-line voting, how parties voted, rebellions | Use when analyzing how different parties voted on issues | Returns vote counts by party rather than individual members. |
| get_lords_divisions_search_countA | Count House of Lords divisions matching search criteria | number of votes, how many divisions | Use to size a search before fetching results with search_lords_divisions | Returns the total count. |
| search_hansardA | Search Hansard (official parliamentary record) for speeches and debates. Use when researching what was said in Parliament on specific topics, by specific members, or in specific time periods. House: 1 or "Commons", 2 or "Lords". See also: search_hansard_full, search_hansard_contributions, search_parliament. |
| get_debate_by_idA | Get full debate transcript | Hansard, speeches, contributions | Use after search_hansard to get complete debate with all member speeches. Returns debate title, date, house, and all contributions. See also: get_debate_speakers, get_debate_divisions, get_member_hansard_contributions. |
| get_member_hansard_contributionsA | Get all speeches by a specific MP/Lord in a debate | Hansard, member speeches | Use to extract just one member's contributions from a debate. Returns all contributions by that member in the specified debate. |
| get_debate_divisionsA | Get votes that occurred during a debate | Hansard, divisions, voting | Use to find divisions (votes) that took place in a specific debate. Returns list of divisions with aye/noe counts. See also: get_division_details, get_commons_division_by_id. |
| get_division_detailsA | Get full division details including how each member voted | Hansard, division, voting records | Use to see individual voting records for a specific division. Returns division with debate title, counts, and member voting records. |
| get_hansard_sitting_dayA | Get full agenda/sections for a sitting day | Hansard, daily business, agenda | Use to see all debates and business for a specific day. Returns all debate sections for that day. See also: get_hansard_section_trees, get_hansard_calendar. |
| get_hansard_calendarA | Get all sitting dates for a month | Hansard, calendar, sitting days | Use to discover which days have Hansard records available. Returns list of sitting dates with Hansard available. |
| search_hansard_fullA | Full search across all Hansard content types | Hansard, comprehensive search | Use for broad searches across debates, statements, questions, and petitions. Returns mixed results from all Hansard content types. See also: search_hansard, search_parliament. |
| search_hansard_contributionsA | Search Hansard by contribution type | Hansard, spoken, written, interventions | Use to find specific types of parliamentary contributions. Returns contributions of the specified type. See also: get_member_contribution_summary, get_debate_by_id. |
| search_hansard_membersA | Search for members who appear in Hansard | Hansard, member search, speakers | Use to find members who have spoken in Parliament by name. Returns members matching the search term. |
| search_hansard_divisionsB | Search for divisions (votes) in Hansard | Hansard, divisions, votes | Use to find recorded votes in Parliament. Returns divisions matching the search criteria. See also: search_commons_divisions, search_lords_divisions. |
| get_member_contribution_summaryB | Get summary of a member's Hansard contributions | Hansard, speaking record, member activity | Use to see an overview of how often and when a member has spoken. Returns summary of member's parliamentary contributions. |
| get_debate_speakersA | Get list of speakers in a debate | Hansard, debate speakers, who spoke | Use to see who participated in a specific debate. Returns list of members who spoke in the debate. |
| get_top_level_debate_idA | Get the top-level debate ID for a debate section | Hansard, debate navigation, parent debate | Use to navigate to the parent debate from a sub-section. Returns the top-level debate ID. |
| get_debate_by_titleA | Find a debate by title and date | Hansard, find debate, debate lookup | Use when you know the debate title and date but not the ID. Returns the debate matching the title and date. |
| get_hansard_last_sitting_dateB | Get the most recent sitting date with Hansard | Hansard, latest, most recent | Use to find the most recent day Parliament sat. Returns the last sitting date. |
| get_hansard_linked_datesA | Get previous and next sitting dates | Hansard, navigation, sitting dates | Use to navigate between sitting days. Returns previous and next sitting dates relative to given date. |
| get_hansard_section_treesA | Get hierarchical structure of debates for a day | Hansard, debate hierarchy, structure | Use to see the tree structure of all debates on a sitting day. Returns hierarchical tree of debate sections. |
| search_historic_sitting_daysA | Search historic sitting days | historical Hansard, past sessions, sitting history | Use to find which days Parliament sat historically | Returns list of sitting days in date range |
| get_historic_sitting_dayB | Get details of a historic sitting day | historical Hansard, past session details | Use to get details of a specific historic sitting day | Returns sitting day details with sections |
| get_hansard_currently_processingA | Get Hansard content currently being processed | Hansard, processing status, live updates | Use to check what Hansard content is currently being transcribed or indexed | Returns list of items currently being processed |
| get_hansard_first_yearA | Get the earliest year Hansard records are available | Hansard, first year, earliest record | Use to determine the historical range of available Hansard data | Returns the first year with Hansard records |
| get_hansard_pdfs_for_dayA | Get PDF documents for a specific sitting day | Hansard, PDFs, daily documents | Use to retrieve official PDF transcripts for a parliamentary sitting day | Returns list of PDF links for that day |
| get_hansard_speakers_for_dayB | Get list of speakers for a specific sitting day section | Hansard, speakers, daily list | Use to find who spoke in a particular section of parliamentary business on a given day | Returns list of speakers for that section |
| search_committee_debatesB | Search committee debates in Hansard | Hansard, committees, select committee debates | Use to find debates and discussions from parliamentary committees | Returns committee debates matching the search criteria |
| search_hansard_committeesB | Search committees that appear in Hansard | Hansard, committee search, parliamentary committees | Use to find committees by name or keyword in Hansard records | Returns committees matching the search criteria |
| get_debate_by_columnB | Get a debate by Hansard column number | Hansard, column reference, volume | Use when you have a Hansard column reference (e.g. from a citation) and need to find the debate | Returns the debate at the specified column |
| get_debate_by_external_idA | Get a debate by its external content item ID | Hansard, external ID, debate lookup | Use when you have an external content item ID to retrieve the specific debate | Returns the debate matching the external ID |
| search_hansard_petitionsB | Search petitions in Hansard | Hansard, petitions, parliamentary petitions | Use to find petitions presented in Parliament | Returns petitions matching the search criteria |
| get_hansard_timeline_statsB | Get Hansard timeline statistics | Hansard, statistics, timeline, contribution counts | Use to get aggregate stats showing contribution activity over time | Returns timeline statistics for the given search parameters |
| get_recently_tabled_edmsA | Get recently tabled Early Day Motions - formal political statements | EDMs, political motions, backbench initiatives, MP opinions, parliamentary statements, political positions, cross-party support | Use for tracking political sentiment, finding MP stances on issues, monitoring backbench activity, or researching political movements | Returns recent EDMs with titles, sponsors, supporters, and tabling dates | Data freshness: updated daily See also: search_early_day_motions. |
| search_early_day_motionsA | Search EDMs by topic | Early Day Motions, backbench motions, MP opinions, prayers against SIs | Use to find motions on specific issues, by member, or withdrawn motions | Returns EDMs with sponsors and signature counts See also: get_early_day_motion, edms_for_member_id, get_recently_tabled_edms. |
| search_oral_question_timesB | Get scheduled oral question times for ministers in Parliament. Use when you want to know when specific departments will answer questions or when particular topics will be discussed. See also: search_oral_questions. |
| get_early_day_motionB | Get EDM details | early day motion, signatures, sponsors, full text | Get full text and signature details for an Early Day Motion | Returns EDM text, primary sponsor, supporters, signature count |
| search_oral_questionsA | Search oral questions | PQs, question time, oral PQs, minister questions | Search oral parliamentary questions (not EDMs) | Returns list of oral questions with details See also: search_oral_question_times, search_written_questions. |
| search_roiA | Search member's Register of Interests for financial and business declarations | register of interests, ROI, financial interests, conflicts of interest, directorships, consultancies, gifts, external roles, transparency | Use for investigating potential conflicts, researching member finances, or checking declared interests | Returns declared interests including directorships, consultancies, gifts, and other financial interests See also: get_member_registered_interests, interests_categories, get_mp_profile. |
| interests_categoriesA | Get categories of interests that MPs and Lords must declare in the Register of Interests. Use when you need to understand what types of financial or other interests parliamentarians must declare. |
| get_registers_of_interestsA | Get list of published Registers of Interests. Use when you need to see all available interest registers or understand the transparency framework for parliamentary interests. |
| get_interest_categoryC | Get a specific interest category by ID | register of interests, interest category, declaration type | Use to get details of a specific interest category | Returns category details |
| get_interest_by_idB | Get a specific registered interest by ID | register of interests, financial interest, declaration | Use to retrieve a specific interest declaration by its ID | Returns interest details |
| get_register_by_idC | Get a specific Register of Interests by ID | register of interests, published register, transparency | Use to retrieve a specific published interest register by its ID | Returns register details |
| happening_now_in_commonsA | Get live information about what's currently happening in the House of Commons chamber. Use when you want real-time updates on parliamentary business, current debates, or voting activity. See also: happening_now_in_lords, search_calendar. |
| happening_now_in_lordsA | Get live information about what's currently happening in the House of Lords chamber. Use when you want real-time updates on Lords business, current debates, or voting activity. See also: happening_now_in_commons, search_calendar. |
| get_annunciator_by_dateB | Get annunciator message for a specific chamber and date | annunciator, chamber display, historical activity | Retrieve what was displayed on the annunciator board for a given date | Returns annunciator message data |
| search_calendarA | Search parliamentary calendar for upcoming events and business in either chamber. Use when you want to know what's scheduled in Parliament, upcoming debates, or future parliamentary business. House: Commons/Lords. See also: get_parliamentary_diary, get_sitting_dates, happening_now_in_commons. |
| get_sessionsB | Get list of parliamentary sessions. Use when you need to understand parliamentary terms, session dates, or the parliamentary calendar structure. |
| get_non_sitting_daysA | Get periods when Parliament is not sitting (recesses, holidays). Use when you need to know when Parliament is on break, recess periods, or when no parliamentary business is scheduled. See also: get_sitting_dates. |
| get_sitting_datesA | Get sitting dates | recess, sitting days, parliamentary calendar, when sitting | Get sitting dates for a house within a date range | Returns list of sitting dates See also: get_non_sitting_days, get_next_sitting_date. |
| get_next_sitting_dateA | Get next sitting | parliament returns, next sitting day, when back | Get the next sitting date after a specified date | Returns next sitting date |
| get_tabling_deadlineB | Get tabling deadline | table questions, submission deadline, EDM deadline | Get the valid tabling date for a specified date (Commons only) | Returns tabling deadline date |
| get_answer_deadlineA | Get answer deadline | PQ answer date, response deadline, when answers due | Get the earliest answer date for a written question (Commons only) | Returns answer deadline date |
| get_calendar_eventC | Get calendar event by ID | specific event, event details | Use to get full details of a specific calendar event | Returns event details |
| get_calendar_categoriesB | Get calendar event categories | categories, event types, calendar taxonomy | List all categories used to classify parliamentary calendar events | Returns list of categories |
| get_event_type_metadataB | Get event type metadata | event types, calendar metadata, event classification | Retrieve metadata about parliamentary event types with optional filtering | Returns event type metadata |
| get_parliamentary_diaryA | Get parliamentary diary | diary, schedule, events, business programme | Retrieve the parliamentary diary with upcoming business and events | Returns diary events |
| get_speaker_eventsB | Get speaker events | speakers, order paper, business items, speakers list | Retrieve parliamentary events with speaker information | Returns speaker event details |
| get_calendar_locationsB | Get calendar locations | venues, committee rooms, locations, where | List all locations used for parliamentary calendar events | Returns list of locations |
| get_annulment_dateA | Get annulment date | SI annulment, negative SI, scrutiny period, 40 days | Calculate the annulment date for a negative statutory instrument | Returns annulment date |
| get_last_sitting_dateA | Get last sitting date | previous sitting, last sat, before recess | Get the last sitting date prior to a specified date | Returns last sitting date |
| get_session_by_idC | Get parliamentary session by ID | session details, parliamentary term, session lookup | Retrieve details of a specific parliamentary session by its ID | Returns session details |
| get_session_for_dateB | Get parliamentary session for date | which session, session lookup by date | Find which parliamentary session a given date falls within | Returns session details |
| get_calendar_tagsB | Get calendar tags | tags, labels, calendar taxonomy | List all tags used to label parliamentary calendar events | Returns list of tags |
| get_calendar_typesC | Get calendar event types | event types, calendar classification | List all event types used in the parliamentary calendar | Returns list of event types |
| search_statutory_instrumentsA | Search for Statutory Instruments (secondary legislation), including proposed negative SIs (PNSIs) under sifting. Use when researching government regulations, rules, or orders made under primary legislation. SIs are used to implement or modify laws. See also: get_statutory_instrument, get_si_business_items, get_annulment_date. |
| search_acts_of_parliamentB | Search for Acts of Parliament (primary legislation) by name or topic. Use when researching existing laws, finding legislation on specific subjects, or understanding the legal framework on particular issues. See also: get_act_of_parliament, search_bills. |
| get_statutory_instrumentB | Get SI details | statutory instrument, secondary legislation, regulations | Get full details of a specific Statutory Instrument | Returns SI details including laying info, procedure, status |
| get_si_business_itemsB | Get SI business items | SI progress, scrutiny, debates, motions | Get business items (debates, motions) for an SI | Returns list of business items with dates and outcomes |
| get_act_of_parliamentC | Get Act details | primary legislation, act of parliament, law | Get full details of an Act of Parliament | Returns Act details |
| get_laying_bodiesB | List SI laying bodies | laying body, department, government organisation, JCSI | Get all bodies that can lay statutory instruments before Parliament | Returns list of laying bodies with IDs and names |
| get_si_proceduresB | List SI procedures | statutory instrument procedure, affirmative, negative, made affirmative | Get all statutory instrument procedures | Returns list of SI procedures with IDs and names |
| get_si_procedureB | Get SI procedure details | statutory instrument procedure, affirmative, negative | Get details of a specific SI procedure | Returns procedure details including workflow steps |
| get_si_timeline_business_itemsC | Get SI timeline business items | statutory instrument timeline, workflow, procedure steps | Get business items for an SI workflow timeline | Returns all business items in the SI procedure timeline |
| search_treatiesA | Search UK international treaties and agreements under parliamentary scrutiny | treaties, international agreements, trade deals, diplomatic treaties, international law, bilateral agreements | Use for researching international relations, trade agreements, or diplomatic commitments | Returns treaty details including titles, countries involved, and parliamentary scrutiny status See also: search_treaties_advanced, get_treaty, get_treaty_business_items. |
| search_treaties_advancedA | Advanced treaty search with full filtering | treaties, controversial treaties, committee concerns, scrutiny status | Use to find treaties by department, scrutiny status, or with parliamentary concerns | Returns treaties matching all specified filters |
| get_treaty_government_organisationsA | Get departments that lay treaties | treaty departments, laying bodies, Foreign Office | Use to get organisation IDs for filtering treaty searches | Returns list of government organisations with IDs |
| get_treaty_series_membershipsA | Get treaty series types | treaty categories, Country series, EU series | Use to understand treaty classification categories | Returns list of treaty series types |
| get_treatyA | Get treaty details | international agreement, treaty, diplomatic | Get full details of a specific treaty | Returns treaty details including status, dates, parties |
| get_treaty_business_itemsB | Get treaty scrutiny | treaty progress, CRaG, debates, parliamentary scrutiny | Get parliamentary business items for treaty scrutiny | Returns list of business items with dates |
| search_erskine_mayA | Search Erskine May parliamentary procedure manual. Use when you need to understand parliamentary rules, procedures, or precedents. Erskine May is the authoritative guide to parliamentary procedure. See also: search_erskine_may_sections, search_erskine_may_index, get_erskine_may_paragraph. |
| get_erskine_may_partsA | List all parts of Erskine May | procedure structure, table of contents | Use to navigate the 6 major parts of parliamentary procedure | Returns list of all parts with titles and descriptions. |
| get_erskine_may_partA | Get a specific part of Erskine May | procedure structure, chapters | Use to explore chapters within a part | Returns part with title, description, and list of chapters. |
| get_erskine_may_chapterB | Get a specific chapter of Erskine May | procedure sections, chapter content | Use to explore sections within a chapter | Returns chapter with title, description, and list of sections. |
| get_erskine_may_sectionB | Get full content of an Erskine May section | procedure text, rules, precedents | Use to read the actual procedural content | Returns section with full text content and footnotes. |
| get_erskine_may_section_relativeB | Navigate to a section relative to current position | procedure navigation, next section, previous section | Use to move through sections sequentially | Returns section at offset from current section. |
| get_erskine_may_paragraphA | Look up a specific paragraph by reference number | paragraph citation, specific rule | Use when you have a paragraph reference like '4.5' | Returns the specific paragraph content. |
| browse_erskine_may_indexA | Browse the Erskine May index alphabetically | index terms, procedure topics | Use to discover topics by browsing alphabetically | Returns index terms starting with given letter. |
| get_erskine_may_index_termA | Get details of an index term | procedure topic, references | Use after browsing index to get term details | Returns index term with all paragraph references. |
| search_erskine_may_indexB | Search the Erskine May index for terms | index search, find topics | Use to find index entries by keyword | Returns matching index terms. |
| search_erskine_may_sectionsA | Search Erskine May section titles | section search, find by title | Use to find sections by title rather than content | Returns sections with matching titles. |
| search_written_questionsA | Search written parliamentary questions with comprehensive filtering | written questions, PQs, parliamentary questions, questions to ministers, government accountability | Use for researching MP activity, tracking government responses, analyzing ministerial accountability, or finding questions on specific topics | Returns questions with asking member, answering body, dates, and response status See also: get_written_question, search_written_statements, get_answering_bodies. |
| get_written_questionA | Get a specific written question by ID | written question details, PQ lookup, question by ID | Use when you have a question ID and need full details including the question text, answer, and member information | Returns complete question with asking member, answering body, question text, and answer |
| get_written_question_by_uinA | Get a written question by date and UIN (Unique Identification Number) | question by reference, UIN lookup, official question number | Use when you have a question's official UIN reference number to retrieve the full question details | Returns complete question with asking member, answering body, question text, and answer |
| search_written_statementsB | Search written ministerial statements | written statements, ministerial statements, government announcements, policy statements | Use for tracking government announcements, researching policy statements, or finding ministerial communications on specific topics | Returns statements with minister, department, dates, and statement content See also: get_written_statement, search_written_questions. |
| get_written_statementA | Get a specific written statement by ID | written statement details, statement lookup, ministerial statement by ID | Use when you have a statement ID and need full details including the statement text and minister information | Returns complete statement with minister, department, and full statement content |
| get_written_statement_by_uinA | Get a written statement by date and UIN (Unique Identification Number) | statement by reference, UIN lookup, official statement number | Use when you have a statement's official UIN reference number to retrieve the full statement details | Returns complete statement with minister, department, and full statement content |
| get_daily_reportsA | Get daily reports of written questions and answers | daily reports, question reports, answer summaries, daily digest | Use for getting overview of parliamentary question activity on specific dates or date ranges | Returns daily reports with question and answer summaries |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| parliament | Initialize UK Parliament research session with guidance on 210 available tools. Provides system instructions for parliamentary data queries, quick reference of tool categories, and guidance on common research workflows. Use this prompt to start a parliamentary research session. Optionally specify a topic to get detailed guidance for that domain. Args: topic: Optional topic for detailed guidance (members, bills, votes, committees, hansard, questions, interests, live, legislation, procedures, all, conventions, workflows) |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| conventions_resource | UK Parliament API conventions: house IDs, date formats, pagination, naming. |
| houses_resource | House of Commons and House of Lords reference data. |
| tools_summary_resource | Quick reference of all available Parliament MCP tools. |
| member_types_resource | MP vs Lord member type reference data. |
| parties_resource | Active political parties in both houses (cached, refreshes every 15 min). |
| bill_types_resource | Bill type reference list (cached, refreshes every 15 min). |
| bill_stages_resource | Legislative stage reference list (cached, refreshes every 15 min). |
TDQS
Scored across 210 tools
There is heavy functional overlap across the 210 tools: get_member_voting, get_commons_voting_record_for_member, get_lords_voting_record_for_member, check_mp_vote, and search_commons_divisions all retrieve voting records; get_departments and get_answering_bodies appear to do the same thing; get_sitting_dates vs get_hansard_calendar vs search_calendar; get_constituency_latest_election vs get_constituency_election_result vs get_election_results_for_constituency. Agents will struggle to choose the right tool, especially between the many 'summary' aggregators and their base components.
Mostly snake_case with verb_noun prefixes (get_, search_, list_, browse_), but there are significant deviations: 'happening_now_in_commons', 'order_order', 'parties_list_by_house' (noun_verb), 'bill_types'/'bill_stages' (bare nouns), 'interests_categories'. The mix of get_/search_/list_/browse_/bare-noun is readable but not predictable.
210 tools is an extreme mismatch for even a large domain like UK Parliament. The surface includes redundant peers (get_member_portrait_url vs get_member_thumbnail_url, many RSS variants, many 'by_id' lookups), which forces the agent to navigate an enormous catalog. This clearly exceeds any reasonable MCP tool count.
Coverage is remarkably comprehensive: members, bills, committees, Hansard, divisions, interests, EDMs, SIs, treaties, Erskine May procedure, calendar, written questions/statements. CRUD-style read coverage of the parliamentary domain is near-total, though there are notable redundancies rather than true gaps, and the server is purely read-only (which fits the public data domain).