# io.github.cyanheads/uk-legislation-mcp-server (remote · uk-legislation.caseyjhand.com)

Search and read UK legislation at any date, resolve citations, list amendments, track changes.

- Trust score: 87/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `uk-legislation.caseyjhand.com`: 87/100 (this document), [markdown](https://verifymcp.io/servers/cyanheads-uk-legislation-mcp-server/uk-legislation.md), [page](https://verifymcp.io/servers/cyanheads-uk-legislation-mcp-server/uk-legislation)
- npm · `@cyanheads/uk-legislation-mcp-server`: 39/100, [markdown](https://verifymcp.io/servers/cyanheads-uk-legislation-mcp-server/cyanheads-uk-legislation-mcp-server.md), [page](https://verifymcp.io/servers/cyanheads-uk-legislation-mcp-server/cyanheads-uk-legislation-mcp-server)

## Channel facts

- Endpoint: `https://uk-legislation.caseyjhand.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.2.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 76/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2985 tokens (~426/item across 7 items; 6 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 87/100
  - Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the io.github.cyanheads/uk-legislation-mcp-server server?

io.github.cyanheads/uk-legislation-mcp-server is a hosted endpoint at https://uk-legislation.caseyjhand.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http cyanheads-uk-legislation-mcp-server 'https://uk-legislation.caseyjhand.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "cyanheads-uk-legislation-mcp-server": {
      "url": "https://uk-legislation.caseyjhand.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "cyanheads-uk-legislation-mcp-server": {
      "type": "http",
      "url": "https://uk-legislation.caseyjhand.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.cyanheads-uk-legislation-mcp-server]
url = "https://uk-legislation.caseyjhand.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cyanheads-uk-legislation-mcp-server": {
      "type": "remote",
      "url": "https://uk-legislation.caseyjhand.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add cyanheads-uk-legislation-mcp-server --url 'https://uk-legislation.caseyjhand.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  cyanheads-uk-legislation-mcp-server:
    url: "https://uk-legislation.caseyjhand.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "cyanheads-uk-legislation-mcp-server": {
      "Transport": "http",
      "Url": "https://uk-legislation.caseyjhand.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add cyanheads-uk-legislation-mcp-server -t streamable-http -u 'https://uk-legislation.caseyjhand.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "cyanheads-uk-legislation-mcp-server": {
      "type": "http",
      "url": "https://uk-legislation.caseyjhand.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 87, +1)

No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-31 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 84, +3)

- [functional improvement] Schema quality: 466 → 411
- [functional] First check of Schema quality: 100
- [functional] New resource “uk-legislation-guide”
- [functional] Server version: 0.2.0 → 0.2.1
- [functional] Server version: 0.1.3 → 0.2.0
- [cosmetic] “uklaw_get_document” reworded the description of “version”
- [cosmetic] “uklaw_get_document” reworded the description of “item”

### 2026-10-27 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-25 (score 80, +1)

- [functional] Server version: 0.1.2 → 0.1.3

### 2026-10-23 (score 79, +1)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-21 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (6)

### `uklaw_search_legislation` (~475 tokens)

Search UK legislation

Search the UK statute book on legislation.gov.uk by full text or title, or list legislation by type and year, filtered by geographical extent and point in time. Full-text search ranks by relevance; title searches and type/year listings run newest year first and carry type and year counts (facets) to narrow with. Each result gives the item path to pass to uklaw_get_document. For a known citation or short title, uklaw_lookup_citation is cheaper and exact.

Input parameters:

- `as_of` (string): Point in time YYYY-MM-DD: only legislation as it stood on that date (items not yet enacted or made are excluded). Omit for current law. Cannot combine with extent.
- `extent` (array): Geographical extent: england, wales, scotland, ni. An item matches when one of its provisions extends there. Cannot combine with as_of. legislation.gov.uk has not recorded provision-level extent for…
- `extent_match` (string): Used only with extent. applicable: a provision extends to any given extent; exact: a provision extends to exactly that set.
- `limit` (integer): Results per page (1–50).
- `page` (integer): Page number (1–10,000).
- `text` (string): Full-text query. Supports AND/OR, "quoted phrases", and stemming. Omit for a title search or a listing.
- `title` (string): Words that must all occur in the title. For a known short title or citation, uklaw_lookup_citation is exact.
- `types` (array): Type codes (ukpga, uksi, asp, eur, …) and/or groups (all, primary, secondary, eu-origin, draft). "all" covers UK and EU-origin legislation, excluding drafts, and absorbs any other value. uklaw_list_r…
- `year` (integer): Calendar year (also for pre-1963 Acts numbered by regnal year). Not combinable with year_from/year_to.
- `year_from` (integer): Earliest calendar year of a range; the other bound may be omitted.
- `year_to` (integer): Latest calendar year of a range; the other bound may be omitted.

Output parameters:

- `attribution` (array): Attribution lines the returned content requires (OGL always; EU and Westlaw credits when applicable).
- `cap` (number): Page size that capped the list.
- `error` (object): Present when the call failed. Absent on success.
- `facets` (object): Type and year counts — title searches and listings only; absent on full-text searches and on a page past the last page.
- `has_more` (boolean): True when a further page exists (call again with page + 1).
- `limit` (number): Page size applied.
- `notice` (string): Guidance when nothing matched, or how to fetch the next page.
- `page` (number): Page returned.
- `results` (array): Matching items on this page.
- `scope` (object): The scope applied, defaults included.
- `shown` (number): Results on this page.
- `total` (number): Total matches; present only when legislation.gov.uk reports it (often absent on large result sets).
- `truncated` (boolean): True when more results exist beyond this page.

### `uklaw_get_document` (~739 tokens)

Read UK legislation text

Read one item or one provision of UK legislation from legislation.gov.uk — as it stands now (revised), as enacted/made, or as it stood on a date — in Markdown, with its editorial status, annotations (the applied amendment history), the unapplied effects touching it, the versions available, and attribution. Provision-level reads are the main path; an item-level read returns the whole text only for small items and otherwise an outline of provision paths to read next. With match_text (item level), returns the provisions whose text matches. Revised text is an editorial consolidation that can lag: read editorial.caveat and unapplied_effects before relying on it, and use uklaw_get_amendments for every recorded effect on an item, applied or not.

Input parameters:

- `item` (string, required): Item path {type}/{year}/{number} — ukpga/2018/12, uksi/2019/419, eur/2016/679, ukpga/Eliz2/3-4/19 — or any legislation.gov.uk URI (a URI carrying a provision, version, or /welsh is split into those p…
- `language` (string): en, or cy for the Welsh text of Welsh legislation (asc, anaw, mwa, wsi). Omitted: cy when an item URI ends in /welsh, else en. English is returned, with a notice, when no Welsh text exists.
- `match_text` (string): Item level only (omit provision): return the outline of provisions whose text contains this term, e.g. "processor" — 100 entries per call; outline_offset reaches the rest.
- `outline_offset` (integer): Where a returned outline starts: 0 lists entries 1–100, 100 the next 100. Applies only when kind is outline (ignored when text is returned); a notice names the next offset while entries remain.
- `provision` (string): Provision path — section/45/2/f, regulation/5, article/28/3, schedule/2/paragraph/3, part/3/chapter/2, introduction — or citation shorthand (s. 45(2)(f), reg. 5, art. 28(3), Sch. 2 para. 3), normaliz…
- `version` (string): current (the latest revised text, or the original text for an item never revised), enacted (made, adopted and created are synonyms — the original text), or a date YYYY-MM-DD for the text as it stood…

Output parameters:

- `annotations` (array): Annotations referenced by the text, present when kind is full — the applied amendment history of the version served. When the text is cut, only those the kept text references.
- `attribution` (array): Attribution lines the returned content requires (OGL always; EU and Westlaw credits when applicable).
- `editorial` (object): Editorial status — read before relying on revised text.
- `error` (object): Present when the call failed. Absent on success.
- `item` (object): The item read.
- `kind` (string): full: text returned; outline: a list of provisions to read instead; pdf_only: the item is held as PDF only (see links.pdf).
- `language` (string): Language actually served (en or cy).
- `links` (object): Links to the document.
- `notice` (string): Notices: the path an item input is served at, Welsh fallback, original text served for a dated read, a later version served for a date before the earliest revised version, an omitted provision window…
- `outline` (array): Provisions to read next, present when kind is outline: up to 100 entries from outline_offset; empty when outline_offset is past the end.
- `outline_notice` (string): How to read a provision from the outline, naming one to start with; past the outline’s end, its entry count.
- `provision` (object): The provision read — present for provision-level reads.
- `text` (string): The text as Markdown, present when kind is full; amendments are wrapped as [F1 …] keyed to annotations. A provision with no smaller child provisions that renders over 40,000 characters, counting its…
- `unapplied_effects` (array): Recorded effects not yet applied to the revised text that touch this provision — whole-item effects, those on an element enclosing it (Part, Chapter, cross-heading), and when kind is full those on a…
- `version` (object): Version requested and served.

### `uklaw_get_amendments` (~530 tokens)

List amendments to or by legislation

List the effects — amendments, repeals, revocations, commencements, modifications — recorded against an item (direction affected) or made by an item (direction affecting), from legislation.gov.uk's changes feeds. Filter by the other item (counterpart), by applied status (unapplied = the outstanding work on the revised text), and by provision. item may be partial (ukpga/2018 = all effects on 2018 Acts). Each effect names both sides with provision links, in-force dates, and why it is not applied. For the applied history of one provision in prose, read its annotations with uklaw_get_document.

Input parameters:

- `counterpart` (string): Restrict to effects involving this other item (full or partial item path, without a provision, e.g. uksi/2019/419 or uksi/2026) — the amending item for direction affected, the amended item for affect…
- `cursor` (string): next_cursor from the previous call, passed with the other inputs unchanged; omit for the first page.
- `direction` (string): affected: changes made to item. affecting: changes item makes to other legislation.
- `item` (string, required): Item path or legislation.gov.uk URI (ukpga/2018/12), or a partial path: a type (uksi) or type and year (ukpga/2018). Get a full path from uklaw_lookup_citation or uklaw_search_legislation. A pre-1963…
- `limit` (integer): Effects per page, or with provision the most matches returned (1–100, default 20).
- `provision` (string): Keep only effects touching this provision of item (path or shorthand, e.g. section/45 or s. 45), including effects on the whole item. Needs a full item path. legislation.gov.uk cannot filter by provi…
- `status` (string): unapplied: effects not yet applied to the revised text; applied: already applied; all: both.

Output parameters:

- `attribution` (array): Attribution lines the returned content requires (OGL always; EU and Westlaw credits when applicable).
- `cap` (number): The limit applied.
- `effects` (array): Effects on this page, most recently modified first; empty when none matched.
- `error` (object): Present when the call failed. Absent on success.
- `has_more` (boolean): True when more effects remain — call again with next_cursor.
- `next_cursor` (string): Pass as cursor to continue; present only when has_more is true.
- `notice` (string): Guidance when nothing matched or the list continues.
- `query` (object): The query as normalized.
- `scan` (object): Coverage of this call; present only when filtering by provision.
- `shown` (number): Effects returned.
- `total` (number): Total effects legislation.gov.uk holds for this query (before any provision filter).
- `truncated` (boolean): True when the list was capped at limit.

### `uklaw_track_changes` (~432 tokens)

Track legislation.gov.uk publications

Read the legislation.gov.uk Publication Log for a date window of up to 31 days: new items, new revised versions, newly recorded effects, and withdrawals, newest first — the compliance-monitoring view of "what changed". Filter by content type, effect direction, category, an item or type/year, first-time items only, or event. With a full item path it reads that item's own log, usually in one call; otherwise it walks the window day by day, newest first, so a broad window may need several calls. A changes event carries no effect detail — uklaw_get_amendments with that item has it. Continue with next_cursor.

Input parameters:

- `category` (string): Item category: primary, secondary, or eu-origin. With content_type legislation or associated-documents only.
- `content_type` (string): legislation (documents published), changes (effects recorded), draft, or associated-documents. Omit for all.
- `cursor` (string): next_cursor from the previous call, passed with the other inputs unchanged; omit to start from end_date.
- `direction` (string): With content_type changes only: effects recorded against (affected) or made by (affecting) the item.
- `end_date` (string): Last event date, YYYY-MM-DD; defaults to start_date. The window is at most 31 days.
- `event` (string): Only published or only withdrawn events. Omit for both.
- `item` (string): A full item path (ukpga/2018/12) or legislation.gov.uk URI reads that item's own log; a type (uksi) or type and year (uksi/2026) narrows the day walk. Get a full path from uklaw_lookup_citation or uk…
- `limit` (integer): Most events returned by this call (1–80).
- `new_only` (boolean): true: only events for items appearing on legislation.gov.uk for the first time.
- `start_date` (string, required): First event date of the window, YYYY-MM-DD (UK local time).

Output parameters:

- `attribution` (array): Attribution lines the returned content requires (OGL always; EU and Westlaw credits when applicable).
- `cap` (number): The limit applied.
- `days` (array): Days touched by a day walk (empty in item-log mode).
- `error` (object): Present when the call failed. Absent on success.
- `events` (array): Events, newest first.
- `filters` (object): Filters applied.
- `has_more` (boolean): True when more events remain in the window — call again with next_cursor.
- `item_log_total` (number): Events in the item's whole log, all dates; present in item-log mode when reported.
- `mode` (string): day_walk: per-day pages; item_log: one item's undated log.
- `next_cursor` (string): Pass as cursor to continue; present only when has_more is true.
- `notice` (string): Guidance when the window is quiet or the list continues.
- `read_back_to` (string): Item-log mode: date (YYYY-MM-DD) of the oldest event on the pages of the item's log this call has passed. The log is read newest first, jumping ahead by page to find an older window; a page checked b…
- `shown` (number): Events returned.
- `truncated` (boolean): True when the list was capped at limit.
- `window` (object): The window read.

### `uklaw_lookup_citation` (~268 tokens)

Resolve a legislation citation

Resolve a citation or short title to the canonical legislation.gov.uk item and provision: "Data Protection Act 2018 s. 45", "2018 c. 12", "S.I. 2019/419", "S.S.I. 2020/123", "S.R. 2020/12", "2020 asp 13", "Regulation (EU) 2016/679 art. 28", a legislation.gov.uk URI, or a short title. Returns the item path to pass to uklaw_get_document, and when a provision is given, whether it exists in the current version. A miss or an ambiguous title is a result with found false plus guidance or candidates, not an error. To find legislation by topic or by partial title words rather than a known citation, use uklaw_search_legislation.

Input parameters:

- `citation` (string, required): A citation ("2018 c. 12", "S.I. 2019/419 reg. 5", "Regulation (EU) 2016/679 art. 28"), a short title ("Data Protection Act 2018 s. 45(2)(f)"), or a legislation.gov.uk URI. uklaw_list_reference topic…

Output parameters:

- `attribution` (array): Attribution lines the returned content requires (OGL always; EU and Westlaw credits when applicable).
- `candidates` (array): Candidate items (at most 20) when the citation is ambiguous.
- `document_uri` (string): legislation.gov.uk page for the item; present when found.
- `error` (object): Present when the call failed. Absent on success.
- `found` (boolean): True when the citation resolved to exactly one item.
- `guidance` (string): What to do next after a miss, ambiguity, or a check that could not run.
- `id_uri` (string): Canonical identifier URI of the item; present when found.
- `item` (string): Canonical item path, e.g. ukpga/2018/12 — pass to uklaw_get_document; present when found.
- `made_date` (string): Date enacted or made (YYYY-MM-DD); absent when not fetched or not reported.
- `number` (string): Item number within the year; present when found.
- `parsed` (object): The citation as the parser read it.
- `provision_found` (boolean): Whether the provision exists in the current version; absent when the check could not run.
- `provision_path` (string): Provision path the citation named, when it named one and the item was found.
- `provision_uri` (string): Identifier URI of that provision, alongside provision_path.
- `title` (string): Item title; absent when it could not be fetched within the call.
- `title_cy` (string): Welsh title, for bilingual items.
- `type` (string): Canonical type code (a Welsh SI cited as uksi comes back as wsi); present when found.
- `type_label` (string): Human label of the type; present when found.
- `year` (number): Calendar year of the item; absent when not known, e.g. a regnal-year item resolved from its path.

### `uklaw_list_reference` (~157 tokens)

List legislation reference vocabulary

Decode the vocabulary the other uklaw_* tools take and return: legislation type codes (ukpga, uksi, eur, …) with their labels, categories and enacted keywords; type groups; extents; version keywords; document status; annotation letters (F, C, I, M, E, P, X); effect record fields; provision path forms and shorthand; accepted citation formats; Publication Log vocabulary and read modes; data coverage; and the attribution lines. Offline — no request to legislation.gov.uk.

Input parameters:

- `topic` (string, required): Which table to return: types, type_groups, extents, versions, document_status, annotation_types, effects, provision_paths, citation_formats, publication_log, coverage, or attribution.

Output parameters:

- `entries` (array): Reference entries for the topic.
- `error` (object): Present when the call failed. Absent on success.
- `topic` (string): The topic returned.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/cyanheads-uk-legislation-mcp-server/uk-legislation#diagnostics

## Score history

- 2026-11-05: 87
- 2026-11-04: 87
- 2026-11-03: 86
- 2026-11-02: 86
- 2026-11-01: 85
- 2026-10-31: 85
- 2026-10-30: 84
- 2026-10-29: 84
- 2026-10-28: 81
- 2026-10-27: 81
- 2026-10-26: 80
- 2026-10-25: 80
- 2026-10-24: 79
- 2026-10-23: 79
- 2026-10-22: 78
- 2026-10-21: 78
- 2026-10-20: 77
- 2026-10-19: 77
- 2026-10-18: 76
- 2026-10-17: 76
- 2026-10-16: 75
- 2026-10-15: 75
- 2026-10-14: 74
- 2026-10-13: 74
- 2026-10-12: 74
- 2026-10-11: 73
- 2026-10-10: 73

## Common questions

### What is the io.github.cyanheads/uk-legislation-mcp-server server?

io.github.cyanheads/uk-legislation-mcp-server is listed in the public MCP registry as io.github.cyanheads/uk-legislation-mcp-server. Search and read UK legislation at any date, resolve citations, list amendments, track changes. This page covers its hosted endpoint (https://uk-legislation.caseyjhand.com/mcp).

### Is the io.github.cyanheads/uk-legislation-mcp-server server safe to use?

io.github.cyanheads/uk-legislation-mcp-server scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.cyanheads/uk-legislation-mcp-server server expose?

io.github.cyanheads/uk-legislation-mcp-server exposes 6 tools: uklaw_search_legislation, uklaw_get_document, uklaw_get_amendments, uklaw_track_changes, uklaw_lookup_citation, uklaw_list_reference. Their descriptions and schemas cost roughly 2,601 tokens of context every time the server is loaded.

### Does the io.github.cyanheads/uk-legislation-mcp-server server require authentication?

No. We connected to io.github.cyanheads/uk-legislation-mcp-server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the io.github.cyanheads/uk-legislation-mcp-server server still maintained?

io.github.cyanheads/uk-legislation-mcp-server is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the io.github.cyanheads/uk-legislation-mcp-server server?

VerifyMCP ran 13 checks on io.github.cyanheads/uk-legislation-mcp-server, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://uk-legislation.caseyjhand.com/mcp
- Repository: https://github.com/cyanheads/uk-legislation-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/cyanheads-uk-legislation-mcp-server/uk-legislation.xml
- Changelog JSON feed: https://verifymcp.io/servers/cyanheads-uk-legislation-mcp-server/uk-legislation/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/cyanheads-uk-legislation-mcp-server/uk-legislation.json
- HTML version of this page: https://verifymcp.io/servers/cyanheads-uk-legislation-mcp-server/uk-legislation
