Scottish Courts and Tribunals Service (SCTS) — judgment search.
MCPpedia last refreshed this data
io.github.pipeworx-io/scotcourts is an MCP server that scottish Courts and Tribunals Service (SCTS) — judgment search. Its tool list has not been published yet over http, requires no API key, and scores 82/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"scotcourts": {
"url": "https://gateway.pipeworx.io/scotcourts/mcp"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Scottish Courts and Tribunals Service (SCTS) — judgment search.
This server supports HTTP transport. Be the first to test it - help the community know if it works.
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked @pipeworx/mcp-scotcourts against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in other
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
SQL for Android APK and DEX files: classes, methods, strings, references and smali.
MCP WordPress Remote proxy server
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
MCP Security Weekly
Get CVE alerts and security updates for io.github.pipeworx-io/scotcourts and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Scottish court and tribunal judgment search — Court of Session, High Court of Justiciary, the National Personal Injury Court, Sheriff Appeal Courts, Sheriff Court civil/criminal, and the Scottish Upper Tribunal chambers, from the Scottish Courts and Tribunals Service (SCTS), published from 1999 onward.
Part of Pipeworx — an MCP gateway connecting AI agents to 1683+ live data sources.
search_scottish_judgments(query?, court?, from_date?, to_date?, page?, limit?)
— searches the judgment index; returns title, court, judges, date and a
document_link to the PDF, plus the true corpus match count.get_scottish_judgment(document_link?, query?) — resolves a judgment
document_link (or looks one up by case name/query first) and confirms the
PDF is actually reachable: HTTP status, content-type, size. Does not
extract PDF text — SCTS judgments are PDF-only and no PDF-text-extraction
dependency exists anywhere in this catalog; text_extracted: false is
always returned alongside pdf_url.Keyless. No API key, no cookie, no bearer token — verified live with a plain
curl (no browser session) against api.pa.web.scotcourts.gov.uk/web/search.
https://api.pa.web.scotcourts.gov.uk/web/search (POST, JSON) — the
judgment search index behind the client-rendered SPA at
scotcourts.gov.uk/judgments/#/. Do not use
scotcourts.gov.uk/search-results/?filterType=Judgments — that is the
generic sitewide search (server-rendered HTML) and returns news articles and
hearing/livestream pages mixed in with real judgments; it was ruled out as a
dead end for this pack (fleet #2259).https://www.scotcourts.gov.uk<documentLink> — the judgment PDF itself.
documentLink in the API response is relative; resolve it against this
host./judgments/ itself
(/apps/scts-web-apps.min.js) is shared site-wide chrome and does not
contain the judgments app's own logic — it is loaded dynamically at
runtime, so the request shape was captured by driving the live page with
devtools/a monkey-patched window.fetch, not by reading a static bundle.filters shape (proven live, both in-browser and via a bare curl):
{"field":"Court","value":"<exact dropdown string>"} — values are
NOT guessable from a court's common name (e.g. the dropdown says "Court of
Session", not "Court of Session (Outer House)"). The full list is in
COURTS in src/index.ts.{"field":"AdditionalDate","value":"<from>|<to>"} — either
side of the pipe may be blank for an open-ended range ("2020-01-01|" =
from-only, "|2020-01-01" = to-only). Both forms verified live.Court value does not error — it returns HTTP 200
with results: [] and pagination.count.total: 0, which reads exactly
like "no such judgments" if not caught. This pack validates court
against the known list before sending the filter.pagination.count.total is the true corpus match count; results.length
is capped by the limit sent in the request. Surface total, never
results.length, as "how many judgments matched."@pipeworx/uk-caselaw).Add to your MCP cli