Skip to main content
Glama

List amendments to or by legislation

uklaw_get_amendments
Read-onlyIdempotent

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 Schema

NameRequiredDescriptionDefault
itemYesItem 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.
limitNoEffects per page, or with provision the most matches returned (1–100, default 20).
cursorNonext_cursor from the previous call, passed with the other inputs unchanged; omit for the first page.
statusNounapplied: effects not yet applied to the revised text; applied: already applied; all: both.all
directionNoaffected: changes made to item. affecting: changes item makes to other legislation.affected
provisionNoKeep 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.
counterpartNoRestrict 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.

Output Schema

NameRequiredDescriptionDefault
capNoThe limit applied.
scanNoCoverage of this call; present only when filtering by provision.
errorNoPresent when the call failed. Absent on success.
queryNoThe query as normalized.
shownNoEffects returned.
totalNoTotal effects legislation.gov.uk holds for this query (before any provision filter).
noticeNoGuidance when nothing matched or the list continues.
effectsNoEffects on this page, most recently modified first; empty when none matched.
has_moreNoTrue when more effects remain — call again with next_cursor.
truncatedNoTrue when the list was capped at limit.
attributionNoAttribution lines the returned content requires (OGL always; EU and Westlaw credits when applicable).
next_cursorNoPass as cursor to continue; present only when has_more is true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `invalid_item`: item or counterpart is not a (partial) item path or legislation.gov.uk URI, or its type code is unknown, or counterpart carries a provision. `regnal_item`: item or counterpart is a pre-1963 regnal path (ukpga/Geo5/15-16/20, aep/Ann/6): the changes feeds index effects by calendar year and chapter number only. `draft_item`: item or counterpart is draft legislation (ukdsi, sdsi, nidsr), which the changes feeds do not index. `invalid_provision`: provision cannot be normalized. `provision_needs_full_item`: provision is combined with a partial item. `invalid_cursor`: cursor does not decode, belongs to a different query, or holds a position no call over that query reaches (a page past 10,000, or an offset past the end of its page). `filter_refused`: legislation.gov.uk answered the changes feed with 404 or 400: a path or filter combination it does not accept. `upstream_refused`: legislation.gov.uk answered 403 or 429 (its fair use rate limit or a block). `pacer_shed`: The shared request queue cannot start this call within its deadline. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `invalid_item`: item or counterpart is not a (partial) item path or legislation.gov.uk URI, or its type code is unknown, or counterpart carries a provision. `regnal_item`: item or counterpart is a pre-1963 regnal path (ukpga/Geo5/15-16/20, aep/Ann/6): the changes feeds index effects by calendar year and chapter number only. `draft_item`: item or counterpart is draft legislation (ukdsi, sdsi, nidsr), which the changes feeds do not index. `invalid_provision`: provision cannot be normalized. `provision_needs_full_item`: provision is combined with a partial item. `invalid_cursor`: cursor does not decode, belongs to a different query, or holds a position no call over that query reaches (a page past 10,000, an offset past the end of its page, or a field only uklaw_track_changes writes). `filter_refused`: legislation.gov.uk answered the changes feed with 404 or 400: a path or filter combination it does not accept. `upstream_refused`: legislation.gov.uk answered 403 or 429 (its fair use rate limit or a block). `pacer_shed`: The shared request queue cannot start this call within its deadline. Other values are possible when a failure originates below the handler."
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/openWorld annotations it discloses real behavioral costs: legislation.gov.uk cannot filter by provision, so each provision call scans up to 1,500 effects, and cursor paging is required. It also names the response contents (both sides, provision links, in-force dates, non-application reasons) and the pre-1963 calendar-vs-regnal path pitfall — exactly the context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the opening clause and every clause carries information (filters, partial paths, output content, the get_document escape hatch). The em-dash enumeration and the dense first sentence cost a little readability, but there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return shape needs no explanation, yet the description still tells the agent what an effect record contains and why it may not be applied. Pagination, expensive-filter behavior, draft exclusion and date-path caveats are all covered for a 7-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The prose largely restates the schema's own definitions of direction, status, counterpart and partial item paths rather than adding new syntax or format detail, so it does not earn above baseline despite being readable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('List') plus a precisely scoped resource: effects (amendments, repeals, revocations, commencements, modifications) recorded against or made by an item. It explicitly separates the two directions and names the sibling (uklaw_get_document) for the prose-history case, so an agent can distinguish it from neighbours without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear conditional alternative: 'For the applied history of one provision in prose, read its annotations with uklaw_get_document.' It also flags the partial-item shortcut and that drafts are absent from the feeds. It does not, however, contrast with uklaw_track_changes or state hard when-not cases beyond that single routing hint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.