Skip to main content
Glama

Registry changes in a period (RAB changelog)

jt_registry_changes
Read-onlyIdempotent

Changes in the Brazilian REGISTRY (RAB) between two dates, not airport movements: entry (new registration), exit (cancelled), owner_change, operator_change, status_change. Read from the RAB changelog kept by Jet Tracker since 2026-02-03. Filters (type, model, owner state uf, RBAC, segment; default executive) are applied in the database: total is the exact count for the filter in the period, found:false means zero in the whole period, and truncated only means there are more pages (nextCursor). Max 200 per call. Each row carries sameAirframeAs (other live registrations of the same serial + model: three reservations for one airframe are one aircraft, count once). A registry change is NOT a sale (see the caveat field). Aircraft arriving at or leaving an airport are not registry changes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoEnd date, YYYY-MM-DD (inclusive). Default: today.
ufNoRegistered state (UF) of the owner.
fromYesStart date, YYYY-MM-DD (inclusive).
rbacNo91 private, 91k shared/fractional, 135 air taxi, 121 airline, 137 agricultural.
typeNoOnly one kind of change: entry (new registration), exit (cancelled), owner_change, operator_change or status_change.
limitNoDefault 50.
modelNoCatalog slug, family slug or free text.
cursorNonextCursor from a previous page.
segmentNoDefault executive.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeNoMachine-readable error code (INTERNAL, TIMEOUT, INVALID_ARGUMENT, NOT_FOUND, TOOL_FAILED, ACCOUNT_KEY_REQUIRED).
_metaNo
errorNo
foundNo
gatedNo
requestIdNo
retryableNo
quota_exceededNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / uf / description
      Previous value: -"Base state (UF)."New value: +"Registered state (UF) of the owner."
  2. Changed1 schema field changed
    • changedOutput schema / properties / _meta / required
      Previous value: -[
      -  "tool",
      -  "tier",
      -  "source",
      -  "asOf",
      -  "gated",
      -  "via"
      -]New value: +[
      +  "tool",
      +  "source",
      +  "asOf",
      +  "gated",
      +  "via"
      +]
  3. Changed8 schema fields changed
    • addedOutput schema / properties / _meta / properties / asOf / description
      Added value: +"Alias of sourceUpdatedAt (kept for compatibility)."
    • addedOutput schema / properties / _meta / properties / generatedAt
      Added value: +{
      +  "description": "When this response was produced (ISO 8601).",
      +  "type": "string"
      +}
    • addedOutput schema / properties / _meta / properties / observedAt
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Last event actually observed in the data returned (last flight, last arrival, last listing sighting)."
      +}
    • addedOutput schema / properties / _meta / properties / sourceUpdatedAt
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Last sync of the underlying source (RAB snapshot, registry import, listing scan). Never in the future."
      +}
    • addedOutput schema / properties / _meta / properties / validUntil
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Expiry of the fact returned, when it has one (CVA validity, period end)."
      +}
    • addedOutput schema / properties / code
      Added value: +{
      +  "description": "Machine-readable error code (INTERNAL, TIMEOUT, INVALID_ARGUMENT, NOT_FOUND, TOOL_FAILED, ACCOUNT_KEY_REQUIRED).",
      +  "type": "string"
      +}
    • addedOutput schema / properties / requestId
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / retryable
      Added value: +{
      +  "type": "boolean"
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), but the description goes well beyond them: the data source's start date (2026-02-03), that filters run in the database, that 'found:false' means zero across the whole period, that 'truncated' means more pages via nextCursor, the 200-row cap, and the sameAirframeAs de-duplication rule. This is exactly the operational context annotations cannot express.

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?

Information-dense with no filler sentences, and the core scope ('registry changes, not movements') is front-loaded. It is a long single block that could be split for scanability, but every clause carries a distinct constraint.

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 an output schema present, the description need not explain return values, and it still supplies the pagination model, count semantics, de-duplication caveat, and the sale-versus-registry distinction. Nothing an agent needs to call or interpret this tool correctly is missing.

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 schema already documents every parameter including the enum meanings and the default executive segment. The description restates the filter set and default without adding syntax or format beyond the schema; baseline 3 is appropriate.

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?

States a specific verb and resource ('Changes in the Brazilian REGISTRY (RAB) between two dates') and immediately enumerates the resource scope (entry/exit/owner_change/operator_change/status_change). It explicitly distinguishes itself from siblings by declaring it is 'not airport movements', which an agent can use to separate it from jt_movements 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 Guidelines5/5

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

Gives explicit exclusions that route the agent to alternatives: 'not airport movements' and 'A registry change is NOT a sale (see the caveat field)'. Combined with the enumerated change types and the note that filters default to executive, the agent knows both when to use this and when to reach for a different tool.

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.

Resources