Skip to main content
Glama

Track RIS Changes

ris_track_changes
Read-onlyIdempotent

Track every document added or changed in one RIS application within an exact date window (changed_from/changed_to), optionally including deletions (include_deleted) — the delta-sync and monitoring primitive for mirrors and watchers, and the only surface that reports removals. Unlike the search tools’ coarse, additive-only changed_since intervals, this is exact-dated and deletion-aware. application accepts every RIS application code listed by ris_list_reference topic applications, including BrKons, LrKons, Dsk, and BgblAuth. Each changed document comes back in a compact cross-class record — document_number (for ris_get_document), title, dates, binding_status, and rendition URLs — plus its last-changed date; removed documents come back as deleted records with a deletion timestamp. One application per call; page explicitly for large windows.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-based result page. Default 1.
page_sizeNoDocuments per page: 10 or 20 (default 20). For more results, keep the size and raise page.
changed_toNoInclude documents changed on/before this date (YYYY-MM-DD, AenderungenBis).
applicationYesRIS application whose change feed to read, e.g. BrKons, LrKons, Dsk, or BgblAuth. All supported codes: ris_list_reference topic applications.
changed_fromNoInclude documents changed on/after this date (YYYY-MM-DD, AenderungenVon). Exact date, not a coarse interval.
include_deletedNotrue also returns documents removed from RIS in the window, as deleted records — the only way to observe deletions.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number RIS served.
errorNoPresent when the call failed. Absent on success.
noticeNoZero-hit guidance — names the likely cause and the concrete next call.
resultsNoChange-feed entries for the requested page. Totals, paging, and the applied window in enrichment.
pageSizeNoPage size RIS applied.
changedToNoThe changed_to bound the server applied (echo), when set.
truncatedNoPresent and true when more pages exist beyond this one — raise page to continue.
totalCountNoTotal change-feed entries across all pages.
applicationNoThe application whose change feed was read.
changedFromNoThe changed_from bound the server applied (echo), when set.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedInput schema / properties / page_size / anyOf
      Removed value: -[
      -  {
      -    "const": 10,
      -    "type": "number"
      -  },
      -  {
      -    "const": 20,
      -    "type": "number"
      -  },
      -  {
      -    "const": 50,
      -    "type": "number"
      -  },
      -  {
      -    "const": 100,
      -    "type": "number"
      -  }
      -]
    • changedInput schema / properties / page_size / description
      Previous value: -"Documents per page — RIS accepts 10, 20, 50, or 100. Default 20."New value: +"Documents per page: 10 or 20 (default 20). For more results, keep the size and raise page."
    • addedInput schema / properties / page_size / enum
      Added value: +[
      +  10,
      +  20
      +]
    • addedInput schema / properties / page_size / type
      Added value: +"number"
  2. Changed7 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / application / description
      Previous value: -"RIS application whose change feed to read (standard code, e.g. BrKons, LrKons, Dsk, BgblAuth). History’s four aliased names are mapped internally. Codes: ris_list_reference topic applications."New value: +"RIS application whose change feed to read, e.g. BrKons, LrKons, Dsk, or BgblAuth. All supported codes: ris_list_reference topic applications."
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "results",
      +      "totalCount",
      +      "page",
      +      "pageSize",
      +      "application"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / error
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Present when the call failed. Absent on success.",
      +  "properties": {
      +    "code": {
      +      "description": "JSON-RPC error code for this failure.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "data": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "reason": {
      +          "description": "Machine-readable failure mode. Declared by this tool: `invalid_query`: RIS rejected a parameter value in-band — its Client error message is passed through verbatim and names the offending element (e.g. a page past the last page of the change window). `upstream_error`: RIS is unreachable, returned a server error, or served an HTML error page. `upstream_timeout`: RIS did not answer the change feed within the request deadline. Other values are possible when a failure originates below the handler.",
      +          "examples": [
      +            "invalid_query",
      +            "upstream_error",
      +            "upstream_timeout"
      +          ],
      +          "type": "string"
      +        },
      +        "recovery": {
      +          "additionalProperties": {},
      +          "description": "Actionable next step for the caller.",
      +          "properties": {
      +            "hint": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "hint"
      +          ],
      +          "type": "object"
      +        },
      +        "retryable": {
      +          "description": "Whether retrying may succeed.",
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "message": {
      +      "description": "Human-readable description of what went wrong.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "message"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / required
      Removed value: -[
      -  "results",
      -  "totalCount",
      -  "page",
      -  "pageSize",
      -  "application"
      -]
  3. Changed2 schema fields changed
    • changedInput schema / properties / changed_from / pattern
      Previous value: -"^\\d{4}-\\d{2}-\\d{2}$"New value: +"^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])$"
    • changedInput schema / properties / changed_to / pattern
      Previous value: -"^\\d{4}-\\d{2}-\\d{2}$"New value: +"^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])$"
  4. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover read-only, open-world, and idempotency, so the description adds value by disclosing deletion-awareness (only way to observe removals), the compact cross-class return structure, and the requirement to page explicitly. It does not contradict annotations and goes beyond them with operational details, though it could mention rate limits or auth.

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

Conciseness5/5

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

The description is longer than a one-liner but every sentence earns its place: it front-loads purpose, contrasts with siblings, details parameters, and gives pagination advice. The information is ordered logically (core function → differentiation → parameter specifics → return format) with 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?

Given six parameters, an open-world setting, and an output schema, the description covers usage, parameter semantics (via context), return format, and pagination. It tells the agent when to use it, how to call it, and what to expect, leaving no critical gap for correct invocation.

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 coverage is 100%, so the baseline is 3. The description adds contextual meaning: it emphasizes that changed_from/changed_to are exact dates (not coarse intervals), clarifies include_deleted is the only way to see deletions, and notes application codes come from ris_list_reference. This enriches the schema without duplication.

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 (track), resource (every document added or changed in one RIS application), and scope (exact date window). It explicitly contrasts with the search tools' coarse changed_since intervals and notes it is the only surface that reports removals, clearly distinguishing it from all eight siblings.

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?

Explicitly positions the tool as the delta-sync and monitoring primitive, states when to page, and lists application codes via ris_list_reference. It names the alternatives (search tools) and explains why this tool is preferred for exact-dated, deletion-aware queries. No ambiguity about when not to use it.

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.