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, registrations, company cnpj; default segment executive, or all when registrations or cnpj is set) are applied in the database. The company filter matches the aircraft linked to the CNPJ today plus owner/operator changes whose before or after name is a name the RAB uses for that company, so aircraft that already left it are included; company.rabNamesMatched says how many RAB names matched (0 = only current aircraft). Each row then carries companyMatch: name (the company is one side of that change) or current_aircraft (the aircraft belongs to it today; the row can predate its arrival). The RAB history keeps only the first owner name, so a company that was a minority co-owner of an aircraft that already left can be missed. summary comes first: changes by type (entry, exit, owner_change, operator_change, status_change) and distinct aircraft (serial + model counted once) for the whole filter, all pages; 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

NameRequiredDescriptionDefault
toNoEnd date, YYYY-MM-DD (inclusive). Default: today.
ufNoRegistered state (UF) of the owner.
cnpjNoOnly changes of this company: 14-digit CNPJ or 8-digit root. Includes aircraft that already left it. CPF is not accepted.
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. Not a registration: a Brazilian registration here (PS-VLY) is moved to registrations and the answer carries notice.
cursorNonextCursor from a previous page.
segmentNoDefault executive; default all when registrations or cnpj is set.
registrationsNoOnly these registrations (with or without hyphen).

Output 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 / model / description
      Previous value: -"Catalog slug, family slug or free text."New value: +"Catalog slug, family slug or free text. Not a registration: a Brazilian registration here (PS-VLY) is moved to registrations and the answer carries notice."
  2. Changed3 schema fields changed
    • addedInput schema / properties / cnpj
      Added value: +{
      +  "description": "Only changes of this company: 14-digit CNPJ or 8-digit root. Includes aircraft that already left it. CPF is not accepted.",
      +  "maxLength": 18,
      +  "minLength": 8,
      +  "type": "string"
      +}
    • addedInput schema / properties / registrations
      Added value: +{
      +  "description": "Only these registrations (with or without hyphen).",
      +  "items": {
      +    "maxLength": 20,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 25,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • changedInput schema / properties / segment / description
      Previous value: -"Default executive."New value: +"Default executive; default all when registrations or cnpj is set."
  3. Changed1 schema field changed
    • changedInput schema / properties / uf / description
      Previous value: -"Base state (UF)."New value: +"Registered state (UF) of the owner."
  4. Changed1 schema field changed
    • changedOutput schema / properties / _meta / required
      Previous value: -[
      -  "tool",
      -  "tier",
      -  "source",
      -  "asOf",
      -  "gated",
      -  "via"
      -]New value: +[
      +  "tool",
      +  "source",
      +  "asOf",
      +  "gated",
      +  "via"
      +]
  5. 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"
      +}
  6. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds substantial context beyond them: data source is the RAB changelog since 2026-02-03, filters run in the database, pagination caps at 200 with cursor, and truncated/found/total are precisely defined. It also discloses real limitations of the company filter (rabNamesMatched=0, minority co-owner blind spot, rows can predate arrival).

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

Conciseness3/5

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

Purpose and the key exclusion are front-loaded, but the single dense paragraph packs caveats (companyMatch, rabNamesMatched, sameAirframeAs, co-owner blind spot) with little structural separation, and the airport-movement exclusion is restated at the end. Every detail is useful, but the wall-of-text form hurts scanability.

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?

For a filtered, paginated, caveat-heavy analytics tool with 11 parameters, the description covers the data window, filtering semantics, pagination and result-count semantics, and the known data-quality traps. Nothing an agent needs in order to interpret results correctly is missing.

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 schema baseline applies, but the description adds cross-parameter behavior the schema does not: the segment default flips to 'all' when registrations or cnpj is set, and cnpj matching includes historical owner/operator names plus current aircraft. It stops short of explaining limit/cursor interplay beyond the max-200 note.

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+resource+scope: registry (RAB) changes between two dates, enumerating the five change types (entry, exit, owner_change, operator_change, status_change). It explicitly says 'not airport movements', which cleanly separates it from siblings like jt_movements and jt_ground_events.

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 real when-not guidance: registry changes are not airport movements and not sales (points to the caveat field), which prevents the most likely misuse. It does not name the sibling tools to use instead (e.g. jt_movements, jt_market_listings), so routing is inferred rather than explicit.

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