Search UK case law, legislation, Hansard debates, bills, votes, committees, and tax guidance with citation support.
Access UK court judgments from TNA, Acts and Statutory Instruments, parliamentary Hansard debates and divisions, bills and their status, select committee evidence, HMRC VAT guidance, and OSCOLA citation parsing and formatting for legal research and document drafting.
Try asking Muse: "Find recent Court of Appeal decisions on negligence and duty of care, then retrieve the full text of a specific judgment and check what cases it cites."
Source: Found in the official MCP Registry (io.github.paulieb89/uk-legal-mcp) · First listed September 24, 2026
Each bar is one check, every 15 minutes. Green means it answered. Last checked 2 min ago.
What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.
Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.
musedirectory.ai is not part of Meta. More about how Muse handles your information
Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.
https://uk-legal-mcp.fly.dev/mcpNot in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
UK Legal Research is a remote MCP server, so any assistant that can add a custom connector by link can use it. Same link, same tools.
In ChatGPT, open Settings, then Connectors (called Apps & Connectors on some accounts).
Under Advanced settings, switch on Developer mode. That is what lets you add a connector by link.
Choose Create, give it a name, paste the link as the MCP server URL, and save. If it needs a sign-in, ChatGPT asks for it here.
Start a chat, open the tools menu, pick the connector, and ask. ChatGPT asks before it runs a tool the first time.
Custom connectors need a paid ChatGPT plan, and on Team, Enterprise and Edu accounts only an admin can add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in ChatGPT
In Claude, open Settings, then Connectors.
Choose Add custom connector, give it a name, and paste the link.
If it needs a sign-in, Claude sends you to it. Then turn the connector on in a chat from the tools menu and ask.
Custom connectors are available on paid Claude plans; on Team and Enterprise accounts an admin may need to add them. Our "Working" label means the server answered us; it cannot tell whether your plan lets you add it. All connectors that work in Claude
https://uk-legal-mcp.fly.dev/mcpResponse time at the last check: 134ms. Worked in 96.3% of checks over 30 days.
Screened, no issues found
Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.
judgment_get_headerUSE 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 discover paragraphs, then judgment_get_paragraph to read specific ones. Authoritatjudgment_get_indexUSE 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 from the returned list into judgment_get_paragraph to read that paragraph's full tejudgment_get_paragraphUSE 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 paragraphs by content). Returns the paragraph XML content (400–1,700 tokens typical)case_law_searchUSE 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 calling: pass slug into judgment_get_header / judgment_get_index / judgment_get_paragcase_law_grep_judgmentUSE 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 match. AFTER calling, read full paragraphs via judgment_get_paragraph(slug, eId) or tlegislation_searchUSE 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, section template). AFTER calling, chain to legislation_get_toc then legislationlegislation_get_sectionUSE THIS TOOL WHEN you have a known Act / SI and want the parsed text of a specific section, regulation, or article, with extent and in-force metadata. Returns the provision's own text and heading, never a neighbouring Part/Chapter. Also returns extent, in-force/prospective data,legislation_get_tocUSE THIS TOOL WHEN you have a known Act / SI and want the structural table of contents (parts, chapters, individual sections/regulations/articles). Returns XML ids and titles in document order, including Parts, chapters, crossheadings, and provisions; a rare untitled provision isparliament_search_hansardUSE THIS TOOL WHEN searching Hansard by topic, bill title, or text phrase. Returns source-backed contributions with citation-grade metadata: member_id, attributed_to, column_ref, debate_id, debate_ext_id, contribution_ext_id, and public URL. The independent corpus envelope is optparliament_policy_position_summaryUSE 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. Pure counts — no LLM, no editorial labels. Sweeps /search/Debates.json with pagiparliament_find_memberUSE 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 status. Disambiguates common-name matches (e.g. "Lord Smith" returns multiple peeparliament_member_debatesUSE 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 integer member_id. This is a name-based text-body search — it matches contributions whoparliament_member_interestsUSE 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. Returns ONE PAGE of interests (default 20, caller controls via limit). For proliparliament_search_petitionsUSE 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. Filter by state (open, closed, debated, etc.) to narrow to live or historical petitioparliament_get_debate_divisionsUSE 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, debates without a vote. A populated list typically appears around bill stages, motioparliament_get_debate_contributionsUSE 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 — text-search tools (parliament_member_debates, parliament_search_hansard) filter parliament_lookup_by_columnUSE 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 at the cited column via read_resource(uri="hansard://debate/{debate_ext_id}/headbills_search_billsUSE THIS TOOL WHEN searching UK parliamentary bills by keyword, session, house, or legislative stage. Returns a paginated page of bill summaries (title, originating and current house, current stage, whether it became an Act). AFTER calling, pass a bill_id into bills_get_bill for bills_get_billUSE 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 capped per max_summary_chars — check summary_truncated in the response. AFTER calling,votes_search_divisionsUSE THIS TOOL WHEN searching Commons or Lords formal votes by topic, date, or member. Returns one page of division summaries (title, date, vote counts, pass/fail) plus `total`, the source's count of all matching divisions. While `has_more` is true, re-call with offset=offset+retuvotes_get_divisionUSE 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 accurate regardless of truncation. Chain from votes_search_divisions or parliament_gcommittees_search_committeesUSE 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 committee_id into committees_get_committee for current membership, or into committees_seacommittees_get_committeeUSE 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_evidence to see what evidence has been submitted to this committee on what topics.committees_search_businessesUSE THIS TOOL WHEN identifying a committee inquiry or business before evidence retrieval. Returns official business IDs, titles, types, dates, and report/status metadata. AFTER calling, use an exact ID as committee_business_id in committees_search_evidence. Source: UK Parliament committees_search_evidenceUSE THIS TOOL WHEN retrieving committee evidence, especially for an identified inquiry. Returns ONE PAGE of evidence (default 20) plus `total`, the source's count of matching items. evidence_type='both' lists all oral evidence first, then all written evidence, each newest-publishcitations_parseUSE 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 reports ([2024] 1 WLR 100), legislation sections (s.47 Companies Act 2006), SIs (SI 20citations_resolveUSE 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, legislation section, retained EU law) and returns parsed fields plus resolved_url. For neucitations_networkUSE 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 OSCOLA citations within. Returns citations grouped by type, deduplicated and sorted. Acitations_format_oscolaUSE 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 edition rules for each citation type. Refuses (status: upstream_validation) if conhmrc_get_vat_rateUSE THIS TOOL WHEN you know the UK VAT category name for a good or service and want its VAT treatment. Exact named-category lookup, not a free-text VAT classifier or tax advice. The query must equal a category name, ignoring only case, spacing, hyphens and apostrophe style. Extrahmrc_check_mtd_statusUSE 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 trading name. Connects to the HMRC sandbox by default. Set HMRC_API_BASE to 'https:/hmrc_search_guidanceUSE THIS TOOL WHEN discovering HMRC GOV.UK guidance on a topic. Returns official-search titles, URLs, descriptions, and published dates; descriptions do not establish the contents of a cited page. AFTER calling, use hmrc_get_manual_page when a result is an HMRC internal-manual URhmrc_get_manual_pageUSE THIS TOOL WHEN a cited HMRC internal-manual page must be read. Returns bounded source-order text, canonical URL, manual reference, source metadata, and retrieval provenance. AFTER calling, cite or analyse only returned text; if retrieval fails, do not infer the page's contentlist_promptsList all available prompts. Returns JSON with prompt metadata including name, description, and optional arguments.get_promptGet 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_resourcesList 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_resourceRead a registered server resource URI, not an ordinary web URL. USE WHEN you have a judgment://, legislation://, hansard://, or server:// URI returned by this server. Do not use for https:// URLs; use the source-specific tool instead (for a canonical GOV.UK HMRC internal-manual Uhttps://uk-legal-mcp.fly.dev/mcpNot in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use UK Legal Research to help me. It is a free service with an MCP server at https://uk-legal-mcp.fly.dev/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.
At the last check (November 13, 2026, 19:00 UTC) the endpoint was working, answering in 134ms. Over the last 7 days it answered 100% of health checks. It is checked every 15 minutes.
It was screened on September 24, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.
It exposes 37 tools, including judgment_get_header, judgment_get_index, judgment_get_paragraph, case_law_search. For example, you could ask Muse: "Find recent Court of Appeal decisions on negligence and duty of care, then retrieve the full text of a specific judgment and check what cases it cites."
This listing was added from public sources (Found in the official MCP Registry (io.github.paulieb89/uk-legal-mcp)). If you build UK Legal Research, claim it to correct the details and get your badge.
Paste this on your site or README. It always shows the latest check.
<a href="https://musedirectory.ai/connector/uk-legal-research"><img src="https://musedirectory.ai/badge/uk-legal-research.svg" alt="UK Legal Research on musedirectory.ai" width="236" height="40"></a>