parliament_vibe_check
Assess the likely parliamentary reception of a policy proposal.
Searches Hansard for relevant debate contributions, then uses LLM sampling
to classify sentiment and extract supporters, opponents, and key concerns.
Degrades gracefully if sampling is unavailable — returns contributions only.
Args:
params: PolicyVibeInput with policy_text (full description) and topic (search keyword).
parliament_find_member
Search for a current or former MP or Lord by name.
Returns all members matching the name query, each with the integer
`id` required by parliament_member_debates and parliament_member_interests,
plus party, constituency, house, and current-sitting status.
Args:
params: FindMemberInput with the name (full or partial).
parliament_member_debates
Retrieve Hansard contributions by a specific member, optionally filtered by topic.
Use parliament_find_member first to obtain the integer member ID. Each
contribution's text field is capped at 3000 characters.
Args:
params: MemberDebatesInput with member_id and optional topic filter.
parliament_member_interests
Look up registered financial interests for a member of Parliament.
Returns ONE PAGE of interests (default 20, caller controls via limit).
For prolific members (big donors, many directorships, extensive land
holdings), re-call with offset=offset+returned while has_more is true
to paginate. Description text is capped per max_description_chars;
raise it for forensic provenance work that needs the full narrative.
Use parliament_find_member first to obtain the integer member_id.
Args:
params: member_id, optional category filter, pagination (offset/limit),
and max_description_chars content cap.
parliament_search_petitions
Search UK Parliament petitions by keyword.
Returns petition title, state, signature count, and dates for government response
or parliamentary debate if applicable.
Args:
params: PetitionSearchInput with query and optional state filter.
bills_search_bills
Search UK parliamentary bills by keyword, session, house, or legislative stage.
Returns a paginated page of bill summaries including title, current stage, and
whether it has become an Act. Use bills_get_bill with the bill ID for full detail.
Args:
params: BillSearchInput with query, optional session/house/stage filters, pagination.
bills_get_bill
Get full detail for a specific parliamentary bill.
Returns sponsors, current stage, long title, summary, and Royal Assent date
if enacted. Summary text is capped per max_summary_chars — check
summary_truncated in the response to see if it was cut.
Args:
params: BillDetailInput with bill_id and optional max_summary_chars.
votes_search_divisions
Search parliamentary divisions (votes) in the Commons or Lords.
Returns division summaries including title, date, vote counts, and whether the motion passed.
Use votes_get_division with the division ID for full voter lists.
Args:
params: DivisionSearchInput with optional query, house, date range, member filter.
votes_get_division
Get full detail for a parliamentary division including how each member voted.
Voter lists are truncated to 100 per side to fit response limits.
Total voter counts are always accurate regardless of truncation.
Args:
params: DivisionDetailInput with division_id and house.
committees_search_committees
Search or list UK parliamentary select committees.
Returns committee names, house, and active status.
Use committees_get_committee with the committee ID for membership detail.
Args:
params: CommitteeSearchInput with optional query, house, active_only, limit.
committees_get_committee
Get detail for a parliamentary committee including current membership.
Fetches committee metadata and member list in parallel.
Args:
params: CommitteeDetailInput with committee_id from committees_search_committees.
committees_search_evidence
Search oral and written evidence submitted to a parliamentary committee.
Returns ONE PAGE of evidence (default 20). Free-text titles are capped
per max_title_chars; witness lists are capped at 10 per item. For
committees with many submissions, re-call with offset=offset+returned
while has_more is true.
Args:
params: CommitteeEvidenceInput with committee_id, evidence_type,
offset/limit pagination, and max_title_chars.
citations_parse
Extract and classify all OSCOLA legal citations from free text.
Identifies: neutral citations ([2024] UKSC 12), law reports ([2024] 1 WLR 100),
legislation sections (s.47 Companies Act 2006), SIs (SI 2018/1234),
and retained EU law (Regulation (EU) 2016/679).
Ambiguous citations (e.g. bare [2024] EWHC without division) are optionally
disambiguated via LLM sampling. Resolves citations to TNA / legislation.gov.uk URLs.
Args:
params: CitationsParseInput with text (max 50,000 chars) and disambiguate flag.
citations_resolve
Parse and resolve a single OSCOLA citation to its canonical URL.
Supports: neutral citations, SIs, legislation sections, retained EU law.
Returns parsed fields and resolved_url if resolvable. Raises ValueError
if no recognised citation is found in the input.
Args:
params: CitationsResolveInput with a single citation string.
citations_network
Map all citations within a judgment — cases cited, legislation referenced, SIs, EU law.
Fetches the judgment XML from TNA and parses all OSCOLA citations within it.
Returns citations grouped by type for easy analysis. Each bucket is
de-duplicated and sorted.
Args:
params: CitationsNetworkInput with case_uri (TNA slug, e.g. 'uksc/2024/12').
hmrc_get_vat_rate
Look up the UK VAT rate for a commodity or service type.
Returns the rate category (standard 20%, reduced 5%, zero 0%, exempt),
effective date, and any relevant conditions or exceptions.
Uses a static lookup table current as of 22 Nov 2023 (Autumn Statement).
Rates may have changed — always verify against GOV.UK for recent Budgets.
Args:
params: HMRCVATRateInput with the commodity_code (description of goods or service).
hmrc_check_mtd_status
Check a business's Making Tax Digital VAT mandate status via the HMRC API.
NOTE: Connects to the HMRC sandbox by default. Set HMRC_API_BASE env var to
'https://api.service.hmrc.gov.uk' for production.
Requires HMRC_CLIENT_ID and HMRC_CLIENT_SECRET environment variables (OAuth 2.0).
Returns whether the business is mandated for MTD, effective date, and trading name.
Args:
params: HMRCMTDStatusInput with the 9-digit VAT Registration Number.
hmrc_search_guidance
Search GOV.UK for HMRC tax guidance documents.
Returns matching guidance titles, URLs, summaries, and last-updated dates.
Searches the official GOV.UK content API filtered to HMRC publications.
Args:
params: HMRCGuidanceSearchInput with query (topic to search).