Skip to main content
Glama

Place an employer in a country

resolve_employer
Read-onlyIdempotent

Places an employer name in a country and lists the employers we hold that it may mean, each with a confidence from 0 to 1. For employers we researched it adds what the employer became and its workplace pension plan, each fact with source and read date. Legal entities only.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

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

Input Schema

NameRequiredDescriptionDefault
nameYesThe employer name as the person knows it, ideally with legal form and city, for example "Shell Nederland B.V.".
countryNoOptional. The country worked in: a name, alias or ISO code. Matches are then taken from that country only.
languageNoOptional. Language of our own sentences, default en: en, ar, da, de, es, fa, fr, hi, id, it, ja, ko, nb, nl, pl, pt, pt-BR, ro, ru, sv, th, tl, tr, zh, vi, uk, bg. Facts stay as stored.
include_offerNoOptional, default false. Set true to add next_step, our report offer for this country. The offer the person sees comes from check_work_history (one offer for the whole history) or create_order_link.
previousNamesNoOptional. Earlier names worked under (maiden, married). Never stored.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / include_offer
      Added value: +{
      +  "default": false,
      +  "description": "Optional, default false. Set true to add next_step, our report offer for this country. The offer the person sees comes from check_work_history (one offer for the whole history) or create_order_link.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / previousNames
      Added value: +{
      +  "description": "Optional. Earlier names worked under (maiden, married). Never stored.",
      +  "items": {
      +    "maxLength": 80,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 5,
      +  "type": "array"
      +}
  2. Changed4 schema fields changed
    • changedInput schema / properties / country / description
      Previous value: -"Optional. The country the person worked in for this employer, as a name, alias or ISO code. Matches are then taken from that country only, and a name we do not hold there is said to be not found rather than matched elsewhere."New value: +"Optional. The country worked in: a name, alias or ISO code. Matches are then taken from that country only."
    • changedInput schema / properties / language / description
      Previous value: -"Optional. The language for our own sentences (notes, offer, labels, gap and register sentences), as an ISO 639-1 code: en, ar, da, de, es, fa, fr, hi, id, it, ja, ko, nb, nl, pl, pt, pt-BR, ro, ru, sv, th, tl, tr, zh, vi, uk, bg. Default en. pt is European Portuguese, pt-BR Brazilian, zh Simplified Chinese. Facts, numbers, dates, names and authority answers stay exactly as stored; a fact translation appears only from our committed table, marked translation: true. An unknown code is answered in English with a note."New value: +"Optional. Language of our own sentences, default en: en, ar, da, de, es, fa, fr, hi, id, it, ja, ko, nb, nl, pl, pt, pt-BR, ro, ru, sv, th, tl, tr, zh, vi, uk, bg. Facts stay as stored."
    • changedInput schema / properties / name / description
      Previous value: -"The employer name as the person knows it, ideally with its legal form and city, for example \"Shell Nederland B.V.\" or \"Deutsche Bank Frankfurt\"."New value: +"The employer name as the person knows it, ideally with legal form and city, for example \"Shell Nederland B.V.\"."
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "candidates": {
      -      "description": "Countries the evidence allows when it does not settle on one.",
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    "citySource": {
      -      "additionalProperties": false,
      -      "description": "The cities read in the name and where we read their country.",
      -      "properties": {
      -        "cities": {
      -          "items": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "city": {
      -                "type": "string"
      -              },
      -              "iso2": {
      -                "type": "string"
      -              },
      -              "wikidata": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "city",
      -              "iso2",
      -              "wikidata"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        "read": {
      -          "type": "string"
      -        },
      -        "source": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "source",
      -        "read",
      -        "cities"
      -      ],
      -      "type": "object"
      -    },
      -    "country": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "covered": {
      -      "description": "True when the country is one we cover.",
      -      "type": "boolean"
      -    },
      -    "currentEntity": {
      -      "additionalProperties": false,
      -      "description": "What the employer is called now, read from official registers (the Global LEI Index, then a national register): renamed, merged, unchanged, ambiguous when several entities carry exactly that name, not_found, or unavailable when the register could not be read. Legal entities only, never people.",
      -      "properties": {
      -        "read": {
      -          "description": "The date we read the register.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "source": {
      -          "description": "Publisher and register.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "status": {
      -          "enum": [
      -            "renamed",
      -            "merged",
      -            "unchanged",
      -            "ambiguous",
      -            "not_found",
      -            "unavailable"
      -          ],
      -          "type": "string"
      -        },
      -        "steps": {
      -          "items": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "date": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "from": {
      -                "type": "string"
      -              },
      -              "kind": {
      -                "type": "string"
      -              },
      -              "to": {
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "from",
      -              "to",
      -              "kind",
      -              "date"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        "text": {
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "status",
      -        "text",
      -        "steps",
      -        "source",
      -        "read"
      -      ],
      -      "type": "object"
      -    },
      -    "evidence": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "countries": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "kind": {
      -            "enum": [
      -              "country",
      -              "recorded",
      -              "city",
      -              "nationality",
      -              "suffix"
      -            ],
      -            "type": "string"
      -          },
      -          "matched": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "kind",
      -          "matched",
      -          "countries"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "freeOfficialRoute": {
      -      "description": "The official free routes, first and never empty for a covered country: each official body or service with what it does (role), the scheme it covers, whether it works from abroad, and the website, email, phone and post we read on its own page with the date. Our report is only what we add on top.",
      -      "items": {
      -        "additionalProperties": false,
      -        "description": "An official body's contact details, read from its own page on the date given. email is null when the page publishes none; emailNote then says so and online gives the official service or form.",
      -        "properties": {
      -          "abroadOnly": {
      -            "description": "Present and true for a route that exists for people living OUTSIDE the country (e.g. the UK International Pension Centre); it is dropped for a person who resides in that country.",
      -            "type": "boolean"
      -          },
      -          "contactPage": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "email": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "emailNote": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "fromAbroad": {
      -            "additionalProperties": false,
      -            "description": "Whether the route works for a person living abroad, as our directory or the body's own page records it, with the note behind it.",
      -            "properties": {
      -              "note": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "verdict": {
      -                "enum": [
      -                  "yes",
      -                  "conditional",
      -                  "mostly_in_country",
      -                  "not_stated"
      -                ],
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "verdict",
      -              "note"
      -            ],
      -            "type": "object"
      -          },
      -          "hours": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "id": {
      -            "type": "string"
      -          },
      -          "institution": {
      -            "type": "string"
      -          },
      -          "iso2": {
      -            "type": "string"
      -          },
      -          "online": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "name": {
      -                "type": "string"
      -              },
      -              "url": {
      -                "format": "uri",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "name",
      -              "url"
      -            ],
      -            "type": [
      -              "object",
      -              "null"
      -            ]
      -          },
      -          "phone": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "phoneFromAbroad": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "post": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "process": {
      -            "description": "What the route does: tracing, record or payment.",
      -            "items": {
      -              "description": "What the fact is about: tracing (finding which scheme or fund holds it), record (seeing your record or forecast) or payment (applying for payment).",
      -              "enum": [
      -                "tracing",
      -                "record",
      -                "payment"
      -              ],
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "quote": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "read": {
      -            "type": "string"
      -          },
      -          "role": {
      -            "type": "string"
      -          },
      -          "scheme": {
      -            "description": "The scheme the fact is about: state (state pension), workplace (workplace or occupational pension), provident (a national provident fund account) or personal (personal pension).",
      -            "items": {
      -              "enum": [
      -                "state",
      -                "workplace",
      -                "provident",
      -                "personal"
      -              ],
      -              "type": "string"
      -            },
      -            "minItems": 1,
      -            "type": "array"
      -          },
      -          "source": {
      -            "type": "string"
      -          },
      -          "website": {
      -            "format": "uri",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "iso2",
      -          "institution",
      -          "role",
      -          "website",
      -          "contactPage",
      -          "email",
      -          "emailNote",
      -          "phone",
      -          "phoneFromAbroad",
      -          "hours",
      -          "post",
      -          "online",
      -          "source",
      -          "read",
      -          "quote"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "iso2": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "language": {
      -      "additionalProperties": false,
      -      "description": "Present when language was sent: the language served, its own name, and labels for source, read date, translation and original in that language. Our sentences in this result are translations of our own wording, review recommended.",
      -      "properties": {
      -        "facts": {
      -          "description": "In the served language: facts, numbers and dates are served exactly as stored.",
      -          "type": "string"
      -        },
      -        "labels": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "original": {
      -              "type": "string"
      -            },
      -            "read": {
      -              "type": "string"
      -            },
      -            "source": {
      -              "type": "string"
      -            },
      -            "translation": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "source",
      -            "read",
      -            "translation",
      -            "original"
      -          ],
      -          "type": "object"
      -        },
      -        "name": {
      -          "type": "string"
      -        },
      -        "note": {
      -          "description": "Why the result is in English, when the language sent is not one we serve.",
      -          "type": [
      -            "string",
      -            "null"
      -          ]
      -        },
      -        "ourWording": {
      -          "description": "In the served language: these are translations of our own wording, review recommended.",
      -          "type": "string"
      -        },
      -        "requested": {
      -          "description": "The language as sent, when it reads as a language tag; empty otherwise.",
      -          "type": "string"
      -        },
      -        "served": {
      -          "enum": [
      -            "en",
      -            "ar",
      -            "da",
      -            "de",
      -            "es",
      -            "fa",
      -            "fr",
      -            "hi",
      -            "id",
      -            "it",
      -            "ja",
      -            "ko",
      -            "nb",
      -            "nl",
      -            "pl",
      -            "pt",
      -            "pt-BR",
      -            "ro",
      -            "ru",
      -            "sv",
      -            "th",
      -            "tl",
      -            "tr",
      -            "zh",
      -            "vi",
      -            "uk",
      -            "bg"
      -          ],
      -          "type": "string"
      -        },
      -        "supported": {
      -          "description": "False when the language sent is not one of ours; the result is then in English.",
      -          "type": "boolean"
      -        }
      -      },
      -      "required": [
      -        "requested",
      -        "served",
      -        "name",
      -        "supported",
      -        "note",
      -        "ourWording",
      -        "facts",
      -        "labels"
      -      ],
      -      "type": "object"
      -    },
      -    "lineage": {
      -      "description": "Sourced renames, sales and mergers of the employer, each from an official or company page with a verbatim quote and the date we read it. Never inferred from the name.",
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "iso2": {
      -            "type": "string"
      -          },
      -          "kind": {
      -            "enum": [
      -              "rename",
      -              "sale",
      -              "merger"
      -            ],
      -            "type": "string"
      -          },
      -          "newName": {
      -            "type": "string"
      -          },
      -          "oldName": {
      -            "type": "string"
      -          },
      -          "quote": {
      -            "type": "string"
      -          },
      -          "read": {
      -            "type": "string"
      -          },
      -          "since": {
      -            "type": "integer"
      -          },
      -          "source": {
      -            "type": "string"
      -          },
      -          "text": {
      -            "type": "string"
      -          },
      -          "url": {
      -            "format": "uri",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "oldName",
      -          "newName",
      -          "kind",
      -          "since",
      -          "iso2",
      -          "text",
      -          "source",
      -          "url",
      -          "quote",
      -          "read"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "localName": {
      -      "description": "The country name in the language served, from Unicode CLDR. Present only for a language other than English.",
      -      "type": "string"
      -    },
      -    "matches": {
      -      "description": "Employers we hold that the name may mean, best first, each with its confidence and the register facts it carries.",
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "confidence": {
      -            "type": "number"
      -          },
      -          "country": {
      -            "type": "string"
      -          },
      -          "employer": {
      -            "type": "string"
      -          },
      -          "facts": {
      -            "items": {
      -              "additionalProperties": false,
      -              "description": "A stored fact with the source it came from and the date we read that source. Null when we hold no sourced line.",
      -              "properties": {
      -                "read": {
      -                  "description": "The date we read the source, for example 7 October 2026.",
      -                  "type": "string"
      -                },
      -                "source": {
      -                  "description": "The publisher or document the fact comes from.",
      -                  "type": "string"
      -                },
      -                "text": {
      -                  "type": "string"
      -                },
      -                "translated": {
      -                  "additionalProperties": false,
      -                  "description": "A translation of the fact above, present only when our committed table holds one for that exact text. The original text stays in text.",
      -                  "properties": {
      -                    "language": {
      -                      "enum": [
      -                        "en",
      -                        "ar",
      -                        "da",
      -                        "de",
      -                        "es",
      -                        "fa",
      -                        "fr",
      -                        "hi",
      -                        "id",
      -                        "it",
      -                        "ja",
      -                        "ko",
      -                        "nb",
      -                        "nl",
      -                        "pl",
      -                        "pt",
      -                        "pt-BR",
      -                        "ro",
      -                        "ru",
      -                        "sv",
      -                        "th",
      -                        "tl",
      -                        "tr",
      -                        "zh",
      -                        "vi",
      -                        "uk",
      -                        "bg"
      -                      ],
      -                      "type": "string"
      -                    },
      -                    "text": {
      -                      "type": "string"
      -                    },
      -                    "translation": {
      -                      "enum": [
      -                        true
      -                      ],
      -                      "type": "boolean"
      -                    }
      -                  },
      -                  "required": [
      -                    "language",
      -                    "text",
      -                    "translation"
      -                  ],
      -                  "type": "object"
      -                }
      -              },
      -              "required": [
      -                "text",
      -                "source",
      -                "read"
      -              ],
      -              "type": [
      -                "object",
      -                "null"
      -              ]
      -            },
      -            "type": "array"
      -          },
      -          "from": {
      -            "enum": [
      -              "history",
      -              "directory"
      -            ],
      -            "type": "string"
      -          },
      -          "iso2": {
      -            "type": "string"
      -          },
      -          "lei": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "page": {
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          },
      -          "source": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "employer",
      -          "iso2",
      -          "country",
      -          "confidence",
      -          "from",
      -          "page",
      -          "lei",
      -          "facts",
      -          "source"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "name": {
      -      "type": "string"
      -    },
      -    "next_step": {
      -      "additionalProperties": false,
      -      "description": "What we add to the free official route, as one structured field built from the finding: one line to pass on, the pre-filled order link with a source tag, the tier, the country and the fee from our price config. Country tier for one or two likely countries; Global only when three or more countries are likely. Absent when the result found nothing in a country we research, or names only mapped countries.",
      -      "properties": {
      -        "compare": {
      -          "additionalProperties": false,
      -          "description": "For two likely countries: two Country reports against one Global report, both prices from our config. Global is best from 3 countries.",
      -          "properties": {
      -            "country_reports_usd": {
      -              "type": "integer"
      -            },
      -            "global_usd": {
      -              "type": "integer"
      -            },
      -            "reason": {
      -              "type": "string"
      -            },
      -            "recommended": {
      -              "enum": [
      -                "country"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "country_reports_usd",
      -            "global_usd",
      -            "recommended",
      -            "reason"
      -          ],
      -          "type": "object"
      -        },
      -        "countries": {
      -          "description": "Every country the step covers, ISO codes.",
      -          "items": {
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        "country": {
      -          "description": "ISO 3166 alpha-2 code of the country, or the first of them.",
      -          "type": "string"
      -        },
      -        "line": {
      -          "description": "One line to pass on to the person, with the fee.",
      -          "type": "string"
      -        },
      -        "order_url": {
      -          "description": "Our order page with tier and countries filled in and utm_source=connector, utm_medium=mcp, utm_campaign=<tool>. Never personal data.",
      -          "format": "uri",
      -          "type": "string"
      -        },
      -        "price_usd": {
      -          "description": "The fee in whole US dollars, from our price config.",
      -          "type": "integer"
      -        },
      -        "refund": {
      -          "description": "The refund promise, from our pricing config.",
      -          "type": "string"
      -        },
      -        "refund_url": {
      -          "description": "The page that defines the refund promise.",
      -          "format": "uri",
      -          "type": "string"
      -        },
      -        "tier": {
      -          "enum": [
      -            "country",
      -            "global"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "line",
      -        "order_url",
      -        "tier",
      -        "country",
      -        "countries",
      -        "price_usd",
      -        "refund",
      -        "refund_url"
      -      ],
      -      "type": "object"
      -    },
      -    "normalisedName": {
      -      "description": "The name as we compare it: no city, country, legal form, punctuation or case. The name sent is kept as sent.",
      -      "type": "string"
      -    },
      -    "reason": {
      -      "type": "string"
      -    },
      -    "resolved": {
      -      "type": "boolean"
      -    },
      -    "sample_report": {
      -      "description": "Our sample report, to read what a report holds before ordering.",
      -      "format": "uri",
      -      "type": "string"
      -    },
      -    "schemeRegister": {
      -      "additionalProperties": false,
      -      "description": "Where the employer's country lists occupational pension funds, or that it has no such public register. Null when the country is not settled.",
      -      "properties": {
      -        "read": {
      -          "description": "The date we read the source, for example 7 October 2026.",
      -          "type": "string"
      -        },
      -        "source": {
      -          "description": "The publisher or document the fact comes from.",
      -          "type": "string"
      -        },
      -        "text": {
      -          "type": "string"
      -        },
      -        "translated": {
      -          "additionalProperties": false,
      -          "description": "A translation of the fact above, present only when our committed table holds one for that exact text. The original text stays in text.",
      -          "properties": {
      -            "language": {
      -              "enum": [
      -                "en",
      -                "ar",
      -                "da",
      -                "de",
      -                "es",
      -                "fa",
      -                "fr",
      -                "hi",
      -                "id",
      -                "it",
      -                "ja",
      -                "ko",
      -                "nb",
      -                "nl",
      -                "pl",
      -                "pt",
      -                "pt-BR",
      -                "ro",
      -                "ru",
      -                "sv",
      -                "th",
      -                "tl",
      -                "tr",
      -                "zh",
      -                "vi",
      -                "uk",
      -                "bg"
      -              ],
      -              "type": "string"
      -            },
      -            "text": {
      -              "type": "string"
      -            },
      -            "translation": {
      -              "enum": [
      -                true
      -              ],
      -              "type": "boolean"
      -            }
      -          },
      -          "required": [
      -            "language",
      -            "text",
      -            "translation"
      -          ],
      -          "type": "object"
      -        }
      -      },
      -      "required": [
      -        "text",
      -        "source",
      -        "read"
      -      ],
      -      "type": [
      -        "object",
      -        "null"
      -      ]
      -    },
      -    "workplacePension": {
      -      "additionalProperties": false,
      -      "description": "For an employer we researched by hand: what the employer became and the workplace pension plan for its people, each fact with its source page, verbatim quote and read date, the plan's published contact, and our independence line. Identification only: a plan named here is not a statement that a given person is a member.",
      -      "properties": {
      -        "caveat": {
      -          "type": "string"
      -        },
      -        "confidence": {
      -          "description": "How closely the name sent matches this employer, 0 to 1.",
      -          "type": "number"
      -        },
      -        "employer": {
      -          "type": "string"
      -        },
      -        "history": {
      -          "items": {
      -            "additionalProperties": false,
      -            "description": "A fact with its source, the page it was read on, the words on that page and the date we read it.",
      -            "properties": {
      -              "quote": {
      -                "description": "Verbatim words from the source.",
      -                "type": "string"
      -              },
      -              "read": {
      -                "type": "string"
      -              },
      -              "source": {
      -                "type": "string"
      -              },
      -              "text": {
      -                "type": "string"
      -              },
      -              "url": {
      -                "format": "uri",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "text",
      -              "source",
      -              "read"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        "schemes": {
      -          "items": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "contact": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "email": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "hours": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "phone": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "post": {
      -                    "type": [
      -                      "string",
      -                      "null"
      -                    ]
      -                  },
      -                  "quote": {
      -                    "type": "string"
      -                  },
      -                  "read": {
      -                    "type": "string"
      -                  },
      -                  "role": {
      -                    "type": "string"
      -                  },
      -                  "sourceUrl": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "role",
      -                  "email",
      -                  "phone",
      -                  "post",
      -                  "hours",
      -                  "sourceUrl",
      -                  "read",
      -                  "quote"
      -                ],
      -                "type": [
      -                  "object",
      -                  "null"
      -                ]
      -              },
      -              "facts": {
      -                "items": {
      -                  "additionalProperties": false,
      -                  "description": "A fact with its source, the page it was read on, the words on that page and the date we read it.",
      -                  "properties": {
      -                    "quote": {
      -                      "description": "Verbatim words from the source.",
      -                      "type": "string"
      -                    },
      -                    "read": {
      -                      "type": "string"
      -                    },
      -                    "source": {
      -                      "type": "string"
      -                    },
      -                    "text": {
      -                      "type": "string"
      -                    },
      -                    "url": {
      -                      "format": "uri",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "text",
      -                    "source",
      -                    "read"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "independence": {
      -                "type": "string"
      -              },
      -              "name": {
      -                "type": "string"
      -              },
      -              "registrationNumber": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              }
      -            },
      -            "required": [
      -              "name",
      -              "registrationNumber",
      -              "facts",
      -              "contact",
      -              "independence"
      -            ],
      -            "type": "object"
      -          },
      -          "type": "array"
      -        }
      -      },
      -      "required": [
      -        "employer",
      -        "confidence",
      -        "history",
      -        "schemes",
      -        "caveat"
      -      ],
      -      "type": "object"
      -    }
      -  },
      -  "required": [
      -    "name",
      -    "resolved",
      -    "country",
      -    "iso2",
      -    "covered",
      -    "candidates",
      -    "evidence",
      -    "reason",
      -    "currentEntity",
      -    "schemeRegister"
      -  ],
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • addedOutput schema / properties / freeOfficialRoute / items / properties / abroadOnly
      Added value: +{
      +  "description": "Present and true for a route that exists for people living OUTSIDE the country (e.g. the UK International Pension Centre); it is dropped for a person who resides in that country.",
      +  "type": "boolean"
      +}
  4. Changed1 schema field changed
    • changedOutput schema / properties / next_step / properties / compare / description
      Previous value: -"For two likely countries: two Country reports against one Global report, both prices from our config. Global is recommended from three countries."New value: +"For two likely countries: two Country reports against one Global report, both prices from our config. Global is best from 3 countries."
  5. Changed11 schema fields changed
    • addedInput schema / properties / country
      Added value: +{
      +  "description": "Optional. The country the person worked in for this employer, as a name, alias or ISO code. Matches are then taken from that country only, and a name we do not hold there is said to be not found rather than matched elsewhere.",
      +  "maxLength": 80,
      +  "type": "string"
      +}
    • changedOutput schema / properties / freeOfficialRoute / description
      Previous value: -"The free official route first: the official bodies for this country and this kind of pension, with website, email, phone and the date we read their contact page. Our report is only what we add on top."New value: +"The official free routes, first and never empty for a covered country: each official body or service with what it does (role), the scheme it covers, whether it works from abroad, and the website, email, phone and post we read on its own page with the date. Our report is only what we add on top."
    • addedOutput schema / properties / freeOfficialRoute / items / properties / fromAbroad
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Whether the route works for a person living abroad, as our directory or the body's own page records it, with the note behind it.",
      +  "properties": {
      +    "note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "verdict": {
      +      "enum": [
      +        "yes",
      +        "conditional",
      +        "mostly_in_country",
      +        "not_stated"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "verdict",
      +    "note"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / freeOfficialRoute / items / properties / process
      Added value: +{
      +  "description": "What the route does: tracing, record or payment.",
      +  "items": {
      +    "description": "What the fact is about: tracing (finding which scheme or fund holds it), record (seeing your record or forecast) or payment (applying for payment).",
      +    "enum": [
      +      "tracing",
      +      "record",
      +      "payment"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / freeOfficialRoute / items / properties / scheme
      Added value: +{
      +  "description": "The scheme the fact is about: state (state pension), workplace (workplace or occupational pension), provident (a national provident fund account) or personal (personal pension).",
      +  "items": {
      +    "enum": [
      +      "state",
      +      "workplace",
      +      "provident",
      +      "personal"
      +    ],
      +    "type": "string"
      +  },
      +  "minItems": 1,
      +  "type": "array"
      +}
    • addedOutput schema / properties / lineage
      Added value: +{
      +  "description": "Sourced renames, sales and mergers of the employer, each from an official or company page with a verbatim quote and the date we read it. Never inferred from the name.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "iso2": {
      +        "type": "string"
      +      },
      +      "kind": {
      +        "enum": [
      +          "rename",
      +          "sale",
      +          "merger"
      +        ],
      +        "type": "string"
      +      },
      +      "newName": {
      +        "type": "string"
      +      },
      +      "oldName": {
      +        "type": "string"
      +      },
      +      "quote": {
      +        "type": "string"
      +      },
      +      "read": {
      +        "type": "string"
      +      },
      +      "since": {
      +        "type": "integer"
      +      },
      +      "source": {
      +        "type": "string"
      +      },
      +      "text": {
      +        "type": "string"
      +      },
      +      "url": {
      +        "format": "uri",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "oldName",
      +      "newName",
      +      "kind",
      +      "since",
      +      "iso2",
      +      "text",
      +      "source",
      +      "url",
      +      "quote",
      +      "read"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / next_step / properties / compare
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "For two likely countries: two Country reports against one Global report, both prices from our config. Global is recommended from three countries.",
      +  "properties": {
      +    "country_reports_usd": {
      +      "type": "integer"
      +    },
      +    "global_usd": {
      +      "type": "integer"
      +    },
      +    "reason": {
      +      "type": "string"
      +    },
      +    "recommended": {
      +      "enum": [
      +        "country"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "country_reports_usd",
      +    "global_usd",
      +    "recommended",
      +    "reason"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / next_step / properties / refund
      Added value: +{
      +  "description": "The refund promise, from our pricing config.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / next_step / properties / refund_url
      Added value: +{
      +  "description": "The page that defines the refund promise.",
      +  "format": "uri",
      +  "type": "string"
      +}
    • changedOutput schema / properties / next_step / required
      Previous value: -[
      -  "line",
      -  "order_url",
      -  "tier",
      -  "country",
      -  "countries",
      -  "price_usd"
      -]New value: +[
      +  "line",
      +  "order_url",
      +  "tier",
      +  "country",
      +  "countries",
      +  "price_usd",
      +  "refund",
      +  "refund_url"
      +]
    • addedOutput schema / properties / sample_report
      Added value: +{
      +  "description": "Our sample report, to read what a report holds before ordering.",
      +  "format": "uri",
      +  "type": "string"
      +}
  6. Changed8 schema fields changed
    • addedOutput schema / properties / citySource
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "The cities read in the name and where we read their country.",
      +  "properties": {
      +    "cities": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "city": {
      +            "type": "string"
      +          },
      +          "iso2": {
      +            "type": "string"
      +          },
      +          "wikidata": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "city",
      +          "iso2",
      +          "wikidata"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "read": {
      +      "type": "string"
      +    },
      +    "source": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "source",
      +    "read",
      +    "cities"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / freeOfficialRoute
      Added value: +{
      +  "description": "The free official route first: the official bodies for this country and this kind of pension, with website, email, phone and the date we read their contact page. Our report is only what we add on top.",
      +  "items": {
      +    "additionalProperties": false,
      +    "description": "An official body's contact details, read from its own page on the date given. email is null when the page publishes none; emailNote then says so and online gives the official service or form.",
      +    "properties": {
      +      "contactPage": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "email": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "emailNote": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "hours": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "institution": {
      +        "type": "string"
      +      },
      +      "iso2": {
      +        "type": "string"
      +      },
      +      "online": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "name": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "format": "uri",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "url"
      +        ],
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "phone": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "phoneFromAbroad": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "post": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "quote": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "read": {
      +        "type": "string"
      +      },
      +      "role": {
      +        "type": "string"
      +      },
      +      "source": {
      +        "type": "string"
      +      },
      +      "website": {
      +        "format": "uri",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id",
      +      "iso2",
      +      "institution",
      +      "role",
      +      "website",
      +      "contactPage",
      +      "email",
      +      "emailNote",
      +      "phone",
      +      "phoneFromAbroad",
      +      "hours",
      +      "post",
      +      "online",
      +      "source",
      +      "read",
      +      "quote"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / matches
      Added value: +{
      +  "description": "Employers we hold that the name may mean, best first, each with its confidence and the register facts it carries.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "confidence": {
      +        "type": "number"
      +      },
      +      "country": {
      +        "type": "string"
      +      },
      +      "employer": {
      +        "type": "string"
      +      },
      +      "facts": {
      +        "items": {
      +          "additionalProperties": false,
      +          "description": "A stored fact with the source it came from and the date we read that source. Null when we hold no sourced line.",
      +          "properties": {
      +            "read": {
      +              "description": "The date we read the source, for example 7 October 2026.",
      +              "type": "string"
      +            },
      +            "source": {
      +              "description": "The publisher or document the fact comes from.",
      +              "type": "string"
      +            },
      +            "text": {
      +              "type": "string"
      +            },
      +            "translated": {
      +              "additionalProperties": false,
      +              "description": "A translation of the fact above, present only when our committed table holds one for that exact text. The original text stays in text.",
      +              "properties": {
      +                "language": {
      +                  "enum": [
      +                    "en",
      +                    "ar",
      +                    "da",
      +                    "de",
      +                    "es",
      +                    "fa",
      +                    "fr",
      +                    "hi",
      +                    "id",
      +                    "it",
      +                    "ja",
      +                    "ko",
      +                    "nb",
      +                    "nl",
      +                    "pl",
      +                    "pt",
      +                    "pt-BR",
      +                    "ro",
      +                    "ru",
      +                    "sv",
      +                    "th",
      +                    "tl",
      +                    "tr",
      +                    "zh",
      +                    "vi",
      +                    "uk",
      +                    "bg"
      +                  ],
      +                  "type": "string"
      +                },
      +                "text": {
      +                  "type": "string"
      +                },
      +                "translation": {
      +                  "enum": [
      +                    true
      +                  ],
      +                  "type": "boolean"
      +                }
      +              },
      +              "required": [
      +                "language",
      +                "text",
      +                "translation"
      +              ],
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "text",
      +            "source",
      +            "read"
      +          ],
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "type": "array"
      +      },
      +      "from": {
      +        "enum": [
      +          "history",
      +          "directory"
      +        ],
      +        "type": "string"
      +      },
      +      "iso2": {
      +        "type": "string"
      +      },
      +      "lei": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "page": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "source": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "employer",
      +      "iso2",
      +      "country",
      +      "confidence",
      +      "from",
      +      "page",
      +      "lei",
      +      "facts",
      +      "source"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / next_step
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "What we add to the free official route, as one structured field built from the finding: one line to pass on, the pre-filled order link with a source tag, the tier, the country and the fee from our price config. Country tier for one or two likely countries; Global only when three or more countries are likely. Absent when the result found nothing in a country we research, or names only mapped countries.",
      +  "properties": {
      +    "countries": {
      +      "description": "Every country the step covers, ISO codes.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "country": {
      +      "description": "ISO 3166 alpha-2 code of the country, or the first of them.",
      +      "type": "string"
      +    },
      +    "line": {
      +      "description": "One line to pass on to the person, with the fee.",
      +      "type": "string"
      +    },
      +    "order_url": {
      +      "description": "Our order page with tier and countries filled in and utm_source=connector, utm_medium=mcp, utm_campaign=<tool>. Never personal data.",
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "price_usd": {
      +      "description": "The fee in whole US dollars, from our price config.",
      +      "type": "integer"
      +    },
      +    "tier": {
      +      "enum": [
      +        "country",
      +        "global"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "line",
      +    "order_url",
      +    "tier",
      +    "country",
      +    "countries",
      +    "price_usd"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / normalisedName
      Added value: +{
      +  "description": "The name as we compare it: no city, country, legal form, punctuation or case. The name sent is kept as sent.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / offer
      Removed value: -{
      -  "description": "The report offer, with prices, delivery time and refund terms. Absent when the result names mapped countries and no researched one.",
      -  "type": "string"
      -}
    • removedOutput schema / properties / orderUrl
      Removed value: -{
      -  "description": "Order page for the countries in this result: tier=country&country=<ISO> for one covered country, tier=global for several. It never carries personal data. Absent when the result names mapped countries and no researched one.",
      -  "format": "uri",
      -  "type": "string"
      -}
    • addedOutput schema / properties / workplacePension
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "For an employer we researched by hand: what the employer became and the workplace pension plan for its people, each fact with its source page, verbatim quote and read date, the plan's published contact, and our independence line. Identification only: a plan named here is not a statement that a given person is a member.",
      +  "properties": {
      +    "caveat": {
      +      "type": "string"
      +    },
      +    "confidence": {
      +      "description": "How closely the name sent matches this employer, 0 to 1.",
      +      "type": "number"
      +    },
      +    "employer": {
      +      "type": "string"
      +    },
      +    "history": {
      +      "items": {
      +        "additionalProperties": false,
      +        "description": "A fact with its source, the page it was read on, the words on that page and the date we read it.",
      +        "properties": {
      +          "quote": {
      +            "description": "Verbatim words from the source.",
      +            "type": "string"
      +          },
      +          "read": {
      +            "type": "string"
      +          },
      +          "source": {
      +            "type": "string"
      +          },
      +          "text": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "format": "uri",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "text",
      +          "source",
      +          "read"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "schemes": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "contact": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "email": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "hours": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "phone": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "post": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "quote": {
      +                "type": "string"
      +              },
      +              "read": {
      +                "type": "string"
      +              },
      +              "role": {
      +                "type": "string"
      +              },
      +              "sourceUrl": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "role",
      +              "email",
      +              "phone",
      +              "post",
      +              "hours",
      +              "sourceUrl",
      +              "read",
      +              "quote"
      +            ],
      +            "type": [
      +              "object",
      +              "null"
      +            ]
      +          },
      +          "facts": {
      +            "items": {
      +              "additionalProperties": false,
      +              "description": "A fact with its source, the page it was read on, the words on that page and the date we read it.",
      +              "properties": {
      +                "quote": {
      +                  "description": "Verbatim words from the source.",
      +                  "type": "string"
      +                },
      +                "read": {
      +                  "type": "string"
      +                },
      +                "source": {
      +                  "type": "string"
      +                },
      +                "text": {
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "format": "uri",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "text",
      +                "source",
      +                "read"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "independence": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "registrationNumber": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "registrationNumber",
      +          "facts",
      +          "contact",
      +          "independence"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "employer",
      +    "confidence",
      +    "history",
      +    "schemes",
      +    "caveat"
      +  ],
      +  "type": "object"
      +}
  7. Changed3 schema fields changed
    • changedInput schema / properties / language / description
      Previous value: -"Optional. The language for our own sentences (notes, offer, labels, gap and register sentences), as an ISO 639-1 code: en, ar, da, de, es, fa, fr, hi, id, it, ja, ko, nb, nl, pl, pt, pt-BR, ro, ru, sv, th, tl, tr, zh. Default en. pt is European Portuguese, pt-BR Brazilian, zh Simplified Chinese. Facts, numbers, dates, names and authority answers stay exactly as stored; a fact translation appears only from our committed table, marked translation: true. An unknown code is answered in English with a note."New value: +"Optional. The language for our own sentences (notes, offer, labels, gap and register sentences), as an ISO 639-1 code: en, ar, da, de, es, fa, fr, hi, id, it, ja, ko, nb, nl, pl, pt, pt-BR, ro, ru, sv, th, tl, tr, zh, vi, uk, bg. Default en. pt is European Portuguese, pt-BR Brazilian, zh Simplified Chinese. Facts, numbers, dates, names and authority answers stay exactly as stored; a fact translation appears only from our committed table, marked translation: true. An unknown code is answered in English with a note."
    • changedOutput schema / properties / language / properties / served / enum
      Previous value: -[
      -  "en",
      -  "ar",
      -  "da",
      -  "de",
      -  "es",
      -  "fa",
      -  "fr",
      -  "hi",
      -  "id",
      -  "it",
      -  "ja",
      -  "ko",
      -  "nb",
      -  "nl",
      -  "pl",
      -  "pt",
      -  "pt-BR",
      -  "ro",
      -  "ru",
      -  "sv",
      -  "th",
      -  "tl",
      -  "tr",
      -  "zh"
      -]New value: +[
      +  "en",
      +  "ar",
      +  "da",
      +  "de",
      +  "es",
      +  "fa",
      +  "fr",
      +  "hi",
      +  "id",
      +  "it",
      +  "ja",
      +  "ko",
      +  "nb",
      +  "nl",
      +  "pl",
      +  "pt",
      +  "pt-BR",
      +  "ro",
      +  "ru",
      +  "sv",
      +  "th",
      +  "tl",
      +  "tr",
      +  "zh",
      +  "vi",
      +  "uk",
      +  "bg"
      +]
    • changedOutput schema / properties / schemeRegister / properties / translated / properties / language / enum
      Previous value: -[
      -  "en",
      -  "ar",
      -  "da",
      -  "de",
      -  "es",
      -  "fa",
      -  "fr",
      -  "hi",
      -  "id",
      -  "it",
      -  "ja",
      -  "ko",
      -  "nb",
      -  "nl",
      -  "pl",
      -  "pt",
      -  "pt-BR",
      -  "ro",
      -  "ru",
      -  "sv",
      -  "th",
      -  "tl",
      -  "tr",
      -  "zh"
      -]New value: +[
      +  "en",
      +  "ar",
      +  "da",
      +  "de",
      +  "es",
      +  "fa",
      +  "fr",
      +  "hi",
      +  "id",
      +  "it",
      +  "ja",
      +  "ko",
      +  "nb",
      +  "nl",
      +  "pl",
      +  "pt",
      +  "pt-BR",
      +  "ro",
      +  "ru",
      +  "sv",
      +  "th",
      +  "tl",
      +  "tr",
      +  "zh",
      +  "vi",
      +  "uk",
      +  "bg"
      +]
  8. Changed4 schema fields changed
    • addedInput schema / properties / language
      Added value: +{
      +  "description": "Optional. The language for our own sentences (notes, offer, labels, gap and register sentences), as an ISO 639-1 code: en, ar, da, de, es, fa, fr, hi, id, it, ja, ko, nb, nl, pl, pt, pt-BR, ro, ru, sv, th, tl, tr, zh. Default en. pt is European Portuguese, pt-BR Brazilian, zh Simplified Chinese. Facts, numbers, dates, names and authority answers stay exactly as stored; a fact translation appears only from our committed table, marked translation: true. An unknown code is answered in English with a note.",
      +  "maxLength": 35,
      +  "minLength": 2,
      +  "type": "string"
      +}
    • addedOutput schema / properties / language
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Present when language was sent: the language served, its own name, and labels for source, read date, translation and original in that language. Our sentences in this result are translations of our own wording, review recommended.",
      +  "properties": {
      +    "facts": {
      +      "description": "In the served language: facts, numbers and dates are served exactly as stored.",
      +      "type": "string"
      +    },
      +    "labels": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "original": {
      +          "type": "string"
      +        },
      +        "read": {
      +          "type": "string"
      +        },
      +        "source": {
      +          "type": "string"
      +        },
      +        "translation": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "source",
      +        "read",
      +        "translation",
      +        "original"
      +      ],
      +      "type": "object"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "description": "Why the result is in English, when the language sent is not one we serve.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "ourWording": {
      +      "description": "In the served language: these are translations of our own wording, review recommended.",
      +      "type": "string"
      +    },
      +    "requested": {
      +      "description": "The language as sent, when it reads as a language tag; empty otherwise.",
      +      "type": "string"
      +    },
      +    "served": {
      +      "enum": [
      +        "en",
      +        "ar",
      +        "da",
      +        "de",
      +        "es",
      +        "fa",
      +        "fr",
      +        "hi",
      +        "id",
      +        "it",
      +        "ja",
      +        "ko",
      +        "nb",
      +        "nl",
      +        "pl",
      +        "pt",
      +        "pt-BR",
      +        "ro",
      +        "ru",
      +        "sv",
      +        "th",
      +        "tl",
      +        "tr",
      +        "zh"
      +      ],
      +      "type": "string"
      +    },
      +    "supported": {
      +      "description": "False when the language sent is not one of ours; the result is then in English.",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "requested",
      +    "served",
      +    "name",
      +    "supported",
      +    "note",
      +    "ourWording",
      +    "facts",
      +    "labels"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / localName
      Added value: +{
      +  "description": "The country name in the language served, from Unicode CLDR. Present only for a language other than English.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / schemeRegister / properties / translated
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "A translation of the fact above, present only when our committed table holds one for that exact text. The original text stays in text.",
      +  "properties": {
      +    "language": {
      +      "enum": [
      +        "en",
      +        "ar",
      +        "da",
      +        "de",
      +        "es",
      +        "fa",
      +        "fr",
      +        "hi",
      +        "id",
      +        "it",
      +        "ja",
      +        "ko",
      +        "nb",
      +        "nl",
      +        "pl",
      +        "pt",
      +        "pt-BR",
      +        "ro",
      +        "ru",
      +        "sv",
      +        "th",
      +        "tl",
      +        "tr",
      +        "zh"
      +      ],
      +      "type": "string"
      +    },
      +    "text": {
      +      "type": "string"
      +    },
      +    "translation": {
      +      "enum": [
      +        true
      +      ],
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "language",
      +    "text",
      +    "translation"
      +  ],
      +  "type": "object"
      +}
  9. Changed3 schema fields changed
    • changedOutput schema / properties / offer / description
      Previous value: -"The report offer, with prices, delivery time and refund terms."New value: +"The report offer, with prices, delivery time and refund terms. Absent when the result names mapped countries and no researched one."
    • changedOutput schema / properties / orderUrl / description
      Previous value: -"Order page for the countries in this result: tier=country&country=<ISO> for one covered country, tier=global for several. It never carries personal data."New value: +"Order page for the countries in this result: tier=country&country=<ISO> for one covered country, tier=global for several. It never carries personal data. Absent when the result names mapped countries and no researched one."
    • changedOutput schema / required
      Previous value: -[
      -  "name",
      -  "resolved",
      -  "country",
      -  "iso2",
      -  "covered",
      -  "candidates",
      -  "evidence",
      -  "reason",
      -  "currentEntity",
      -  "schemeRegister",
      -  "offer",
      -  "orderUrl"
      -]New value: +[
      +  "name",
      +  "resolved",
      +  "country",
      +  "iso2",
      +  "covered",
      +  "candidates",
      +  "evidence",
      +  "reason",
      +  "currentEntity",
      +  "schemeRegister"
      +]
  10. Changed3 schema fields changed
    • addedOutput schema / properties / currentEntity
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "What the employer is called now, read from official registers (the Global LEI Index, then a national register): renamed, merged, unchanged, ambiguous when several entities carry exactly that name, not_found, or unavailable when the register could not be read. Legal entities only, never people.",
      +  "properties": {
      +    "read": {
      +      "description": "The date we read the register.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "source": {
      +      "description": "Publisher and register.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "enum": [
      +        "renamed",
      +        "merged",
      +        "unchanged",
      +        "ambiguous",
      +        "not_found",
      +        "unavailable"
      +      ],
      +      "type": "string"
      +    },
      +    "steps": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "date": {
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "from": {
      +            "type": "string"
      +          },
      +          "kind": {
      +            "type": "string"
      +          },
      +          "to": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "from",
      +          "to",
      +          "kind",
      +          "date"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "text": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "text",
      +    "steps",
      +    "source",
      +    "read"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / schemeRegister
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Where the employer's country lists occupational pension funds, or that it has no such public register. Null when the country is not settled.",
      +  "properties": {
      +    "read": {
      +      "description": "The date we read the source, for example 7 October 2026.",
      +      "type": "string"
      +    },
      +    "source": {
      +      "description": "The publisher or document the fact comes from.",
      +      "type": "string"
      +    },
      +    "text": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "text",
      +    "source",
      +    "read"
      +  ],
      +  "type": [
      +    "object",
      +    "null"
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "name",
      -  "resolved",
      -  "country",
      -  "iso2",
      -  "covered",
      -  "candidates",
      -  "evidence",
      -  "reason",
      -  "offer",
      -  "orderUrl"
      -]New value: +[
      +  "name",
      +  "resolved",
      +  "country",
      +  "iso2",
      +  "covered",
      +  "candidates",
      +  "evidence",
      +  "reason",
      +  "currentEntity",
      +  "schemeRegister",
      +  "offer",
      +  "orderUrl"
      +]
  11. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower, and the description still adds real substance: results are candidate matches with a 0–1 confidence, enriched facts carry source and read date, and matching is restricted to legal entities. It omits auth/rate-limit context and what an empty candidate list means, but the behavioral disclosure is well above average.

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?

Three sentences, front-loaded with the core action and effect, with no filler. The middle sentence about researched employers is slightly dense but each sentence carries distinct information, so trimming would lose content.

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

Completeness4/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 carries the return-value burden and does reasonably well: it explains the candidate list, the confidence range, and the per-fact source/read date for researched employers. It stops short of covering the no-match case, result ordering, or pagination, which is the remaining gap.

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 coverage is 100% and each parameter carries a detailed description, so the baseline is 3. The description itself adds no syntax or format detail about name, country, language, or previousNames beyond what the schema already states; its extra text describes outputs rather than parameters.

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

Purpose4/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 resolves an employer name into a country-scoped candidate list with confidence scores, plus enrichment facts for researched employers, restricted to legal entities. That is far more precise than a tautology. It does not, however, name or distinguish itself from siblings like check_work_history or authority_answer, which is the only thing keeping it from a 5.

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

Usage Guidelines2/5

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

The description never states when to call this tool versus alternatives. The only routing hint in the whole definition (that the visible offer comes from check_work_history or create_order_link) sits in the schema for include_offer, not in the description text. An agent must infer the entry point from the verb alone.

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.