Gb Eli Mcp

io.github.matematicsolutionsPublished by GitHub account matematicsolutionsv0.5.3Updated Oct 24, 2026

MCP server for UK legislation, case law (Find Case Law), GOV.UK tribunal decisions and HMRC manuals.

Overview

AI-generated overview

Lets an assistant search and retrieve UK legislation, case law, GOV.UK tribunal decisions and HMRC manuals with verifiable citations.

What you can do
Provides eight read-only tools over public UK legal sources. gb_search, gb_get_act, gb_get_text and gb_recent_legislation cover legislation.gov.uk (Acts, Statutory Instruments, and Scottish, Welsh and Northern Irish instruments). gb_search_case_law and gb_get_case query The National Archives' Find Case Law. gb_search_govuk and gb_get_govuk_content cover GOV.UK documents such as tribunal decisions and HMRC manual sections, and gb_coverage declares what is and is not covered. Responses carry a stable identifier URI, a human-readable citation and a source_url.
When to use it
Useful when an assistant needs to look up UK statutes or instruments, find or fetch judgments, or pull GOV.UK tribunal decisions and HMRC manual text, and when answers should cite checkable public sources. It is aimed at legal, compliance and research lookups rather than general web search.
Requirements
Runs locally as a Python package (PyPI gb-eli-mcp, typically via uvx, or installed with pip and run as a module). Needs Python and network access to legislation.gov.uk, caselaw.nationalarchives.gov.uk and www.gov.uk. No API key or account is required. Optional environment variables set base URLs, a cache directory and an audit directory.
Before you install
Read-only against public sources, but every tool call is appended to a local audit log and search parameters leave the machine. On first use it may fetch a small configuration file from the project's GitHub Releases; GB_ELI_RUNTIME_URL="" disables this. Content is under the Open Government Licence v3.0 and requires attribution. On Windows 11, Smart App Control can block the uvx, pip and launcher executables.

Installation

In SourceWeft

  1. Open Gb Eli Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

gb-eli-mcp

An MCP server for legislation.gov.uk, The National Archives' official portal for United Kingdom legislation. It searches and retrieves Acts of Parliament, UK Statutory Instruments, and the equivalent instruments of the Scottish Parliament, Senedd Cymru/Welsh Parliament and Northern Ireland Assembly, with persistent identifiers and verifiable citations.

Part of the MateMatic eu-legal-mcp production line: the UK counterpart of the Polish sejm-eli-mcp and the German de-eli-mcp, built on the same architecture and citation contract against the UK's own source.

No native ELI. legislation.gov.uk does not publish a native /eli/ namespace (confirmed live: GET /eli/ukpga/2018/12 returns 404), even though its own persistent-identifier scheme predates and is closely related to ELI - the UK is widely credited with pioneering the URI-based legislation-identifier concept that ELI later formalised EU-wide. eli_uri therefore carries the UK's own stable id URI (https://www.legislation.gov.uk/id/{type}/{year}/{number}) instead of a fabricated ELI path - the same disclosure pattern used by this factory's nl-eli-mcp and se-eli-mcp. See CONSTITUTION.md Art. 4.

Licence. Content is published under the Open Government Licence v3.0 (confirmed live from the site's own /help page), which permits copying, publishing and adapting with attribution. This connector only relays that public content, with a source_url on every response.

The nine tools

ToolWhat it does
gb_searchSearch legislation by text, doc type and year (/all/data.feed or /{doc_type}/data.feed).
gb_get_actFetch act/instrument metadata by reference (e.g. ukpga/2018/12).
gb_get_textFetch the full text (xml, html, akn/Akoma Ntoso, rdf, pdf, csv).
gb_recent_legislationLegislation published since a date, newest-first, optionally by doc type.
gb_search_case_lawSearch UK judgments via The National Archives' Find Case Law Atom feed, by text, court, and date range.
gb_get_caseFetch a judgment by neutral citation, Find Case Law URI/path, or opaque id - returns Akoma Ntoso XML, or a PDF link fallback.
gb_search_govukSearch GOV.UK documents via the keyless Search API - employment/tax/property tribunal decisions, HMRC internal manuals, CMA cases - with server-side date filters and real totals.
gb_get_govuk_contentFetch one GOV.UK document via the Content API - tribunal decisions return the judgment PDF link, HMRC manual sections return the full text.
gb_coverageDeclare what this connector covers, when each family was captured, and - explicitly - what it does NOT cover. Every gap carries a fallback.

GOV.UK coverage (added v0.3.0, feature-003)

One upstream, many institutions: gb_search_govuk filters by document_type. Live-verified totals (2026-07-07, from the Search API's own total/facet fields - probe: https://www.gov.uk/api/search.json?count=0&facet_content_store_document_type=1000):

document_typeDocuments
employment_tribunal_decision132,162
hmrc_manual_section85,315
residential_property_tribunal_decision17,088
employment_appeal_tribunal_decision2,571
cma_case2,565
utaac_decision (Upper Tribunal, AAC)2,031
tax_tribunal_decision1,414
asylum_support_decision101

See SOURCES.md for the full per-source ledger, including what was scouted and deliberately rejected (ICO, FCA, IAC) and why.

Every response carries the contract: eli_uri (e.g. https://www.legislation.gov.uk/id/ukpga/2018/12), human_readable_citation (e.g. Data Protection Act 2018 c. 12), and source_url. Case-law responses carry the same-spirit contract (human_readable_citation, source_url, dataset_note) - see CONSTITUTION.md Art. 5.

Install

As a Claude plugin (Claude Code or the desktop app, needs uv); see plugin/README.md for what it sends and stores:

/plugin marketplace add matematicsolutions/gb-eli-mcp/plugin install gb-eli-mcp@gb-eli-mcp

As a standalone server, from PyPI (uvx gb-eli-mcp), or from source:

bash
cd gb-eli-mcppip install -e .

Configure (Claude Code / any MCP client)

Copy .mcp.json.example and adjust if needed:

json
{  "mcpServers": {    "gb-eli-mcp": { "command": "gb-eli-mcp" }  }}

Windows 11 with Smart App Control

Smart App Control blocks unsigned executables, which covers uvx.exe, pip.exe and the gb-eli-mcp.exe launcher that pip writes at install time. The python.exe and py.exe from the python.org installer are signed by the Python Software Foundation, so running the module through the interpreter works:

bash
python -m pip install gb-eli-mcppython -m gb_eli_mcp

pip.exe is blocked for the same reason, so install with python -m pip, not pip install. If python is not on PATH, use the Windows launcher: py -3 -m gb_eli_mcp.

json
{ "mcpServers": { "gb-eli-mcp": { "command": "python", "args": ["-m", "gb_eli_mcp"] } } }

Do not turn Smart App Control off to work around this - it cannot be re-enabled without reinstalling Windows.

Environment:

  • GB_ELI_BASE_URL - default https://www.legislation.gov.uk
  • GB_ELI_CASELAW_BASE_URL - default https://caselaw.nationalarchives.gov.uk
  • GB_ELI_GOVUK_BASE_URL - default https://www.gov.uk
  • GB_ELI_CACHE_DIR - default ~/.matematic/cache/gb-eli
  • GB_ELI_AUDIT_DIR - default ~/.matematic/audit

No API key. legislation.gov.uk is keyless.

Governance

  • Public data only - read-only against legislation.gov.uk, Find Case Law and GOV.UK; no client data leaves the machine beyond search parameters.
  • Audit log - every tool call appends one JSON line to ~/.matematic/audit/gb-eli-mcp.jsonl.
  • Network - the server talks to legislation.gov.uk, caselaw.nationalarchives.gov.uk, www.gov.uk and the local filesystem. Once, on first use, it also fetches a small configuration file (gb-runtime.json.gz, updated source addresses) from this repository's GitHub Releases. That request carries no query content; GitHub's download counter for the file is the only usage signal we see. GB_ELI_RUNTIME_URL="" turns it off; the Claude plugin ships with it off. No LLM provider, no other telemetry.
  • Verifiable citations - every response is independently checkable via source_url.

See CONSTITUTION.md (the binding rules) and DISCOVERY.md (the live API probe).

Tests

bash
pip install -e ".[dev]"pytest tests/test_instructions_drift.py -v   # offlinepytest tests/test_citations_case_law.py -v   # offlinepytest tests/test_citations_govuk.py -v      # offlinepytest tests/test_smoke.py -v                # hits live legislation.gov.ukpytest tests/test_smoke_case_law.py -v       # hits live caselaw.nationalarchives.gov.ukpytest tests/test_smoke_govuk.py -v          # hits live www.gov.uk

Licence

Apache-2.0. (c) Matematic Solutions / Wieslaw Mazur.

Note: the code in this repository is Apache-2.0. The legislation content fetched at runtime from legislation.gov.uk remains Crown copyright, published under the Open Government Licence v3.0 - not relicensed by this project.

Source: README.md at commit 6f77dc1

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.5.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts