Skip to main content
Glama

Ansvar: EU Compliance & Legal Intelligence

Get Changes

get_changes
Read-only

Find observed rows from legislative change feeds in a jurisdiction or framework, or from an explicit source. Use this for questions such as 'what laws changed in Sweden this month' only when the requested scope is listed as amendment-capable. If since is omitted, the gateway defaults to the last 90 days. Coverage is per corpus. The EU Regulations source is baseline-only during the current interim: it is excluded from amendment-capable dispatch, and a framework it owns is advertised only if another reachable feed supports that framework. A successful empty response is not evidence that no amendments occurred. On a capability miss, the response names supported source, framework, and jurisdiction scopes — or, when no corpus advertises change feeds at all, says so explicitly with supported_scopes empty on every axis. Every dispatched response reports whether baseline rows were actually withheld and whether the producer supplied typed event metadata. Legacy rows without typed event metadata remain visible with event_kind unknown. A scope value that names nothing we serve is refused, not ignored: the call errors and names the value, never returning changes for only the part that resolved. Use diff for a known provision. Boundary: this tool reports amendments observed in SERVED corpus text; for newly published official acts and regulator announcements (what is new, not what changed in a text we serve), use search_regulatory_updates. The text content is one JSON document. Its evidence_summary field carries the 'Sources used' markdown table (the audit receipt per returned row) or a labelled zero-result note. Result rows carry url/title/subtitle display fields alongside their citation when available. meta.render_contract carries the versioned evidence-curation contract.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_changes"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum change entries per source (default 20; values above 50 are clamped; total entries can reach limit × resolved sources).
sinceNoEarliest change date to report, as an ISO date, e.g. '2026-01-01'. Empty defaults to the last 90 days.
sourcesNoExact corpus source ids to read change feeds from, such as swedish-law.
frameworksNoRegistered framework scope ids such as GDPR or NIS2, restricted to frameworks a reachable change feed supports.
regulationNoNarrow the feed to one instrument by name, such as 'GDPR'. Optional; leave empty for every instrument in scope.
jurisdictionsNoISO-2 jurisdiction scope codes such as SE or EU. Only scopes a corpus advertises as amendment-capable are dispatched; a capability miss names the supported scopes.
regulation_idNoNarrow the feed to one instrument by the corpus's own identifier (e.g. a CELEX number). Optional alternative to regulation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Changed6 schema fields changed
    • addedInput schema / properties / frameworks / description
      Added value: +"Registered framework scope ids such as GDPR or NIS2, restricted to frameworks a reachable change feed supports."
    • addedInput schema / properties / jurisdictions / description
      Added value: +"ISO-2 jurisdiction scope codes such as SE or EU. Only scopes a corpus advertises as amendment-capable are dispatched; a capability miss names the supported scopes."
    • addedInput schema / properties / regulation / description
      Added value: +"Narrow the feed to one instrument by name, such as 'GDPR'. Optional; leave empty for every instrument in scope."
    • addedInput schema / properties / regulation_id / description
      Added value: +"Narrow the feed to one instrument by the corpus's own identifier (e.g. a CELEX number). Optional alternative to regulation."
    • addedInput schema / properties / since / description
      Added value: +"Earliest change date to report, as an ISO date, e.g. '2026-01-01'. Empty defaults to the last 90 days."
    • addedInput schema / properties / sources / description
      Added value: +"Exact corpus source ids to read change feeds from, such as swedish-law."
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the read-only and non-destructive annotations, the description discloses important behavioral traits: the 90-day default when `since` is omitted, per-corpus coverage, the EU Regulations baseline-only interim limitation, the fact that an empty success does not prove no amendments occurred, and the error behavior for unsupported scope values. It also explains what successful responses report about withheld baseline rows and typed event metadata, including legacy rows with `event_kind` unknown.

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?

The description is front-loaded with purpose and then proceeds through defaults, coverage caveats, failure behavior, and output shape in a logical order. It is somewhat dense and long, but most sentences carry operational information needed for this complex tool.

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?

With no output schema, the description compensates by describing the response as a JSON document, naming `evidence_summary`, `meta.render_contract`, and row display fields like `url`, `title`, and `subtitle`. It also covers defaults, capability-miss behavior, and result limitations, leaving an agent well equipped to call and interpret the tool correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so parameter documentation is already strong in the schema. The description still adds meaning beyond it by explaining that unsupported scope values are refused rather than partially resolved and that frameworks are restricted to reachable change-feed support, which affects how the scope parameters behave in practice.

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?

The description states a specific verb and resource: it finds observed rows from legislative change feeds in a jurisdiction, framework, or explicit source. It also explicitly distinguishes itself from the `diff` sibling for known provisions and from `search_regulatory_updates` for newly published acts, so an agent can identify its role without opening the schema.

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

Usage Guidelines5/5

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

It gives a concrete usage example ('what laws changed in Sweden this month') and a clear precondition that the requested scope must be amendment-capable. It names alternatives explicitly: `diff` for a known provision and `search_regulatory_updates` for new official acts and regulator announcements rather than changes in served text.

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.