Skip to main content
Glama

GoodbyeMatrix Residency & Citizenship Index

Get country overview

get_country_overview
Read-onlyIdempotent

Summarises a country for moving abroad: tax system (residence-based, territorial, no income tax, remittance basis or citizenship-based), the residency and citizenship by investment programmes of the index in that country with their programme pages, and the GoodbyeMatrix climate map, plus the date of the source and consultationNote. Covers about 200 countries. Read-only: it only retrieves and computes from the GoodbyeMatrix data set, stores nothing, sends nothing and calls no external services.

Input Schema

NameRequiredDescriptionDefault
countryYesCountry as ISO 3166-1 alpha-2 code (for example "PA") or name in English or German.
languageNoResponse language: "en" (English, default) or "de" (German).en

Output Schema

NameRequiredDescriptionDefault
okYes
toolNo
standYesDate of the source data (YYYY-MM-DD).
noticeYesGeneral information, not legal, tax or immigration advice.
schemaNo
countryYes
languageYes
taxSystemNo
climateMapNo
cbiProgramsNo
consultationNoteYes
residencyProgramsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedOutput schema / properties / cbiPrograms / items / properties / betragsHauptart
      Added value: +{
      +  "description": "Residency only: main kind of the headline amount: kapital_angelegt (capital invested and kept), zahlung (payment that is spent: contribution, fee, membership, minimum tax) or nachweis (proof of funds or income). null when not set.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / cbiPrograms / items / properties / betragsart
      Added value: +{
      +  "description": "Residency only: kind of the headline amount (minimumAmount or incomeRequirement) as set by GoodbyeMatrix, one of immobilie (property purchase), bankeinlage (bank deposit), anleihen_fonds (bonds or funds), unternehmen (business investment), investition (minimum investment, several routes), staatsbeitrag (government contribution), mitgliedschaft (membership fee), gebuehr (one-time fee), mindeststeuer (minimum tax per year), vermoegen (proof of funds), einkommen (income). null when not set.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / residencyPrograms / items / properties / betragsHauptart
      Added value: +{
      +  "description": "Residency only: main kind of the headline amount: kapital_angelegt (capital invested and kept), zahlung (payment that is spent: contribution, fee, membership, minimum tax) or nachweis (proof of funds or income). null when not set.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / residencyPrograms / items / properties / betragsart
      Added value: +{
      +  "description": "Residency only: kind of the headline amount (minimumAmount or incomeRequirement) as set by GoodbyeMatrix, one of immobilie (property purchase), bankeinlage (bank deposit), anleihen_fonds (bonds or funds), unternehmen (business investment), investition (minimum investment, several routes), staatsbeitrag (government contribution), mitgliedschaft (membership fee), gebuehr (one-time fee), mindeststeuer (minimum tax per year), vermoegen (proof of funds), einkommen (income). null when not set.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. Changed2 schema fields changed
    • changedOutput schema / properties / cbiPrograms / items / properties / type / enum
      Previous value: -[
      -  "citizenship_by_investment",
      -  "residence_by_investment",
      -  "digital_nomad",
      -  "independent_means",
      -  "active_investor"
      -]New value: +[
      +  "citizenship_by_investment",
      +  "residence_by_investment",
      +  "digital_nomad",
      +  "independent_means",
      +  "active_investor",
      +  "skilled_work"
      +]
    • changedOutput schema / properties / residencyPrograms / items / properties / type / enum
      Previous value: -[
      -  "citizenship_by_investment",
      -  "residence_by_investment",
      -  "digital_nomad",
      -  "independent_means",
      -  "active_investor"
      -]New value: +[
      +  "citizenship_by_investment",
      +  "residence_by_investment",
      +  "digital_nomad",
      +  "independent_means",
      +  "active_investor",
      +  "skilled_work"
      +]
  3. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint=false, idempotentHint and destructiveHint=false, so the closing 'Read-only... stores nothing, sends nothing and calls no external services' largely restates them. What the description does add beyond structured data is the data provenance ('date of the source') and the consultationNote field, which tells the agent what freshness/side-channel content to expect.

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?

Front-loaded with the core purpose in one dense but well-ordered sentence listing the returned sections. The trailing read-only sentence is short but partly redundant with the annotations, keeping it just short of a 5.

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?

An output schema exists, so return shape needs no explanation, and both parameters are fully documented in the schema. The description supplies scope (~200 countries), content coverage and read-only guarantees; only the absence of sibling routing guidance keeps it from the top.

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 both parameters (country code/name, language) are fully documented in the schema, including the ISO-3166 example and the enum. The description adds nothing about parameter format or behaviour, so the baseline of 3 applies.

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?

States a specific verb and resource ('Summarises a country for moving abroad') and enumerates the contents: tax system, CBI/RBI programmes, climate map, source date. It is clearly distinct from programme-level siblings like get_program or get_cbi_quote, though it never names an alternative explicitly.

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

Usage Guidelines3/5

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

The phrase 'for moving abroad' and 'Covers about 200 countries' implies the audience and scope, but there is no explicit instruction on when to use this versus get_program or compare_programs. Selection has to be inferred from the content list.

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