Skip to content
Back to search
100
MCP live MCP 2025-11-25 streamable-http

UK Legal Research

io.github.paulieb89/uk-legal-mcp

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

Uptime
100.0%
1 direct probes · 30d
Response
592ms
last probe
Tools
35
callable
Resources
1
readable
Prompts
4
available

Tools · 35

judgment_get_header

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 judgment_get_index to d…

judgment_get_index

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 calling, pass an eId fr…

judgment_get_paragraph

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_judgment to locate par…

case_law_search

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 TNA URI. AFTER call…

case_law_grep_judgment

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 centred on the matc…

legislation_search

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_steps hints (toc URI…

legislation_get_section

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-force status, and pro…

legislation_get_toc

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.g. 'section-47: Def…

parliament_search_hansard

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, debate_ext_id, contribu…

parliament_policy_position_summary

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 signals on a topic.…

parliament_find_member

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, and current-sitting …

parliament_member_debates

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 to obtain the intege…

parliament_member_interests

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 the integer member_id.…

parliament_search_petitions

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 if applicable. Filt…

parliament_get_debate_divisions

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, urgent questions, deb…

parliament_get_debate_contributions

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" regardless of vocabulary —…

parliament_lookup_by_column

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, read the contribution…

bills_search_bills

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 became an Act). AFTE…

bills_get_bill

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. Summary text is cappe…

votes_search_divisions

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 division_id + house into vo…

votes_get_division

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 counts are always acc…

committees_search_committees

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 calling, pass committe…

committees_get_committee

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_ev…

committees_search_evidence

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_title_chars; witness …

citations_parse

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] UKSC 12), law repor…

citations_resolve

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 citation, SI, legislati…

citations_network

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 and parses all OSCOL…

citations_format_oscola

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. Formats per OSCOLA 4th e…

hmrc_get_vat_rate

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 any relevant condit…

hmrc_check_mtd_status

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, effective date, and tra…

hmrc_search_guidance

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 dates. Searches the …

list_prompts

List all available prompts. Returns JSON with prompt metadata including name, description, and optional arguments.

get_prompt

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.

list_resources

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 placeholders like {name…

read_resource

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 as a string. Binary…

Resources · 1

About this server

Provenance, upstream APIs, and operational posture.

server://about

Prompts · 4

legislation_summarise_act

Summarise a UK Act of Parliament or Statutory Instrument. Produces a structured legal summary covering purpose, key definitions, operative provisions, territorial extent, and commencement status.

legislation_compare_legislation

Compare two pieces of UK legislation on a specific topic. Useful for comparing original Act vs amending SI, or equivalent provisions across jurisdictions (e.g. England vs Scotland).

parliament_policy_reception_review

Review how a policy topic is being received in Parliament, with citable evidence. Orchestrates the deterministic parliament_* tools and hansard:// resources. Does NOT label named members as 'supporte…

parliament_member_record_on_topic

Assemble the citable record of a parliamentarian's contributions on a topic. Returns their own words, in their own context, with citation metadata. Does not classify their position — that is the call…

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "uk_legal_research": {
      "url": "https://uk-legal-mcp.fly.dev/mcp",
      "transport": "streamable-http"
    }
  }
}