Skip to main content
Glama

GoodbyeMatrix CBI Pricing

Server Details

Indicative citizenship by investment costs for 9 programmes, per family, with eligibility checks.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation4/5

Each tool has a distinct primary purpose: listing programmes, calculating indicative quotes, and returning a request link. However, both get_cbi_quote and request_cost_breakdown_link return quoteRequestUrl, creating some output overlap that could lead to misselection when only the link is needed.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: get_cbi_quote, list_cbi_programs, request_cost_breakdown_link. The convention is predictable and readable throughout.

Tool Count5/5

Three tools is a well-scoped set for an indicative CBI pricing server. Each tool earns its place: discovery (list_cbi_programs), calculation (get_cbi_quote), and next-step action (request_cost_breakdown_link).

Completeness4/5

The server covers programme discovery, indicative quote calculation for a family, and a link to request exact amounts. A minor gap is the lack of a dedicated single-programme detail tool, since list_cbi_programs returns all 9 programmes.

Available Tools

3 tools
get_cbi_quoteGet CBI cost estimateA
Read-only
Inspect

Calculates the indicative cost of citizenship by investment for a family: government contribution, investment, fees, professional fees, payment phases and total in USD, plus which family members are eligible, processing time, page links and quoteRequestUrl. With one programme it returns that programme; without program it compares all 9 programmes. Figures are rounded indicative figures (total to the nearest 1,000 USD), binding only after a pre-check; the user receives the exact amounts by requesting the cost breakdown through quoteRequestUrl.

ParametersJSON Schema
NameRequiredDescriptionDefault
familyYesEveryone who applies together. The first person is the main applicant (role "main"); only the first person has the role "main". Defaults: a partner counts as married and not same-sex unless stated; a child under 18 counts as dependent.
programNoProgramme key: sao_tome (Sao Tome and Principe), vanuatu, dominica, st_lucia (Saint Lucia), st_kitts (St. Kitts and Nevis), grenada, antigua (Antigua and Barbuda), nauru, argentina. Without a programme, the figures cover all programmes at once.
languageNoResponse language: "en" (English, default) or "de" (German).en

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
pagesNo
routeNo
scopeYes
totalNoTotal in USD, rounded to the nearest 1,000.
noticeNo
schemaYes
statusNook, partial, review_required, fees_on_request or not_eligible (main applicant excluded by nationality or country of birth: no figures, no link).
programNoProgramme key.
variantNo
currencyNo
languageYes
programsNo
roundingNo
totalScopeNototal, or known_costs when professional fees are on request.
costSummaryNocontribution, investment and professionalFees as published; fees = total minus the other three.
eligibilityNo
generatedAtNo
overviewUrlNoPortfolio only: overview page of all programmes with the family filled in.
programLabelNo
paymentPhasesNo
pricingNoticeNo
processingTimeNo
quoteRequestUrlNoLink to the calculator page of the programme on goodbyematrix.com with the family already filled in; there the user requests the detailed cost breakdown with the exact amounts. null when not_eligible.
restrictionNoteNoOnly with status not_eligible: why the programme is not possible.
websiteEstimateNoThe figure the website calculator shows.
restrictionsCheckedNotrue when nationalities or a country of birth were given and checked.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the description is not burdened with safety basics. It adds valuable behavioural context beyond the annotations: figures are rounded indicating they are indicative (total to nearest 1,000 USD), they are binding only after a pre-check, and exact amounts are obtained by requesting the cost breakdown through quoteRequestUrl. That is meaningful disclosure for a pricing tool. The only weakness is that the description does not discuss data freshness or whether rates vary by date.

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?

The description is three sentences, front-loaded with the primary purpose and output inventory. Every sentence carries information, though the list of return fields is dense and could have been compressed. It is well structured but not maximally lean.

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?

The tool has a complete input schema and an output schema, so the description mainly needs to explain purpose, modes, and behavioural caveats. It covers the single-programme versus all-programme distinction and the indicative/binding caveat, which an agent needs when deciding whether to call it. Missing is any mention of performance or whether the calculation depends on external data, but overall it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter and its meaning. The description reinforces that 'program' selects one programme versus comparing all nine, but adds little syntax or format information beyond the schema. With the schema doing the heavy lifting, a baseline score of 3 is appropriate.

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

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Calculates the indicative cost of citizenship by investment for a family') and then enumerates exactly what is produced (government contribution, investment, fees, professional fees, payment phases, total in USD, eligibility, processing time, links). An agent knows precisely what this tool returns and how it differs from list_cbi_programs.

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?

The description states the two operating modes clearly: 'With one programme it returns that programme; without program it compares all 9 programmes.' That tells an agent how the optional parameter changes behaviour, but it does not explicitly name the sibling tools or say when to use list_cbi_programs or request_cost_breakdown_link instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_cbi_programsList CBI programmesA
Read-only
Inspect

Lists the 9 citizenship by investment programmes GoodbyeMatrix prices: name, region, route (contribution, investment or both), starting amount in USD for a single applicant, professional fee label, processing time, number of visa-free destinations where known, calculator and programme page links, and short notes. Answers which programmes exist and what they start from.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoResponse language: "en" (English, default) or "de" (German).en

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
noticeNo
schemaNo
currencyNo
languageYes
overviewNo
programsYes
updatedAtNo
generatedAtNo
documentationNo
quoteEndpointNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=true, openWorldHint=false), and the description adds real context: the list is a fixed set of 9, the fields returned, and the caveat 'where known' for visa-free destinations, signalling possibly missing data. It does not mention pagination or result ordering, but a fixed 9-item list makes that largely moot.

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 is front-loaded in the first clause, which is good, but the long run-on enumeration of return fields duplicates the existing output schema and bloats a one-parameter list tool. The second sentence is the only non-redundant addition.

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?

For a read-only, no-required-parameter list tool with a full output schema and full parameter coverage, the description supplies purpose, scope and a data-quality caveat. Only the explicit relationship to the quote sibling tools is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — the single 'language' enum is fully documented in the schema — and the description says nothing about it, instead enumerating output fields. With the schema doing all parameter work, the baseline 3 applies.

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

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Lists the 9 citizenship by investment programmes GoodbyeMatrix prices') and pins the exact scope — all 9 programmes with their attributes. It is clearly distinguishable from get_cbi_quote (a computed quote) and request_cost_breakdown_link (a link request) without opening either schema.

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 closing line 'Answers which programmes exist and what they start from' implies the use case, but no sibling is named and there is no explicit when-to-use/when-not guidance versus get_cbi_quote. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • Changedget_cbi_quote4 fields changed
      • changedInput schema / properties / family / description
        Previous value: -"Everyone who applies together. The first person must be the main applicant (role \"main\"); only the first person may be \"main\". Defaults: a partner counts as married and not same-sex unless stated; a child under 18 counts as dependent."New value: +"Everyone who applies together. The first person is the main applicant (role \"main\"); only the first person has the role \"main\". Defaults: a partner counts as married and not same-sex unless stated; a child under 18 counts as dependent."
      • changedInput schema / properties / family / items / properties / birthplace / description
        Previous value: -"Optional: country of birth as ISO 3166-1 alpha-2 code. Only if the user mentioned it."New value: +"Optional: country of birth as ISO 3166-1 alpha-2 code, as mentioned by the user."
      • changedInput schema / properties / family / items / properties / nationalities / description
        Previous value: -"Optional: every citizenship of this person as ISO 3166-1 alpha-2 codes (for example [\"DE\"] or [\"RU\", \"GE\"] for dual citizens). Only if the user mentioned it."New value: +"Optional: every citizenship of this person as ISO 3166-1 alpha-2 codes (for example [\"DE\"] or [\"RU\", \"GE\"] for dual citizens), as mentioned by the user."
      • changedInput schema / properties / program / description
        Previous value: -"Programme key: sao_tome (Sao Tome and Principe), vanuatu, dominica, st_lucia (Saint Lucia), st_kitts (St. Kitts and Nevis), grenada, antigua (Antigua and Barbuda), nauru, argentina. Omit it to get figures for all programmes at once."New value: +"Programme key: sao_tome (Sao Tome and Principe), vanuatu, dominica, st_lucia (Saint Lucia), st_kitts (St. Kitts and Nevis), grenada, antigua (Antigua and Barbuda), nauru, argentina. Without a programme, the figures cover all programmes at once."
    • Changedrequest_cost_breakdown_link4 fields changed
      • changedInput schema / properties / contact / description
        Previous value: -"Optional. Only details the user has given in this conversation and wants to pass on to GoodbyeMatrix; never ask for them just for this and never invent them. They prefill the request form on the page; they are not part of the link and the user still checks and sends the request personally."New value: +"Optional. Contact details are used only as the user has provided them in this conversation and wants to pass them on to GoodbyeMatrix; the link works without them. They prefill the request form on the page; they are not part of the link and the user still checks and sends the request personally."
      • changedInput schema / properties / family / description
        Previous value: -"Everyone who applies together. The first person must be the main applicant (role \"main\"); only the first person may be \"main\". Defaults: a partner counts as married and not same-sex unless stated; a child under 18 counts as dependent."New value: +"Everyone who applies together. The first person is the main applicant (role \"main\"); only the first person has the role \"main\". Defaults: a partner counts as married and not same-sex unless stated; a child under 18 counts as dependent."
      • changedInput schema / properties / family / items / properties / birthplace / description
        Previous value: -"Optional: country of birth as ISO 3166-1 alpha-2 code. Only if the user mentioned it."New value: +"Optional: country of birth as ISO 3166-1 alpha-2 code, as mentioned by the user."
      • changedInput schema / properties / family / items / properties / nationalities / description
        Previous value: -"Optional: every citizenship of this person as ISO 3166-1 alpha-2 codes (for example [\"DE\"] or [\"RU\", \"GE\"] for dual citizens). Only if the user mentioned it."New value: +"Optional: every citizenship of this person as ISO 3166-1 alpha-2 codes (for example [\"DE\"] or [\"RU\", \"GE\"] for dual citizens), as mentioned by the user."
  2. 3 tool updates
    • First observedget_cbi_quote
    • First observedlist_cbi_programs
    • First observedrequest_cost_breakdown_link

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only lookup and comparison of sourced, dated migration data — 39 countries and 27,000+ cities, visa and residence routes, passport entry rules, cost of living, salaries, crime, air quality and climate. Every fact returned includes its value, unit, geographic grain, observation date, source and grade, with unknown values left explicit rather than estimated.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables geographic parity analysis with 26 read-only tools covering purchasing power, salary localization, cost of living, nomad visas, tax residency, FIRE planning, and relocation costs.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources