UK Tribunal Decisions — GOV.UK
MCP serverSearchUK first-tier tribunal decisions, GOV.UK search + content API.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use UK Tribunal Decisions — GOV.UK
Install UK Tribunal Decisions — GOV.UK
The server’s own address, for the clients that take one directly. Or connect ahel onceand every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user uk-tribunal-decisions-gov-uk 'https://gateway.pipeworx.io/uk-tribunals/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://gateway.pipeworx.io/uk-tribunals/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=uk-tribunal-decisions-gov-uk&config=eyJ1cmwiOiJodHRwczovL2dhdGV3YXkucGlwZXdvcnguaW8vdWstdHJpYnVuYWxzL21jcCJ9Open the link and Cursor adds the server at that address.
ChatGPT
https://gateway.pipeworx.io/uk-tribunals/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add uk-tribunal-decisions-gov-uk --url 'https://gateway.pipeworx.io/uk-tribunals/mcp'Run it once, then sign in with codex mcp login uk-tribunal-decisions-gov-uk if the server asks for an account.
From the project's README
As published by pipeworx-io/mcp-uk-tribunals in README.md.
First-instance and Upper Tribunal decisions published on GOV.UK: the first-tier Employment Tribunal, the Employment Appeal Tribunal, the Residential Property Tribunal, the Upper Tribunal (Administrative Appeals Chamber — social security, disability and child support appeals), and the Upper Tribunal (Tax and Chancery Chamber).
Part of Pipeworx — an MCP gateway connecting AI agents to 1679+ live data sources.
The reason this pack exists: Find Case Law (uk-caselaw) carries the
Employment Appeal Tribunal only — it has no court code for the first-tier
Employment Tribunal. So a search there for "employment tribunal decisions"
silently returns EAT appeals, and the 134,000+ first-tier ET decisions GOV.UK
actually publishes were unreachable anywhere in the catalog before this pack.
uk-caselaw remains the right pack for appeals and every other UK court.
Auth
None. Keyless GOV.UK search + content API.
Tools
| Tool | Use it when |
|---|---|
search_tribunal_decisions | You have a subject, party name or date range and know which tribunal |
get_tribunal_decision | You have a link from a search result and want the full text |
list_tribunal_categories | You want the exact category slug to filter by (not guessable from the label) |
The usual path is search_tribunal_decisions → take a result's link →
get_tribunal_decision.
The five tribunals
tribunal arg | What it is | Decisions (2026-09-18) |
|---|---|---|
employment | Employment Tribunal, first-tier | 134,136 |
employment_appeal | Employment Appeal Tribunal | 2,615 |
residential_property | Residential Property Tribunal / FTT (Property Chamber) | 18,229 |
administrative_appeals | Upper Tribunal (Administrative Appeals Chamber) | 2,079 |
tax | Upper Tribunal (Tax and Chancery Chamber) | 1,442 |
GOV.UK also publishes a generic decision content type (~13,000 items) —
deliberately not exposed here. It is teacher-misconduct panel outcomes,
medicine licence suspensions and other professional-regulator decisions, not
tribunal decisions; routing a tribunal question there would silently answer it
with the wrong kind of document.
Data shape traps worth knowing
- Full text is not published for every decision.
get_tribunal_decisionreturnstext_available: falsewhen GOV.UK has not extracted text — this is the norm for Tax and Chancery Chamber decisions, which are PDF-only.pdf_urlis always returned when a PDF exists. - The category field name is not the same across tribunals. Employment,
Employment Appeal and Administrative Appeals use a plural array
(
tribunal_decision_categories); Residential Property and Tax use a singular string (tribunal_decision_category). Filteringsearch_tribunal_decisionsbycategoryagainst the wrong field name doesn't error upstream — it just matches nothing, which reads as "no such category" rather than "wrong field". This pack routes on the right field per tribunal internally;categorytakes the same slug regardless of which field backs it. list_tribunal_categoriesreads live, off each tribunal finder page's owndetails.facetsin the GOV.UK content API — not a hardcoded list. GOV.UK adds and renames categories over time; a hardcoded list would go stale silently.
Data sources
- Search:
https://www.gov.uk/api/search.json?filter_content_store_document_type=<type> - Item:
https://www.gov.uk/api/content<link>—details.metadata.hidden_indexable_contentis the full extracted decision text where published;details.attachments[]carries the original PDF(s) onassets.publishing.service.gov.uk. - Category facets:
https://www.gov.uk/api/content/<finder-base-path>—details.facets.
Crown copyright, published under the Open Government Licence v3.0.
Caveats worth passing to a user
- England, Wales and Scotland only, as published on GOV.UK. Northern Ireland tribunals are not on this platform.
- Decisions before roughly 2017 are sparse. GOV.UK publication of tribunal decisions is not retrospectively complete — an older decision's absence means not published here, not no such decision.
- This is not a court. No Crown Court, County Court or Magistrates' Court decisions are published here — those are first-instance courts, not tribunals, and their decisions (mostly oral) are not published anywhere in this form.
- Search is over the decision text itself, so a phrase the tribunal would actually write (a party name, a case number) finds more than a legal concept it never names.
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
{
"mcpServers": {
"uk-tribunals": {
"url": "https://gateway.pipeworx.io/uk-tribunals/mcp"
}
}
}
What this endpoint actually serves
tools/list at https://gateway.pipeworx.io/uk-tribunals/mcp returns the tools in the table
above plus the shared Pipeworx meta-tools — ask_pipeworx,
discover_tools, search_within, remember/recall and the rest of the
gateway-wide set. So the tool count you see is larger than this table: a
single-pack endpoint currently lists roughly 30 shared tools alongside the
pack's own. The connection's initialize response states its exact scope, and
is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a
scoped connection answer a question this pack does not cover — via
ask_pipeworx, which routes across the whole catalog — without you adding a
second MCP server. There is currently no way to mount a pack endpoint without
them; if the extra schemas cost you more context than the routing is worth,
connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
Both URLs reach the same gateway and the same 1679+ data sources. The
only difference is which pack's tools are listed directly; ask_pipeworx
reaches all of them from either one.
No MCP client? Call it over HTTP
curl -X POST https://gateway.pipeworx.io/v1/tools/search_tribunal_decisions \
-H 'Content-Type: application/json' \
-d '{"tribunal":"employment","query":"disability discrimination","limit":3}'
No account needed for the first calls. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/search_tribunal_decisions. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.
Standalone (no gateway account)
This package also runs as a local stdio MCP server — no Pipeworx account, no gateway round-trip:
{
"mcpServers": {
"uk-tribunals": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-uk-tribunals"]
}
}
}
Or run it directly to confirm it starts:
npx -y @pipeworx/mcp-uk-tribunals
It speaks MCP over stdin/stdout and answers initialize/tools/list/tools/call
for only this pack's tools — none of the shared meta-tools the gateway
connection above adds. Same source, same tools, no ask_pipeworx routing.
Using with ask_pipeworx
Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:
ask_pipeworx({ question: "your question about Uk Tribunals data" })
The gateway picks the right tool and fills the arguments automatically.
More
License
MIT
Advanced
- Delivery
- uk-tribunals MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Catalog kind
- mcp-server
- Key
io-github-pipeworx-io-uk-tribunals- Source
- github.com/pipeworx-io/mcp-uk-tribunals
- Hosted endpoint
https://gateway.pipeworx.io/uk-tribunals/mcp