mcpserver.lol
registry/uk-legal-mcp
Connection check verified live · 27h ago

uk-legal-mcp

UK legal research — case law, legislation, Hansard, bills, votes, committees, HMRC, citations

Tools 35
GitHub stars 14
Installs / wk
Licence MIT
Transport streamable-http, stdio
Last checked 27h ago

Tools & capabilities

35 tools

Read from the running server on 27h ago.

bills_get_bill read-only bill_id*max_summary_chars
USE THIS TOOL WHEN you have a bill_id (from bills_search_bills) and want the full detail. Returns sponsors, current stage, long title, summary, and Royal Assent date if enacted. S…
bills_search_bills read-only houselimitquery*stageoffsetsession
USE THIS TOOL WHEN searching UK parliamentary bills by keyword, session, house, or legislative stage. Returns a paginated page of bill summaries (title, current stage, whether it…
case_law_grep_judgment read-only slug*pattern*max_hitscase_insensitive
USE THIS TOOL WHEN you have a judgment slug and want to find paragraphs whose text matches a pattern. Returns a list of `{eId, snippet, match}` hits — small per-paragraph snippets…
case_law_search read-only pagecourtjudgelimitpartyquery* +2
USE THIS TOOL WHEN searching UK case law by party names, court, judge, date, or free-text query. Returns paginated judgment summaries: neutral citation, court, dates, slug, stable…
citations_format_oscola read-only rawpageyearcourtnumbervolume +8
USE THIS TOOL AFTER citations_resolve to produce the correctly formatted OSCOLA citation string. Pass the parsed fields returned by citations_resolve directly into this tool. Form…
citations_network read-only case_uri*
USE THIS TOOL WHEN you have a judgment slug and want to map every citation it makes — cases cited, legislation referenced, SIs, retained EU law. Fetches the judgment XML from TNA…
citations_parse read-only text*disambiguate
USE THIS TOOL WHEN you have free text (a memo, an email, a clause) and want every OSCOLA-style citation it contains extracted and classified. Identifies: neutral citations ([2024]…
citations_resolve read-only citation*
USE THIS TOOL BEFORE constructing an OSCOLA citation string from known fields, OR to confirm a citation points at a real document. Parses + resolves a single citation (neutral cit…
committees_get_committee read-only committee_id*
USE THIS TOOL WHEN you have a committee_id and want the metadata + current membership. Fetches committee detail and member list in parallel. AFTER calling, pass committee_id into…
committees_search_committees read-only houselimitqueryactive_only
USE THIS TOOL WHEN searching or listing UK parliamentary select committees by name, house, or active status. Returns committee summaries (name, house, active status, ID). AFTER ca…
committees_search_evidence read-only limitoffsetcommittee_id*evidence_typemax_title_chars
USE THIS TOOL WHEN you have a committee_id and want the oral and written evidence submitted to it. Returns ONE PAGE of evidence (default 20). Free-text titles are capped per max_t…
get_prompt read-only name*arguments
Get a prompt by name with optional arguments. Returns the rendered prompt as JSON with a messages array. Arguments should be provided as a dict mapping argument names to values.
hmrc_check_mtd_status read-only vrn*
USE THIS TOOL WHEN you have a 9-digit VAT Registration Number and need that business's Making Tax Digital VAT mandate status. Returns whether the business is mandated for MTD, eff…
hmrc_get_vat_rate read-only commodity_code*
USE THIS TOOL WHEN you have a UK commodity or service description and want its VAT rate category. Returns the rate (standard 20%, reduced 5%, zero 0%, exempt), effective date, and…
hmrc_search_guidance read-only limitquery*
USE THIS TOOL WHEN searching GOV.UK for HMRC tax guidance on a topic (VAT, income tax, corporation tax, etc.). Returns matching guidance titles, URLs, summaries, and last-updated…
judgment_get_header read-only slug*
USE THIS TOOL WHEN you have a judgment slug and need metadata (parties, judges, neutral citation, court, dates). Call case_law_search FIRST to get the slug. AFTER calling, use jud…
judgment_get_index read-only slug*
USE THIS TOOL WHEN you have a judgment slug and want the paragraph navigation index (eId + preview line for every paragraph). Call case_law_search FIRST to get the slug. AFTER cal…
judgment_get_paragraph read-only eId*slug*
USE THIS TOOL WHEN you have a judgment slug + LegalDocML eId and want that paragraph's full text. Call judgment_get_index FIRST to discover available eIds (or use case_law_grep_ju…
legislation_get_section read-only type*year*number*section*max_chars
USE THIS TOOL WHEN you have a known Act / SI and want the parsed text of a specific section, with extent and in-force metadata. Returns full section text, territorial extent, in-f…
legislation_get_toc read-only type*year*limitnumber*offset
USE THIS TOOL WHEN you have a known Act / SI and want the structural table of contents (parts, chapters, sections, schedules). Returns structural elements with XML id and title, e…
legislation_search read-only typeyearlimitquery*fulltext
USE THIS TOOL WHEN searching UK Acts and Statutory Instruments by title, phrase, or full-text. Returns ranked results: title, type, year, number, legislation.gov.uk URL, and next_…
list_prompts read-only
List all available prompts. Returns JSON with prompt metadata including name, description, and optional arguments.
list_resources read-only
List all available resources and resource templates. Returns JSON with resource metadata. Static resources have a 'uri' field, while templates have a 'uri_template' field with pla…
parliament_find_member read-only name*
USE THIS TOOL WHEN you have a member's name and need their integer member_id. Returns all members matching the name query, each with the integer `id`, party, constituency, house,…
parliament_get_debate_contributions read-only member_iddebate_ext_id*
USE THIS TOOL WHEN you have a debate_ext_id and want verbatim contributions, optionally filtered to one member. Canonical path for "everything a member said in this debate" regard…
parliament_get_debate_divisions read-only debate_ext_id*
USE THIS TOOL WHEN you have a debate_ext_id and want the divisions (formal votes) held within it. Most debates contain no divisions — Business of the House sittings, statements, u…
parliament_lookup_by_column read-only housecolumn_number*volume_number*
USE THIS TOOL WHEN you have an OSCOLA-style Hansard citation (column + volume + house) and need the debate. Example input: 'HL Deb 14 Oct 2025, vol 849, col 200'. AFTER calling, r…
parliament_member_debates read-only limittopicoffsetmember_id*
USE THIS TOOL WHEN you have a member_id and want contributions where THAT member used a specific topic phrase verbatim (text-body search). CALL parliament_find_member(name) FIRST…
parliament_member_interests read-only limitoffsetcategorymember_id*max_description_chars
USE THIS TOOL WHEN you have a member_id and need their registered financial interests (donations, directorships, land, gifts). CALL parliament_find_member(name) FIRST to obtain th…
parliament_policy_position_summary read-only housetopic*to_datefrom_datemax_debates_scanned
USE THIS TOOL WHEN you want debate-level corpus signals on a topic — by_house, by_year, by_section breakdowns — without reading every contribution. Aggregates Hansard debate-level…
parliament_search_hansard read-only houselimitquery*offsetto_datefrom_date +3
USE THIS TOOL WHEN searching Hansard by topic, bill title, or text phrase. Returns contributions with citation-grade metadata: member_id, attributed_to, column_ref, debate_id, deb…
parliament_search_petitions read-only limitquery*stateoffset
USE THIS TOOL WHEN searching UK Parliament petitions by keyword or topic. Returns petition title, state, signature count, and dates for government response or parliamentary debate…
read_resource read-only uri*
Read a resource by its URI. For static resources, provide the exact URI. For templated resources, provide the URI with template parameters filled in. Returns the resource content…
votes_get_division read-only housedivision_id*
USE THIS TOOL WHEN you have a division_id + house and want the full member-by-member voting record. Voter lists are truncated to 100 per side to fit response limits; total voter c…
votes_search_divisions read-only houselimitqueryoffsetto_datefrom_date +1
USE THIS TOOL WHEN searching Commons or Lords formal votes by topic, date, or member. Returns division summaries (title, date, vote counts, pass/fail). AFTER calling, pass divisio…