
BAILII UK Case Law
io.github.paulieb89Published by GitHub account paulieb89v1.0.1Updated Oct 24, 2026
Search UK case law on BAILII — court judgments with section extraction. Runs locally.
Overview
Lets an assistant search UK case law on BAILII and retrieve judgments with automatic section extraction, running locally.
- What you can do
- Provides three tools: bailii_search for full-text search across all BAILII courts returning titles, citations and links; bailii_get_judgment for retrieving judgment text; and bailii_list_courts for listing available UK courts such as UKSC, EWCA, EWHC, UKUT and EAT. Judgments are large, so retrieval defaults to summary plus conclusions (about 5000 characters), with options to pull a specific section or the full text. Detected sections include summary, conclusions, held, discussion and background.
- When to use it
- Useful for targeted UK legal research where BAILII coverage matters, such as employment tribunal decisions, older cases not yet in other databases, or specific tribunals with better BAILII indexing. It is intended for targeted research rather than bulk collection.
- Requirements
- Runs as a local process on the user's machine; desktop only. Requires Python 3.10+ and can be run directly with uvx from PyPI or installed with pip. No authentication, environment variables or headers are declared. Network access to BAILII is needed, and it must run on a residential IP because BAILII blocks cloud and datacenter requests.
Installation
In SourceWeft
- Open BAILII UK Case Law in the dashboard and add it to a workspace.
- 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
BAILII MCP Server
Search UK case law on BAILII. Retrieve judgments with automatic section extraction (summary, conclusions, discussion, background). Runs locally — BAILII blocks cloud IPs.
Install
Using uv (recommended)
No install needed — uvx runs it directly from PyPI:
Using pip
Requires Python 3.10+.
Configuration
Claude Desktop
Add to your claude_desktop_config.json:
Claude Code
VS Code
Add to .vscode/settings.json or use the MCP panel:
Using pip instead of uvx
If you installed via pip install bailii-mcp, use "command": "bailii-mcp" and "args": [] instead.
From source
What You Can Ask
Once connected, just ask Claude naturally:
- "Search BAILII for cases about HMO licensing"
- "Find recent whistleblowing employment tribunal cases"
- "Get the summary of Chinn v Hoilund-Carlsen"
- "What did the court hold in that case?"
- "Show me the discussion section"
Tools
Section Extraction
Judgments are large (30-100KB). By default, only the summary and conclusions are returned. Ask for more if you need it:
- Default: summary + conclusions (5000 chars)
- Specific section: "show me the discussion" → pulls just that section
- Full text: "get the complete judgment" → returns everything
Sections detected: summary, conclusions, held, discussion, background
Why Local?
BAILII blocks requests from cloud servers and datacenters. This server runs on your machine, so requests go through your residential IP.
For case law that doesn't need BAILII specifically, uk-legal-mcp provides case law via the National Archives API — hosted on Fly.io, no local setup needed.
This BAILII server is useful when you need:
- Employment tribunal decisions (EAT coverage is stronger on BAILII)
- Older cases not yet in the TNA database
- Specific tribunals with better BAILII indexing
Notes
- BAILII terms prohibit bulk downloading — use for targeted research only
- Be reasonable with request rate
- Section extraction depends on judgment formatting — not all judgments have clear section headers
Licence
Apache 2.0
Author
Paul Boucherat — building MCP servers for UK property, legal, and project controls.
Source: README.md at commit b1b9f51
Tools
0Version history
1- v1.0.1LatestSep 16, 2026
Score
40% 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
Declare a license in the repository or the registry entry.