← The evidence ledger
Evidence row 579974
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 2a663a1f-3be7-4ba9-b848-36667232d4ee
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 9ccf39360e3df22f01dcadc2605b4fc0ad29cd7ec9d56446e9af2e393cd13a49
- Leaf
- 0x0d7bd65c8639fea864d9330c851b5a49fefdcd6b872491d93900224fe4f9f1a4
What was observed
{
"count": 6,
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"counterpart": {
"description": "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 affecting. A pre-1963 Act takes its calendar year, not its regnal path; drafts are not in the changes feeds.",
"maxLength": 500,
"minLength": 1,
"pattern": "^\\S+$",
"type": "string"
},
"cursor": {
"description": "next_cursor from the previous call, passed with the other inputs unchanged; omit for the first page.",
"maxLength": 500,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"direction": {
"default": "affected",
"description": "affected: changes made to item. affecting: changes item makes to other legislation.",
"enum": [
"affected",
"affecting"
],
"type": "string"
},
"item": {
"description": "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 Act takes its calendar year (ukpga/1925/20, not ukpga/Geo5/15-16/20); its effects name the regnal path, and two sessions in one year can share a number. Drafts (ukdsi, sdsi, nidsr) are not in the changes feeds.",
"maxLength": 500,
"minLength": 1,
"pattern": "^\\S+$",
"type": "string"
},
"limit": {
"default": 20,
"description": "Effects per page, or with provision the most matches returned (1–100, default 20).",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"provision": {
"description": "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 provision, so each call scans up to 1,500 effects; continue with next_cursor.",
"maxLength": 200,
"pattern": "^[A-Za-z0-9.()/\\s-]+$",
"type": "string"
},
"status": {
"default": "all",
"description": "unapplied: effects not yet applied to the revised text; applied: already applied; all: both.",
"enum": [
"all",
"unapplied",
"applied"
],
"type": "string"
}
},
"required": [
"item"
],
"type": "object"
},
"name": "uklaw_get_amendments"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"item": {
"description": "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 parts; a version or /welsh in the URI applies unless the version or language input is set). Get it from uklaw_lookup_citation or uklaw_search_legislation.",
"maxLength": 500,
"minLength": 1,
"pattern": "^[^\\s/]*(?:\\/[^\\s/]*){2,}$",
"type": "string"
},
"language": {
"description": "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.",
"enum": [
"en",
"cy"
],
"type": "string"
},
"match_text": {
"description": "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.",
"maxLength": 200,
"type": "string"
},
"outline_offset": {
"default": 0,
"description": "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.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"provision": {
"description": "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), normalized before the request. Omit to read the item; an item-level outline lists the paths.",
"maxLength": 200,
"pattern": "^[A-Za-z0-9.()/\\s-]+$",
"type": "string"
},
"version": {
"description": "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 then. Omitted: the version in an item URI, else current. A future date returns the latest version, and a date on or after the made or enactment date of an item never revised returns its original text, with a notice; version.applied reports the version served.",
"pattern": "^(current|enacted|made|adopted|created|\\d{4}-\\d{2}-\\d{2})$",
"type": "string"
}
},
"required": [
"item"
],
"type": "object"
},
"name": "uklaw_get_document"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"topic": {
"description": "Which table to return: types, type_groups, extents, versions, document_status, annotation_types, effects, provision_paths, citation_formats, publication_log, coverage, or attribution.",
"enum": [
"types",
"type_groups",
"extents",
"versions",
"document_status",
"annotation_types",
"effects",
"provision_paths",
"citation_formats",
"publication_log",
"coverage",
"attribution"
],
"type": "string"
}
},
"required": [
"topic"
],
"type": "object"
},
"name": "uklaw_list_reference"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"citation": {
"description": "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 citation_formats lists the accepted forms.",
"maxLength": 300,
"minLength": 1,
"type": "string"
}
},
"required": [
"citation"
],
"type": "object"
},
"name": "uklaw_lookup_citation"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"as_of": {
"description": "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.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"extent": {
"description": "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 many recent items, so an empty result does not prove nothing extends there.",
"items": {
"enum": [
"england",
"wales",
"scotland",
"ni"
],
"type": "string"
},
"maxItems": 4,
"type": "array"
},
"extent_match": {
"default": "applicable",
"description": "Used only with extent. applicable: a provision extends to any given extent; exact: a provision extends to exactly that set.",
"enum": [
"applicable",
"exact"
],
"type": "string"
},
"limit": {
"default": 20,
"description": "Results per page (1–50).",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"page": {
"default": 1,
"description": "Page number (1–10,000).",
"maximum": 10000,
"minimum": 1,
"type": "integer"
},
"text": {
"description": "Full-text query. Supports AND/OR, \"quoted phrases\", and stemming. Omit for a title search or a listing.",
"maxLength": 500,
"type": "string"
},
"title": {
"description": "Words that must all occur in the title. For a known short title or citation, uklaw_lookup_citation is exact.",
"maxLength": 300,
"type": "string"
},
"types": {
"default": [
"all"
],
"description": "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_reference topic types lists the codes.",
"items": {
"enum": [
"all",
"primary",
"secondary",
"eu-origin",
"draft",
"ukpga",
"ukla",
"ukppa",
"asp",
"asc",
"anaw",
"mwa",
"ukcm",
"nia",
"nisi",
"apni",
"mnia",
"aosp",
"aep",
"aip",
"apgb",
"gbla",
"gbppa",
"uksi",
"wsi",
"ssi",
"nisr",
"ukci",
"ukmd",
"ukmo",
"uksro",
"nisro",
"eur",
"eudn",
"eudr",
"eut",
"ukdsi",
"sdsi",
"nidsr"
],
"type": "string"
},
"maxItems": 39,
"type": "array"
},
"year": {
"description": "Calendar year (also for pre-1963 Acts numbered by regnal year). Not combinable with year_from/year_to.",
"maximum": 2100,
"minimum": 1267,
"type": "integer"
},
"year_from": {
"description": "Earliest calendar year of a range; the other bound may be omitted.",
"maximum": 2100,
"minimum": 1267,
"type": "integer"
},
"year_to": {
"description": "Latest calendar year of a range; the other bound may be omitted.",
"maximum": 2100,
"minimum": 1267,
"type": "integer"
}
},
"type": "object"
},
"name": "uklaw_search_legislation"
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"category": {
"description": "Item category: primary, secondary, or eu-origin. With content_type legislation or associated-documents only.",
"enum": [
"primary",
"secondary",
"eu-origin"
],
"type": "string"
},
"content_type": {
"description": "legislation (documents published), changes (effects recorded), draft, or associated-documents. Omit for all.",
"enum": [
"legislation",
"changes",
"draft",
"associated-documents"
],
"type": "string"
},
"cursor": {
"description": "next_cursor from the previous call, passed with the other inputs unchanged; omit to start from end_date.",
"maxLength": 500,
"pattern": "^[A-Za-z0-9_-]+$",
"type": "string"
},
"direction": {
"description": "With content_type changes only: effects recorded against (affected) or made by (affecting) the item.",
"enum": [
"affected",
"affecting"
],
"type": "string"
},
"end_date": {
"description": "Last event date, YYYY-MM-DD; defaults to start_date. The window is at most 31 days.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"event": {
"description": "Only published or only withdrawn events. Omit for both.",
"enum": [
"published",
"withdrawn"
],
"type": "string"
},
"item": {
"description": "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 uklaw_search_legislation.",
"maxLength": 500,
"minLength": 1,
"pattern": "^\\S+$",
"type": "string"
},
"limit": {
"default": 40,
"description": "Most events returned by this call (1–80).",
"maximum": 80,
"minimum": 1,
"type": "integer"
},
"new_only": {
"default": false,
"description": "true: only events for items appearing on legislation.gov.uk for the first time.",
"type": "boolean"
},
"start_date": {
"description": "First event date of the window, YYYY-MM-DD (UK local time).",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
}
},
"required": [
"start_date"
],
"type": "object"
},
"name": "uklaw_track_changes"
}
]
}What the leaf hashes
{"body":"9ccf39360e3df22f01dcadc2605b4fc0ad29cd7ec9d56446e9af2e393cd13a49","id":579974,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793143579534181,"prev":null,"subject":"2a663a1f-3be7-4ba9-b848-36667232d4ee","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x0d7ad557a1cb94d5a28a449b9810f4bf71d293f0c4e10ff0287efda6b2904219
- 0xe28d510614be5ecb1842e3297bceb338abc5c605ea4f5ad78092a0be046bf921
- 0xa8548ff1a01f38b8e65ca5dadcc5d84e4056db99198bee0d897b9e31e7fc30e7
- 0x12253cf4779d5ef6ed0d066229a4b548a2b3af522cff9d56d140389e30c14c0f
- 0x5044e7712d0d87132b0648eb4e62b54a5f791ef463954222b66f70dc000df87b
- 0x99b3f806d12b0444b00ea9bc7e9740b01dcafaf52d2bea6a8d3c3b6fc1a25696
- 0xa1ef8721930433f39af94644c6ef22513beff5fc8a09b2769b298e66aa1b081f
- 0x2ef02b1ba5ca86ba37026ad74eb29db7fcf78006bc86217b82acc12949f26eb7
- 0x34e8c1badc7a773952b04b269f4e3461fb241472d72ae7589b6c146433871f78
- 0x34af523371de6abff17b8a9237b21471ae8fb6d62c2dcaf7e8476f942d1c8b78
- 0x8ac7b6b9bf64392f96f8256d1e4c2ec0bc2f51d3c881619121a67aa022ebcb14
- 0x6e5a3640cff3f4cd1cd4f97ccb0c01e8a7f3fa240d9ef5f12ed8901892cd252e
- 0xa5d3d95b495ae2191612e64fe151fe065497e5ecb73bb111e1fabb6b3628f3de
- 0x3e0ec8a2a8a954695a9b53a4a48a7656d7e3fd6a8795c73b49e2ef05b201ec3f
- 0x2cf27e8a181d60d0dd27c186c2eddfcbb4e8fa71cf66feeb55a4d730e15ee8c4
- 0x518b93854db03dc9fc938883abf30da6eaae5ae0d4336903968fd32a7df8c71b
- 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
- 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4