{"id":579974,"recorded_at":"2026-10-27T23:26:19.534273Z","observed_at":"2026-10-27T23:26:19.534181Z","subject_kind":"endpoint","subject":"2a663a1f-3be7-4ba9-b848-36667232d4ee","kind":"mcp.tools","method":"probe.mcp/1","body":{"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"}]},"body_sha256":"9ccf39360e3df22f01dcadc2605b4fc0ad29cd7ec9d56446e9af2e393cd13a49","prev_id":null,"leaf":"0x0d7bd65c8639fea864d9330c851b5a49fefdcd6b872491d93900224fe4f9f1a4","leaf_text":"{\"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\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0x0d7ad557a1cb94d5a28a449b9810f4bf71d293f0c4e10ff0287efda6b2904219","0xe28d510614be5ecb1842e3297bceb338abc5c605ea4f5ad78092a0be046bf921","0xa8548ff1a01f38b8e65ca5dadcc5d84e4056db99198bee0d897b9e31e7fc30e7","0x12253cf4779d5ef6ed0d066229a4b548a2b3af522cff9d56d140389e30c14c0f","0x5044e7712d0d87132b0648eb4e62b54a5f791ef463954222b66f70dc000df87b","0x99b3f806d12b0444b00ea9bc7e9740b01dcafaf52d2bea6a8d3c3b6fc1a25696","0xa1ef8721930433f39af94644c6ef22513beff5fc8a09b2769b298e66aa1b081f","0x2ef02b1ba5ca86ba37026ad74eb29db7fcf78006bc86217b82acc12949f26eb7","0x34e8c1badc7a773952b04b269f4e3461fb241472d72ae7589b6c146433871f78","0x34af523371de6abff17b8a9237b21471ae8fb6d62c2dcaf7e8476f942d1c8b78","0x8ac7b6b9bf64392f96f8256d1e4c2ec0bc2f51d3c881619121a67aa022ebcb14","0x6e5a3640cff3f4cd1cd4f97ccb0c01e8a7f3fa240d9ef5f12ed8901892cd252e","0xa5d3d95b495ae2191612e64fe151fe065497e5ecb73bb111e1fabb6b3628f3de","0x3e0ec8a2a8a954695a9b53a4a48a7656d7e3fd6a8795c73b49e2ef05b201ec3f","0x2cf27e8a181d60d0dd27c186c2eddfcbb4e8fa71cf66feeb55a4d730e15ee8c4","0x518b93854db03dc9fc938883abf30da6eaae5ae0d4336903968fd32a7df8c71b","0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c","0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}