このMCPでできること
Compares global living costs, wages, healthcare, banking, taxes and connectivity while checking visa, Schengen and tax-residency constraints.
ツール
入力スキーマ
{'type': 'object', 'examples': [{'passport': 'US', 'destination': 'GB'}], 'required': ['passport', 'destination'], 'properties': {'income': {'type': 'number', 'minimum': 0, 'description': "Monthly remote income in USD. Optional; enables housing's income-relative view but is not needed for the arrival total."}, 'passport': {'type': 'string', 'description': "ISO alpha-2 of the traveller's passport, e.g. 'US'. Determines the entry route and therefore the fee."}, 'destination': {'type': 'string', 'description': 'ISO alpha-2 of the destination. Must be in the PPP country registry; some countries with a verified nomad-visa fee (e.g. BB) are not and appear only in find_nomad_visas.'}, 'depositMonths': {'type': 'number', 'maximum': 12, 'minimum': 0, 'description': "Months of rent held as a deposit. Defaults to the site's stated assumption of 1; override it if you know the market."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'rank': {'type': 'number'}, 'years': {'type': 'object'}, 'country': {'type': 'string'}, 'metrics': {'type': 'object', 'properties': {'mortgageRatePct': {'type': 'number'}, 'housingPriceLevelEu': {'type': 'number'}, 'priceToRentVsLongRun': {'type': 'number'}, 'priceToIncomeVsLongRun': {'type': 'number'}}}, 'rentBasis': {'enum': ['measured', 'modelled'], 'type': 'string'}, 'arbitrageGap': {'type': 'number', 'description': 'Percentage points by which rent sits lighter on you than on a local.'}, 'measuredCities': {'type': 'number'}, 'rentMonthlyUsd': {'type': 'number'}, 'rentPctOfYourIncome': {'type': 'number'}, 'rentPctOfLocalMedian': {'type': 'number'}}}}, 'focus': {'type': 'object'}, 'updated': {'type': 'string'}, 'excluded': {'type': 'number'}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'PT'}], 'properties': {'sort': {'enum': ['highest', 'lowest'], 'type': 'string', 'description': 'Defaults to highest, or lowest for instantPaymentsSince (longest-running first).'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Maximum rows in a ranking.'}, 'access': {'enum': ['yes', 'restricted', 'no'], 'type': 'string', 'description': 'Narrow a ranking to one non-resident access rule.'}, 'metric': {'enum': ['depositGuaranteeUsd', 'instantPaymentsSince'], 'type': 'string', 'default': 'depositGuaranteeUsd', 'description': 'Ranking metric when no country is given.'}, 'country': {'type': 'string', 'description': 'ISO alpha-2 code for a single country, e.g. PT.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, at least two, e.g. GB,TH,NG.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array'}, 'caveats': {'type': 'array'}, 'excluded': {'type': 'array'}, 'attribution': {'type': 'object'}, 'internationalOptions': {'type': 'array'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'DE', 'seniority': 'senior', 'occupation': 'professionals'}], 'required': ['country'], 'properties': {'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code (case-insensitive).'}, 'seniority': {'enum': ['entry', 'mid', 'senior', 'lead'], 'type': 'string', 'description': "Defaults to 'mid'. An unrecognised value is rejected."}, 'occupation': {'enum': ['total', 'armed-forces', 'managers', 'professionals', 'technicians', 'clerical', 'services-sales', 'agricultural', 'craft', 'operators', 'elementary'], 'type': 'string', 'description': "ISCO-08 major group. Defaults to 'total' (all occupations). An unrecognised value is rejected, never widened to the default."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'year': {'type': 'number'}, 'basis': {'type': 'string', 'description': "'measured' or 'modelled' — never blurred."}, 'floor': {'type': 'object', 'properties': {'annualUsd': {'type': 'number'}, 'monthlyUsd': {'type': 'number'}, 'percentile': {'type': 'number'}}}, 'caveats': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Always present. Reproduce these with any quoted figure.'}, 'ceiling': {'type': 'object', 'properties': {'annualUsd': {'type': 'number'}, 'monthlyUsd': {'type': 'number'}, 'percentile': {'type': 'number'}}}, 'country': {'type': 'object', 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}}}, 'midpoint': {'type': 'object', 'properties': {'annualUsd': {'type': 'number'}, 'monthlyUsd': {'type': 'number'}, 'percentile': {'type': 'number'}}}, 'seniority': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}}}, 'occupation': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}}}, 'genderGapPct': {'type': 'number'}, 'occupationMedianMonthlyUsd': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'income': 100000, 'target': 'TH'}], 'required': ['income', 'target'], 'properties': {'city': {'type': 'string', 'description': "Optional city slug (e.g. 'london', 'san-francisco') for a sub-national Capital-to-Rural adjustment: multiplies the national price level by a per-city factor (curated overrides / US-metro BEA RPP / population-tier heuristic). Unknown slug = national figure."}, 'income': {'type': 'number', 'minimum': 0, 'description': 'Nominal annual income, denominated against the US baseline.'}, 'source': {'enum': ['consensus', 'worldbank', 'imf', 'oecd', 'pwt', 'worldbank-cons', 'bigmac', 'factbook'], 'type': 'string', 'default': 'consensus', 'description': "PPP dataset to draw figures from. 'consensus' = per-country median across the GDP-based providers (recommended default); 'worldbank' = World Bank GDP price level; 'imf' = IMF WEO implied PPP; 'oecd' = OECD PPP-for-GDP (members + key partners only); 'pwt' = Penn World Table; 'worldbank-cons' = World Bank household-consumption price level; 'bigmac' = The Economist Big Mac index (single-good consumer PPP, ~40 countries); 'factbook' = CIA World Factbook derived price level for ~100 micro-states/territories the macro sources ignore (coarse). Defaults to 'consensus' if omitted."}, 'target': {'enum': ['US', 'AR', 'AU', 'BR', 'CA', 'CL', 'CN', 'CO', 'CZ', 'DK', 'EG', 'FR', 'DE', 'GR', 'HU', 'IN', 'ID', 'IE', 'IT', 'JP', 'KR', 'MY', 'MX', 'NL', 'NZ', 'NG', 'NO', 'PH', 'PL', 'PT', 'SA', 'SG', 'ZA', 'ES', 'SE', 'CH', 'TH', 'TR', 'AE', 'GB', 'VN'], 'type': 'string', 'description': 'ISO 3166-1 alpha-2 target country code (case-insensitive). Available codes depend on the chosen source.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'source': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}}}, 'target': {'type': 'object', 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}, 'currency': {'type': 'string'}, 'pppIndex': {'type': 'number'}}}, 'metrics': {'type': 'object', 'properties': {'purchasingPowerRatio': {'type': 'number'}, 'effectivePurchasingPower': {'type': 'number'}, 'lifestyleEquilibriumCost': {'type': 'number'}}}}}
入力スキーマ
{'type': 'object', 'examples': [{'burn': 3000, 'home': 'GB', 'fixed': 800, 'savings': 20000, 'targets': 'TH:chiang-mai,GE', 'currency': 'GBP'}], 'required': ['savings', 'burn', 'targets'], 'properties': {'burn': {'type': 'number', 'description': 'Total current monthly burn at home (in `currency`).'}, 'home': {'type': 'string', 'description': 'Home country alpha-2 code. Default US.'}, 'fixed': {'type': 'number', 'description': "Location-independent slice of burn (0…burn) that won't fall when you move."}, 'savings': {'type': 'number', 'description': 'Total savings (in `currency`).'}, 'targets': {'type': 'string', 'description': '1–3 hubs, comma-separated: COUNTRY or COUNTRY:citySlug (e.g. TH:chiang-mai,AR:buenos-aires,GE).'}, 'currency': {'type': 'string', 'description': 'ISO code for the money inputs (e.g. GBP). Default USD.'}, 'homeCity': {'type': 'string', 'description': 'Optional curated home-city slug.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'home': {'type': 'object', 'properties': {'runsOut': {'type': 'string'}, 'runwayMonths': {'type': 'number'}}}, 'hubs': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Sorted by extra months; each has runwayMonths, extraMonths, multiplier, monthlyBurnUsd, runsOut, priceRatio and a coverage note when approximate.'}, 'fixedFloorMonths': {'type': ['number', 'null'], 'description': 'Runway cap even at zero local cost (savings ÷ fixed burn).'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'PL', 'percentile': 90}], 'required': ['country'], 'properties': {'salary': {'type': 'number', 'minimum': 0, 'description': 'Your salary to locate on the distribution. Values over 20000 are read as annual (÷12), else monthly.'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code (case-insensitive).'}, 'percentile': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Return the exact wage threshold at this percentile (e.g. 90 for the top-10% floor).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'bands': {'type': 'object', 'properties': {'top1': {'type': 'object'}, 'top10': {'type': 'object'}, 'median': {'type': 'object'}, 'minimum': {'type': ['object', 'null']}, 'survival': {'type': 'object'}, 'comfortable': {'type': 'object'}}}, 'model': {'type': 'object', 'properties': {'gini': {'type': 'number'}, 'sigma': {'type': 'number'}, 'meanMonthly': {'type': 'number'}}}, 'country': {'type': 'object', 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}}}, 'standing': {'type': 'object', 'properties': {'label': {'type': 'string'}, 'percentile': {'type': 'number'}}}, 'atPercentile': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'stays': [{'exit': '2026-04-02', 'entry': '2026-01-10', 'country': 'PT'}]}], 'required': ['stays'], 'properties': {'stays': {'type': 'array', 'items': {'type': 'object', 'required': ['country', 'entry', 'exit'], 'properties': {'exit': {'type': 'string', 'format': 'date'}, 'entry': {'type': 'string', 'format': 'date'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code.'}}, 'additionalProperties': False}, 'minItems': 1}, 'referenceDate': {'type': 'string', 'format': 'date', 'description': "Optional 'as of' date. Defaults to today (UTC)."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'countries': {'type': 'array', 'items': {'type': 'object', 'properties': {'country': {'type': 'string'}, 'rule183': {'type': 'object', 'properties': {'remaining': {'type': 'number'}, 'triggered': {'type': 'boolean'}}}, 'daysThisYear': {'type': 'number'}}}}}}
入力スキーマ
{'type': 'object', 'examples': [{'trips': [{'exit': '2025-03-01', 'entry': '2025-01-01'}]}], 'required': ['trips'], 'properties': {'trips': {'type': 'array', 'items': {'type': 'object', 'required': ['entry', 'exit'], 'properties': {'exit': {'type': 'string', 'format': 'date', 'description': 'Exit date, ISO YYYY-MM-DD (>= entry).'}, 'entry': {'type': 'string', 'format': 'date', 'description': 'Entry date, ISO YYYY-MM-DD.'}}, 'additionalProperties': False}, 'minItems': 1, 'description': 'List of Schengen stays.'}, 'plannedEntry': {'type': 'string', 'format': 'date', 'description': 'Optional planned entry date. When set, the response adds plan: { maxStay, latestExit, fullResetDate } — the longest compliant stay starting on that date.'}, 'referenceDate': {'type': 'string', 'format': 'date', 'description': "Optional 'as of' date (ISO YYYY-MM-DD). Defaults to today (UTC)."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'daysUsed': {'type': 'number'}, 'compliant': {'type': 'boolean'}, 'windowStart': {'type': 'string'}, 'daysRemaining': {'type': 'number'}, 'referenceDate': {'type': 'string'}, 'maxDaysInWindow': {'type': 'number'}, 'firstOverstayDate': {'type': ['string', 'null']}}}
入力スキーマ
{'type': 'object', 'examples': [{'days': 120, 'income': 80000, 'country': 'ES'}], 'required': ['country', 'days', 'income'], 'properties': {'days': {'type': 'number', 'maximum': 366, 'minimum': 0, 'description': 'Days of presence in the relevant counting period.'}, 'income': {'type': 'number', 'minimum': 0, 'description': 'Gross annual income (USD) the residency cliff would expose.'}, 'arrival': {'type': 'string', 'format': 'date', 'description': 'Optional arrival date — adds leaveBy and residencyDate to the response.'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code (case-insensitive).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'risk': {'enum': ['safe', 'warning', 'triggered'], 'type': 'string'}, 'dates': {'type': 'object', 'properties': {'leaveBy': {'type': 'string'}, 'residencyDate': {'type': 'string'}}}, 'projection': {'type': 'object', 'properties': {'regime': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'note': {'type': 'string'}, 'taxUsd': {'type': 'number'}, 'savingUsd': {'type': 'number'}}}, 'cheapest': {'type': 'string'}, 'standard': {'type': 'object', 'properties': {'taxUsd': {'type': 'number'}, 'effectiveRate': {'type': 'number'}}}}}, 'daysRemaining': {'type': 'number'}, 'thresholdDays': {'type': 'number'}, 'pctOfThreshold': {'type': 'number'}, 'schengenWarning': {'type': 'string'}}}
入力スキーマ
{'type': 'object', 'examples': [{'stays': [{'exit': '2026-07-28', 'entry': '2026-01-10', 'country': 'ES'}], 'income': 120000}], 'required': ['stays'], 'properties': {'stays': {'type': 'array', 'items': {'type': 'object', 'required': ['country', 'entry', 'exit'], 'properties': {'exit': {'type': 'string', 'format': 'date'}, 'entry': {'type': 'string', 'format': 'date'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code.'}}, 'additionalProperties': False}, 'minItems': 1}, 'income': {'type': 'number', 'description': 'Optional gross annual income (USD) — enables the tax-cost projection for at-risk countries.'}, 'referenceDate': {'type': 'string', 'format': 'date', 'description': "Optional 'as of' date. Defaults to today (UTC)."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'summary': {'type': 'object', 'properties': {'worstRisk': {'type': 'string'}, 'triggeredCount': {'type': 'number'}, 'schengenBreached': {'type': 'boolean'}}}, 'schengen': {'type': ['object', 'null'], 'description': '90/180 status when any Schengen stay exists: daysUsed, daysRemaining, compliant, firstOverstayDate, maxStayFromRef.'}, 'countries': {'type': 'array', 'items': {'type': 'object', 'properties': {'risk': {'enum': ['safe', 'warning', 'triggered'], 'type': 'string'}, 'country': {'type': 'string'}, 'daysUsed': {'type': 'number'}, 'secondary': {'type': 'object', 'description': 'Conditional lower rule (e.g. Cyprus-60) with conditionMet/triggered.'}, 'ukTaxYear': {'type': 'object'}, 'safeDaysLeft': {'type': 'number'}, 'taxProjection': {'type': 'object', 'description': 'Standard vs regime tax cost when income was supplied.'}, 'thresholdDays': {'type': 'number'}, 'usSubstantialPresence': {'type': 'object'}}}}, 'referenceDate': {'type': 'string'}}}
入力スキーマ
{'type': 'object', 'examples': [{'countries': 'GB,NG,IN'}], 'properties': {'sort': {'enum': ['highest', 'lowest'], 'type': 'string', 'default': 'highest', 'description': 'Ranking direction. Ignored when `countries` is given.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'metric': {'enum': ['account', 'remittancesReceived'], 'type': 'string', 'default': 'account', 'description': 'Ranking metric. Ignored when `countries` is given.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more (e.g. "GB,NG,IN"). Omit to get a ranking instead.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'PT'}], 'properties': {'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'description': 'Default lowest for days and cost, highest for density.'}, 'limit': {'type': 'number', 'minimum': 1}, 'metric': {'enum': ['daysDomestic', 'costDomesticUsd', 'daysForeign', 'costForeignUsd', 'density'], 'type': 'string', 'default': 'daysDomestic'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'entry': {'type': 'object'}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'activity': {'type': 'object'}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'GB'}], 'properties': {'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'lowest'}, 'unit': {'enum': ['pctDisposableIncome', 'pctAverageWage'], 'type': 'string', 'default': 'pctDisposableIncome'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}, 'household': {'enum': ['couple', 'singleParent'], 'type': 'string', 'default': 'couple'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'year': {'type': 'number'}, 'couple': {'type': 'object'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}, 'singleParent': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'limit': 15, 'month': 1}], 'properties': {'city': {'type': 'string', 'description': 'City slug (e.g. "lisbon"). Returns that city\'s twelve months.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many cities.'}, 'month': {'type': 'number', 'maximum': 12, 'minimum': 1, 'description': 'Rank a single month. Omit to rank on the whole year.'}, 'country': {'type': 'string', 'description': "ISO alpha-2. Returns the representative city's months, naming which city."}, 'minComfortDays': {'type': 'number', 'minimum': 0, 'description': 'Filter: minimum comfortable days in the ranked window.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'city': {'type': 'object'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'month': {'type': ['number', 'null']}, 'updated': {'type': 'string'}}}
入力スキーマ
{'type': 'object', 'examples': [{'sort': 'latency', 'maxLatency': 100}], 'properties': {'sort': {'enum': ['download', 'upload', 'latency', 'jitter'], 'type': 'string', 'default': 'download', 'description': 'Metric to rank by. Bandwidth sorts high-to-low; latency and jitter sort low-to-high, because “better” runs in opposite directions.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'maxLatency': {'type': 'number', 'minimum': 0, 'description': 'Filter: maximum median idle latency, ms (e.g. 100).'}, 'minDownload': {'type': 'number', 'minimum': 0, 'description': 'Filter: minimum median download, Mbps (e.g. 50).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'rank': {'type': 'number'}, 'country': {'type': 'string'}, 'quality': {'enum': ['excellent', 'good', 'usable', 'poor', 'unknown'], 'type': 'string'}, 'jitterMs': {'type': 'number'}, 'latencyMs': {'type': 'number'}, 'uploadMbps': {'type': 'number'}, 'downloadMbps': {'type': 'number'}}}}, 'sort': {'type': 'string'}, 'updated': {'type': 'string'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'US', 'employeeRate': 70, 'contractorRate': 100}], 'required': ['contractorRate', 'employeeRate'], 'properties': {'hours': {'type': 'number', 'description': 'Hours per week (default 40).'}, 'ctRate': {'type': 'number', 'description': 'Override contractor effective tax rate, percent (e.g. 32).'}, 'health': {'type': 'number', 'description': 'Annual self-paid health insurance (USD); defaults to the country preset.'}, 'country': {'enum': ['US', 'GB', 'DE', 'FR', 'ES', 'NL', 'PT', 'EE', 'CA', 'AU', 'IN', 'AE', 'IT', 'GR', 'IE', 'DK', 'SE', 'NO', 'CH', 'CZ', 'PL', 'HU', 'TR', 'JP', 'KR', 'CN', 'SG', 'MY', 'TH', 'VN', 'ID', 'PH', 'NZ', 'SA', 'EG', 'ZA', 'NG', 'MX', 'BR', 'AR', 'CL', 'CO'], 'type': 'string', 'default': 'US', 'description': 'Country code for tax presets.'}, 'empRate': {'type': 'number', 'description': 'Override employee effective tax rate, percent (e.g. 24).'}, 'taxMode': {'enum': ['flat', 'brackets'], 'type': 'string', 'description': "'brackets' uses progressive 2025 schedules (US and GB only; falls back to flat elsewhere — response echoes the mode)."}, 'expenses': {'type': 'number', 'description': 'Annual business expenses (USD, default 0).'}, 'employeeRate': {'type': 'number', 'minimum': 0, 'description': 'Employee/W2/EOR hourly rate (USD).'}, 'employeeWeeks': {'type': 'number', 'description': 'Employee paid weeks (default 52).'}, 'contractorRate': {'type': 'number', 'minimum': 0, 'description': 'Self-employed hourly rate (USD).'}, 'contractorWeeks': {'type': 'number', 'description': 'Contractor paid/billable weeks (default 48).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'employee': {'type': 'object', 'properties': {'net': {'type': 'number'}, 'tax': {'type': 'number'}, 'gross': {'type': 'number'}}}, 'contractor': {'type': 'object', 'properties': {'net': {'type': 'number'}, 'tax': {'type': 'number'}, 'gross': {'type': 'number'}}}, 'breakevenRate': {'type': 'number'}, 'netDifference': {'type': 'number'}, 'contractorProfitable': {'type': 'boolean'}}}
入力スキーマ
{'type': 'object', 'examples': [{'a': 'DE', 'b': 'TH'}], 'required': ['a', 'b'], 'properties': {'a': {'type': 'string', 'description': 'First ISO 3166-1 alpha-2 country code (case-insensitive).'}, 'b': {'type': 'string', 'description': 'Second ISO 3166-1 alpha-2 country code (must differ from a).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'ratioAtoB': {'type': 'number'}, 'salary100k': {'type': 'object', 'properties': {'aToB': {'type': 'number'}, 'bToA': {'type': 'number'}}}, 'pctDifference': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'limit': 20, 'maxRisk': 3}], 'properties': {'sort': {'enum': ['risk', 'hazard', 'vulnerability', 'copingCapacity'], 'type': 'string', 'default': 'risk', 'description': 'Dimension to sort by. maxRisk always filters on the composite.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'country': {'type': 'string', 'description': "ISO alpha-2 for a single country's scores."}, 'maxRisk': {'type': 'number', 'maximum': 10, 'minimum': 0, 'description': 'Keep only countries at or below this composite score.'}, 'descending': {'type': 'boolean', 'default': False, 'description': 'True lists the most dangerous first.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'entry': {'type': 'object'}, 'release': {'type': 'string'}, 'updated': {'type': 'string'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'DE'}], 'properties': {'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'lowest'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'metric': {'enum': ['eatr', 'emtr', 'costOfCapital', 'gap'], 'type': 'string', 'default': 'eatr', 'description': 'Ranking metric when neither `country` nor `countries` is given.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'gapPct': {'type': 'number'}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'effective': {'type': 'object'}, 'attribution': {'type': 'object'}, 'statutoryCombinedPct': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'KR'}], 'properties': {'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'highest'}, 'index': {'enum': ['egdi', 'osi', 'tii', 'hci'], 'type': 'string', 'default': 'egdi'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'hci': {'type': 'number'}, 'osi': {'type': 'number'}, 'tii': {'type': 'number'}, 'egdi': {'type': 'number'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'year': {'type': 'number'}, 'index': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'TH'}], 'properties': {'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'lowest'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Maximum rows in a ranking.'}, 'metric': {'enum': ['dailyUsd', 'unaffordablePct'], 'type': 'string', 'default': 'dailyUsd'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'dailyUsd': {'type': 'number'}, 'excluded': {'type': 'array'}, 'dailyLocal': {'type': 'number'}, 'modelError': {'type': 'number'}, 'attribution': {'type': 'object'}, 'modelErrorSummary': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'DE'}], 'properties': {'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'highest'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'metric': {'enum': ['doctors', 'nurses', 'beds'], 'type': 'string', 'default': 'doctors'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'uhcIndex': {'type': 'number'}, 'bedsPer10k': {'type': 'object'}, 'attribution': {'type': 'object'}, 'nursesPer10k': {'type': 'object'}, 'doctorsPer10k': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'sort': 'outOfPocket', 'country': 'TH'}], 'required': [], 'properties': {'sort': {'enum': ['outOfPocket', 'spend', 'exposure', 'doctors', 'dentists'], 'type': 'string', 'default': 'outOfPocket', 'description': "Metric to rank by. 'outOfPocket' = out-of-pocket spend per person per year (default, the figure a person actually pays); 'spend' = total health spend per capita; 'exposure' = out-of-pocket as a share of health spending; 'doctors' = physicians per 1,000 (ranked best-first); 'dentists' = dentists per 10,000 (best-first)."}, 'country': {'type': 'string', 'description': "Optional ISO 3166-1 alpha-2 country code (case-insensitive). Echoes that country's row and its rank under the active sort."}, 'maxOutOfPocketPct': {'type': 'number', 'minimum': 0, 'description': 'Optional filter: keep only countries where households pay at most this percentage of health spending directly.'}, 'minPhysiciansPer1000': {'type': 'number', 'minimum': 0, 'description': 'Optional filter: keep only countries with at least this many physicians per 1,000 people.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'rank': {'type': 'number'}, 'vsUs': {'type': 'number', 'description': 'Out-of-pocket spend relative to the US, 0-1.'}, 'entry': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'years': {'type': 'object', 'description': 'Reference year per metric; vintages differ.'}, 'country': {'type': 'string'}, 'metrics': {'type': 'object', 'properties': {'outOfPocketPct': {'type': 'number'}, 'dentistsPer10000': {'type': 'number'}, 'physiciansPer1000': {'type': 'number'}, 'spendPerCapitaPpp': {'type': 'number'}, 'governmentSharePct': {'type': 'number'}, 'outOfPocketPerCapitaUsd': {'type': 'number'}}}}}}}, 'description': 'Countries under the active sort, best first.'}, 'focus': {'type': 'object', 'description': "The requested country's row, when `country` was given."}, 'updated': {'type': 'string', 'description': 'ISO date the underlying data was last refreshed.'}, 'excluded': {'type': 'number', 'description': 'Countries removed by filters or missing the sorted metric.'}, 'attribution': {'type': 'object', 'description': 'Sources, a quotable citation and a permalink.'}}}
入力スキーマ
{'type': 'object', 'examples': [{'sort': 'affordability', 'remoteIncome': 6000}], 'required': [], 'properties': {'sort': {'enum': ['affordability', 'rent', 'localBurden', 'priceToIncome'], 'type': 'string', 'default': 'affordability', 'description': "'affordability' = rent as a share of your remote income, lowest first (falls back to raw rent when no income given); 'rent' = monthly rent; 'localBurden' = rent as a share of the local median wage; 'priceToIncome' = price-to-income vs long-run average."}, 'flatM2': {'type': 'number', 'minimum': 0, 'description': 'Flat size in m² used to convert measured per-m² rents. Default 70; echoed back so the assumption is visible.'}, 'country': {'type': 'string', 'description': "Optional ISO 3166-1 alpha-2 code; echoes that country's row and rank."}, 'remoteIncome': {'type': 'number', 'minimum': 0, 'description': 'Your monthly income in USD, earned remotely. Enables rentPctOfYourIncome and arbitrageGap; omit for the local-only view.'}, 'maxRentPctOfIncome': {'type': 'number', 'minimum': 0, 'description': 'Optional filter: keep only countries where rent is at most this percentage of your remote income. Requires remoteIncome.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'rank': {'type': 'number'}, 'years': {'type': 'object'}, 'country': {'type': 'string'}, 'metrics': {'type': 'object', 'properties': {'mortgageRatePct': {'type': 'number'}, 'housingPriceLevelEu': {'type': 'number'}, 'priceToRentVsLongRun': {'type': 'number'}, 'priceToIncomeVsLongRun': {'type': 'number'}}}, 'rentBasis': {'enum': ['measured', 'modelled'], 'type': 'string'}, 'arbitrageGap': {'type': 'number', 'description': 'Percentage points by which rent sits lighter on you than on a local.'}, 'measuredCities': {'type': 'number'}, 'rentMonthlyUsd': {'type': 'number'}, 'rentPctOfYourIncome': {'type': 'number'}, 'rentPctOfLocalMedian': {'type': 'number'}}}}, 'focus': {'type': 'object'}, 'updated': {'type': 'string'}, 'excluded': {'type': 'number'}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'countries': 'GB,DE,TR'}], 'properties': {'sort': {'enum': ['highest', 'lowest'], 'type': 'string', 'default': 'highest', 'description': 'Ranking direction. Ignored when `countries` is given.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'metric': {'enum': ['inflation', 'policyRate', 'depositRate', 'lendingRate', 'realDepositRate', 'realPolicyRate'], 'type': 'string', 'default': 'inflation', 'description': 'Ranking metric. Ignored when `countries` is given.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more (e.g. "GB,DE,TR"). Omit to get a ranking instead.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'GB', 'occupation': 'professionals'}], 'required': ['country'], 'properties': {'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code (case-insensitive).'}, 'occupation': {'enum': ['total', 'armed-forces', 'managers', 'professionals', 'technicians', 'clerical', 'services-sales', 'agricultural', 'craft', 'operators', 'elementary'], 'type': 'string', 'description': 'Narrow the response to one ISCO-08 major group. Omit for the whole table.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}, 'gapPct': {'type': 'number'}, 'meanMonthlyUsd': {'type': 'number'}, 'medianMonthlyPpp': {'type': 'number'}, 'medianMonthlyUsd': {'type': 'number'}, 'modelledPercentile': {'type': 'number'}}}}, 'year': {'type': 'number', 'description': 'ILO reference year — one year across every occupation in the country.'}, 'basis': {'type': 'string', 'description': "Always 'measured' on success."}, 'country': {'type': 'object', 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}}}, 'modelRatio': {'type': 'number', 'description': 'measured / modelled for the country. Above 1: the model understates local pay.'}, 'measuredMedianMonthlyUsd': {'type': 'number'}, 'modelledMedianMonthlyUsd': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'DE'}], 'properties': {'sort': {'enum': ['highest', 'lowest'], 'type': 'string', 'default': 'highest', 'description': 'Ranking direction. Ignored otherwise.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'metric': {'enum': ['retirementAgeMen', 'retirementAgeWomen', 'futureRetirementAgeMen', 'netReplacement100', 'grossReplacement100', 'yearsAfterExit', 'oldAgePoverty', 'lifeExpectancy', 'over65Pct'], 'type': 'string', 'default': 'netReplacement100', 'description': 'Ranking metric when neither `country` nor `countries` is given.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code for the full profile (e.g. "DE").'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side. Ignored when `country` is given.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}, 'replacement': {'type': 'object'}, 'retirementAge': {'type': 'object'}, 'statutoryRetirementAge': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'countries': 'GB,JP'}], 'properties': {'sort': {'enum': ['most', 'fewest'], 'type': 'string', 'default': 'most', 'description': 'Ranking direction. Ignored when `countries` is given.'}, 'year': {'type': 'number', 'description': 'Calendar year. Defaults to the first year in the dataset.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more (e.g. "GB,JP"). Omit to get a ranking instead of an overlap.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'year': {'type': 'number'}, 'lostDays': {'type': 'number'}, 'weekdays': {'type': 'number'}, 'countries': {'type': 'array', 'items': {'type': 'object'}}, 'lostDates': {'type': 'array', 'items': {'type': 'string'}}, 'sharedWorkingDays': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'countries': 'DE,BR,ZA'}], 'properties': {'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'lowest', 'description': 'Ranking direction. Ignored when `countries` is given.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'metric': {'enum': ['homicide', 'pm25'], 'type': 'string', 'default': 'homicide', 'description': 'Ranking metric. Ignored when `countries` is given.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more (e.g. "DE,BR,ZA"). Omit to get a ranking instead.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'PT'}], 'properties': {'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'lowest'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'metric': {'enum': ['complianceHours', 'vatRefundWeeks', 'auditWeeks', 'reportedEffectiveRatePct'], 'type': 'string', 'default': 'complianceHours'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}, 'vatRefundWeeks': {'type': 'number'}, 'complianceHours': {'type': 'number'}, 'reportedEffectiveRatePct': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'countries': 'DE,IE,TH'}], 'properties': {'sort': {'enum': ['highest', 'lowest'], 'type': 'string', 'default': 'highest', 'description': 'Ranking direction. Ignored when `countries` is given.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'metric': {'enum': ['corporateCombined', 'corporateCentral', 'smallBusiness', 'pitTop', 'pitThreshold', 'pitMarginalAtThreshold'], 'type': 'string', 'default': 'corporateCombined', 'description': 'Ranking metric. Ignored when `countries` is given.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more (e.g. "DE,IE,TH"). Omit to get a ranking instead.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'sort': 'remaining', 'income': 6000}], 'required': ['income'], 'properties': {'sort': {'enum': ['total', 'remaining', 'rent', 'tax', 'share'], 'type': 'string', 'default': 'total', 'description': "Ranking. 'remaining' = most left over first; 'share' = smallest share of your income."}, 'income': {'type': 'number', 'description': 'Monthly income in USD. Required — the tool is a subtraction.'}, 'country': {'type': 'string', 'description': "ISO 3166-1 alpha-2; echoes that country's row and rank as `focus`."}, 'maxPctOfIncome': {'type': 'number', 'description': 'Keep only countries whose total is at or below this share of income (%).'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'PT'}], 'properties': {'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'lowest'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'metric': {'enum': ['importDays', 'exportDays', 'importCostPct', 'exportCostPct'], 'type': 'string', 'default': 'importDays'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'exportDays': {'type': 'number'}, 'importDays': {'type': 'number'}, 'attribution': {'type': 'object'}, 'exportCostPct': {'type': 'number'}, 'importCostPct': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'countries': 'GB,US,DE'}], 'properties': {'sort': {'enum': ['highest', 'lowest'], 'type': 'string', 'default': 'lowest', 'description': 'Ranking direction. Ignored when `countries` is given.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more (e.g. "GB,US,DE"). Omit to get a ranking instead.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'excluded': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'countries': 'DE,US,TH'}], 'properties': {'sort': {'enum': ['most', 'fewest'], 'type': 'string', 'default': 'most', 'description': 'Ranking direction. Ignored when `countries` is given.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'metric': {'enum': ['weeklyHours', 'annualHours', 'maternityDays', 'paternityDays'], 'type': 'string', 'default': 'weeklyHours', 'description': 'Ranking metric. Ignored when `countries` is given.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more (e.g. "DE,US,TH"). Omit to get a ranking instead.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'metric': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'income': 5000, 'country': 'PT'}], 'required': ['country'], 'properties': {'income': {'type': 'number', 'minimum': 1, 'description': 'Gross monthly income in USD. Optional; unlocks the total-cost figures.'}, 'country': {'type': 'string', 'description': 'ISO alpha-2 code (e.g. "PT").'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'tools': {'type': 'object'}, 'country': {'type': 'object'}, 'sources': {'type': 'array', 'items': {'type': 'object'}}, 'updated': {'type': 'string'}, 'sections': {'type': 'object'}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'FR'}], 'properties': {'sort': {'enum': ['highest', 'lowest'], 'type': 'string', 'description': 'Highest first (default) or lowest first.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'metric': {'enum': ['speedMotorway', 'speedUrban', 'speedRural', 'bacLimitPct'], 'type': 'string', 'description': 'Ranking metric when neither country nor countries is given.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'drivesOn': {'enum': ['left', 'right'], 'type': 'string', 'description': 'Restrict the ranking to one side of the road.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}, 'idpRequired': {'enum': ['true', 'false'], 'type': 'string', 'description': 'Restrict the ranking by whether an International Driving Permit is needed.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'source': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'drivesOn': {'type': 'string'}, 'excluded': {'type': 'array', 'items': {'type': 'string'}}, 'checkedOn': {'type': 'string'}, 'speedUnit': {'type': 'string'}, 'speedRural': {'type': 'number'}, 'speedUrban': {'type': 'number'}, 'attribution': {'type': 'object'}, 'bacLimitPct': {'type': 'number'}, 'idpRequired': {'type': 'boolean'}, 'speedMotorway': {'type': 'number'}, 'requiredEquipment': {'type': 'array', 'items': {'type': 'string'}}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'DE'}], 'properties': {'sort': {'enum': ['most', 'fewest'], 'type': 'string', 'description': 'Most first (default) or fewest first.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'metric': {'enum': ['minAnnualLeaveDays', 'noticeEmployerMinWeeks', 'probationMaxMonths', 'maxWeeklyHours'], 'type': 'string', 'description': 'Ranking metric when neither country nor countries is given.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'basis': {'type': 'string'}, 'source': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'excluded': {'type': 'array', 'items': {'type': 'string'}}, 'checkedOn': {'type': 'string'}, 'attribution': {'type': 'object'}, 'maxWeeklyHours': {'type': 'number'}, 'minAnnualLeaveDays': {'type': 'number'}, 'probationMaxMonths': {'type': 'number'}, 'noticeEmployeeMinWeeks': {'type': 'number'}, 'noticeEmployerMinWeeks': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'gross': 60000, 'country': 'DE'}], 'properties': {'sort': {'enum': ['highest', 'lowest'], 'type': 'string', 'default': 'highest', 'description': 'Ranking direction. Ignored when `country` is given.'}, 'gross': {'type': 'number', 'minimum': 1, 'description': 'Gross annual wage in USD. When omitted, the pay-range midpoint is used.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'country': {'type': 'string', 'description': 'ISO alpha-2 code (e.g. "DE"). Omit for a ranking.'}, 'seniority': {'enum': ['entry', 'mid', 'senior', 'lead'], 'type': 'string', 'description': 'Seniority for the default wage (default `mid`). Ignored when `gross` is given.'}, 'occupation': {'type': 'string', 'description': 'ISCO-08 major group id for the default wage (default `total`). Ignored when `gross` is given.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'oecd': {'type': 'object'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'wage': {'type': 'object'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'country': {'type': 'object'}, 'employee': {'type': 'object'}, 'employer': {'type': 'object'}, 'taxWedge': {'type': 'number'}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'base': 'GB', 'target': 'TH'}], 'required': ['base', 'target'], 'properties': {'base': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code to compare FROM (case-insensitive).'}, 'source': {'enum': ['consensus', 'worldbank', 'imf', 'oecd', 'pwt', 'worldbank-cons', 'bigmac', 'factbook'], 'type': 'string', 'description': 'Optional dataset override. Defaults to the consumption basket (worldbank-cons) when it covers both countries, else consensus; the response echoes the source used.'}, 'target': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code to compare TO (must differ from base).'}, 'baseCity': {'type': 'string', 'description': "Optional city slug for the base side (sub-national cost adjustment, e.g. 'london'). Enables intra-country city comparisons like London vs Hull."}, 'targetCity': {'type': 'string', 'description': "Optional city slug for the target side (e.g. 'hull')."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'base': {'type': 'object', 'properties': {'usd': {'type': 'number'}}}, 'item': {'type': 'object'}, 'target': {'type': 'object', 'properties': {'usd': {'type': 'number'}}}, 'pctDiff': {'type': 'number'}}}}, 'source': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'auto': {'type': 'boolean'}}}, 'monthlyBudget': {'type': 'object', 'properties': {'base': {'type': 'number'}, 'target': {'type': 'number'}, 'pctDiff': {'type': 'number'}}}, 'categoryTotals': {'type': 'array', 'items': {'type': 'object'}}}}
入力スキーマ
{'type': 'object', 'examples': [{'cost': 6, 'budget': 2500, 'safety': 9, 'healthcare': 8}], 'properties': {'air': {'type': 'number', 'maximum': 10, 'minimum': 0, 'description': 'Weight 0–10 for air (default 5).'}, 'cost': {'type': 'number', 'maximum': 10, 'minimum': 0, 'description': 'Weight 0–10 for cost (default 5).'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Maximum rows (default 10).'}, 'budget': {'type': 'number', 'default': 3000, 'minimum': 1, 'description': 'Monthly budget in USD.'}, 'region': {'enum': ['East Asia & Pacific', 'Europe & Central Asia', 'Latin America & Caribbean', 'Middle East, North Africa, Afghanistan & Pakistan', 'North America', 'South Asia', 'Sub-Saharan Africa'], 'type': 'string', 'description': 'Keep only countries in this World Bank region.'}, 'safety': {'type': 'number', 'maximum': 10, 'minimum': 0, 'description': 'Weight 0–10 for safety (default 5).'}, 'english': {'type': 'number', 'maximum': 10, 'minimum': 0, 'description': 'Weight 0–10 for english (default 5).'}, 'internet': {'type': 'number', 'maximum': 10, 'minimum': 0, 'description': 'Weight 0–10 for internet (default 5).'}, 'needsVisa': {'type': 'boolean', 'description': 'Keep only countries with a digital nomad visa the budget meets.'}, 'healthcare': {'type': 'number', 'maximum': 10, 'minimum': 0, 'description': 'Weight 0–10 for healthcare (default 5).'}, 'withinBudget': {'type': 'boolean', 'default': True, 'description': 'Keep only countries whose modelled essentials fit inside the budget.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'inputs': {'type': 'object'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'excluded': {'type': 'object'}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'swr': 0.04, 'portfolio': 400000}], 'required': ['portfolio'], 'properties': {'swr': {'type': 'number', 'default': 0.04, 'description': 'Safe withdrawal rate as fraction (0.04) or percent (4). Default 0.04.'}, 'coast': {'enum': ['1'], 'type': 'string', 'description': 'Set to 1 for Coast-FIRE mode (project growth with zero further savings).'}, 'return': {'type': 'number', 'description': 'Expected real annual return, fraction (0.05) or percent (5). Default 0.05.'}, 'source': {'enum': ['consensus', 'worldbank', 'imf', 'oecd', 'pwt', 'worldbank-cons', 'bigmac', 'factbook'], 'type': 'string', 'default': 'consensus'}, 'savings': {'type': 'number', 'description': 'Monthly savings (USD) — enables the years-to-FIRE planner.'}, 'portfolio': {'type': 'number', 'minimum': 0, 'description': 'Total investable portfolio (USD).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'visa': {'type': 'object'}, 'coverage': {'type': 'number'}, 'tierCosts': {'type': 'object'}, 'fireNumbers': {'type': 'object'}, 'yearsToTier': {'type': 'object'}, 'achievedTier': {'enum': ['lean', 'comfortable', 'upper', 'luxury', None], 'type': ['string', 'null']}}}}, 'sensitivity': {'type': 'array', 'items': {'type': 'object'}}, 'annualIncome': {'type': 'number'}, 'monthlyIncome': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'funds': 50000, 'currency': 'GBP'}], 'properties': {'funds': {'type': 'number', 'minimum': 1, 'description': 'Funds available to commit, in `currency`.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code for a single entry.'}, 'currency': {'type': 'string', 'default': 'USD', 'description': 'ISO 4217 code of `funds` (e.g. "GBP").'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'none': {'type': 'array', 'items': {'type': 'string'}}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'qualify': {'type': 'array', 'items': {'type': 'object'}}, 'nearMiss': {'type': 'array', 'items': {'type': 'object'}}, 'attribution': {'type': 'object'}, 'fundingRaised': {'type': 'array', 'items': {'type': 'object'}}}}
入力スキーマ
{'type': 'object', 'examples': [{'zones': ['Europe/London', 'America/New_York', 'Australia/Sydney']}], 'required': ['zones'], 'properties': {'end': {'type': 'number', 'default': 1080, 'description': 'Default working-window end, minutes from local midnight (default 1080 = 18:00).'}, 'date': {'type': 'string', 'format': 'date', 'description': 'Reference date (ISO YYYY-MM-DD) for DST. Defaults to today (UTC).'}, 'hours': {'type': 'string', 'description': "Optional per-zone overrides aligned to `zones`, e.g. '540-1080;420-720'."}, 'start': {'type': 'number', 'default': 540, 'description': 'Default working-window start, minutes from local midnight (default 540 = 09:00).'}, 'zones': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': "IANA timezone identifiers, e.g. 'Europe/London'."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'overlap': {'type': ['object', 'null'], 'properties': {'local': {'type': 'array', 'items': {'type': 'object', 'properties': {'end': {'type': 'string'}, 'label': {'type': 'string'}, 'start': {'type': 'string'}, 'offset': {'type': 'number'}, 'timeZone': {'type': 'string'}}}}, 'endUtc': {'type': 'number'}, 'startUtc': {'type': 'number'}, 'endUtcLabel': {'type': 'string'}, 'startUtcLabel': {'type': 'string'}, 'durationMinutes': {'type': 'number'}}}, 'friction': {'type': 'object', 'properties': {'grade': {'enum': ['Effortless', 'Manageable', 'Strained', 'Broken'], 'type': 'string'}, 'score': {'type': 'number', 'description': '0–100; higher is less friction.'}, 'coverage': {'type': 'object', 'properties': {'of': {'type': 'number'}, 'simultaneous': {'type': 'number'}}}, 'loneWolf': {'type': 'object', 'properties': {'label': {'type': 'string'}, 'timeZone': {'type': 'string'}, 'gainMinutes': {'type': 'number'}}, 'description': 'Present when N≥3 and dropping one member frees ≥2h of overlap.'}, 'overlapMinutes': {'type': 'number'}, 'dailyOverlapHours': {'type': 'number'}}}, 'referenceDate': {'type': 'string'}, 'bestPartialCount': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'income': 4000, 'children': 1, 'currency': 'EUR', 'partners': 1}], 'properties': {'income': {'type': 'number', 'description': 'Your gross monthly income (in `currency`, default USD).'}, 'children': {'type': 'number', 'description': "Number of dependent children (each adds the program's child uplift)."}, 'currency': {'type': 'string', 'description': 'ISO currency code for `income` (e.g. EUR, GBP, INR). Defaults to USD.'}, 'partners': {'enum': [0, 1], 'type': 'number', 'description': "1 if bringing a partner (raises each program's threshold by its partner uplift)."}, 'renewable': {'enum': ['1'], 'type': 'string', 'description': 'Set to 1 to require renewable programs.'}, 'residency': {'enum': ['1'], 'type': 'string', 'description': 'Set to 1 to require a path to permanent residency.'}, 'minDuration': {'type': 'number', 'description': 'Minimum program duration in months.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'total': {'type': 'number'}, 'matches': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Programs you qualify for; each carries requiredUsd (household threshold) and shortfallUsd (≤0).'}, 'updated': {'type': 'string'}, 'household': {'type': 'object', 'properties': {'children': {'type': 'number'}, 'partners': {'type': 'number'}}}, 'incomeUsd': {'type': 'number', 'description': 'Your income converted to USD, used for matching.'}, 'nearMisses': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Programs within ~$1,000/mo of qualifying, closest first.'}}}
入力スキーマ
{'type': 'object', 'examples': [{'age': 62, 'income': 1500, 'currency': 'GBP'}], 'properties': {'age': {'type': 'number', 'maximum': 120, 'minimum': 18, 'description': 'Applicant age; routes with a higher minimum are excluded.'}, 'income': {'type': 'number', 'minimum': 1, 'description': 'Monthly income to match, in `currency`.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code for a single entry.'}, 'savings': {'type': 'number', 'minimum': 0, 'description': 'Lump sum available, in `currency`; unlocks deposit routes.'}, 'currency': {'type': 'string', 'default': 'USD', 'description': 'ISO 4217 code of `income` and `savings` (e.g. "GBP").'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'none': {'type': 'array', 'items': {'type': 'string'}}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'qualify': {'type': 'array', 'items': {'type': 'object'}}, 'nearMiss': {'type': 'array', 'items': {'type': 'object'}}, 'attribution': {'type': 'object'}, 'depositRoutes': {'type': 'array', 'items': {'type': 'object'}}}}
入力スキーマ
{'type': 'object', 'examples': [{'funds': 20000, 'currency': 'GBP'}], 'properties': {'per': {'enum': ['year', 'month'], 'type': 'string', 'default': 'year'}, 'funds': {'type': 'number', 'minimum': 1, 'description': 'Living funds the student can show, in `currency`, for `per`.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'currency': {'type': 'string', 'default': 'USD'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'kind': {'type': 'string'}, 'none': {'type': 'array', 'items': {'type': 'string'}}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'qualify': {'type': 'array', 'items': {'type': 'object'}}, 'nearMiss': {'type': 'array', 'items': {'type': 'object'}}, 'attribution': {'type': 'object'}, 'unpublished': {'type': 'array', 'items': {'type': 'object'}}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'BR'}], 'properties': {'country': {'type': 'string', 'description': 'One ISO alpha-2 code (e.g. "BR").'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more. Ignored when `country` is given.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'malaria': {'type': 'boolean'}, 'attribution': {'type': 'object'}, 'vaccinesMost': {'type': 'array', 'items': {'type': 'string'}}, 'vaccinesSome': {'type': 'array', 'items': {'type': 'string'}}, 'yellowFeverCertificate': {'type': 'string'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'SA'}], 'properties': {'sort': {'enum': ['highest', 'lowest'], 'type': 'string', 'default': 'highest', 'description': 'Ranking direction. Ignored when `countries` is given.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'metric': {'enum': ['index', 'mobility', 'workplace', 'pay', 'marriage', 'parenthood', 'entrepreneurship', 'assets', 'pension', 'retirementAgeMen', 'retirementAgeWomen'], 'type': 'string', 'default': 'index', 'description': 'Ranking metric when neither `country` nor `countries` is given.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code for the full profile (e.g. "SA").'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side comparison. Ignored when `country` is given.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'law': {'type': 'object'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'index': {'type': 'number'}, 'topics': {'type': 'object'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'edition': {'type': 'number'}, 'retirement': {'type': 'object'}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'since': '2026-09-01'}], 'properties': {'since': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Return only datasets changed strictly after this date (YYYY-MM-DD). Omit for all.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'count': {'type': 'number'}, 'since': {'type': ['string', 'null']}, 'newest': {'type': ['string', 'null']}, 'changed': {'type': 'array', 'items': {'type': 'object'}}, 'datasets': {'type': 'array', 'items': {'type': 'object'}}, 'changedCount': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'base': 150000, 'home': 'US', 'source': 'consensus', 'target': 'ES'}], 'required': ['base', 'home'], 'properties': {'base': {'type': 'number', 'minimum': 0, 'description': 'Base annual salary in the home country (USD-denominated).'}, 'home': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 home country code the base salary is expressed in (case-insensitive).'}, 'source': {'enum': ['consensus', 'worldbank', 'imf', 'oecd', 'pwt', 'worldbank-cons', 'bigmac', 'factbook'], 'type': 'string', 'default': 'consensus', 'description': "PPP dataset to draw figures from. Defaults to 'consensus' if omitted."}, 'target': {'type': 'string', 'description': 'Optional ISO 3166-1 alpha-2 target country code. Omit to localize across all countries in the source.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'home': {'type': 'object', 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}, 'pppIndex': {'type': 'number'}}}, 'input': {'type': 'object', 'properties': {'baseSalary': {'type': 'number'}}}, 'source': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'label': {'type': 'string'}}}, 'results': {'type': 'array', 'items': {'type': 'object', 'properties': {'local': {'type': 'object', 'properties': {'amount': {'type': 'number'}, 'fxRate': {'type': 'number'}, 'fxYear': {'type': 'number'}, 'currency': {'type': 'string'}}, 'description': "The figure in the target's local currency at market FX (omitted when no rate is known or target is USD)."}, 'ratio': {'type': 'number'}, 'target': {'type': 'object', 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}, 'currency': {'type': 'string'}, 'pppIndex': {'type': 'number'}}}, 'localEquivalent': {'type': 'number'}}}}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'SG'}], 'properties': {'country': {'type': 'string', 'description': 'Passport country alpha-2 code (e.g. US, GB, SG). Omit for the full league table.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'passport': {'type': 'object', 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}, 'rank': {'type': 'number'}, 'counts': {'type': 'object'}, 'destinations': {'type': 'object'}, 'mobilityScore': {'type': 'number'}}}, 'resolved': {'type': 'object'}, 'percentile': {'type': 'number'}, 'totalPassports': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'to': 'PT', 'from': 'GB', 'years': 10, 'amount': 1000, 'currency': 'GBP'}], 'required': ['from', 'to'], 'properties': {'to': {'type': 'string', 'description': 'Country it will be spent in, ISO alpha-2 (e.g. "PT").'}, 'from': {'type': 'string', 'description': 'Country the pension is paid from, ISO alpha-2 (e.g. "GB").'}, 'years': {'type': 'number', 'maximum': 40, 'minimum': 1, 'description': 'Years to project (whole number, default 10).'}, 'amount': {'type': 'number', 'minimum': 1, 'description': "Monthly pension in `currency`. Omit for the origin's typical state pension."}, 'currency': {'type': 'string', 'description': 'ISO 4217 code of `amount` (default USD).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'to': {'type': 'object'}, 'from': {'type': 'object'}, 'years': {'type': 'number'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'pension': {'type': 'object'}, 'erosionPct': {'type': 'number'}, 'attribution': {'type': 'object'}, 'inflationPct': {'type': 'number'}, 'worthTodayUsd': {'type': 'number'}, 'worthTodayLocal': {'type': 'number'}, 'worthAfterYearsUsd': {'type': 'number'}, 'worthAfterYearsLocal': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'members': 'GB,DE,US'}], 'required': ['members'], 'properties': {'end': {'type': 'number', 'description': 'Default local working-window end, minutes from midnight (default 1080 = 18:00).'}, 'year': {'type': 'number', 'description': 'Calendar year for the holiday calendar. Defaults to the first year in the dataset.'}, 'hours': {'type': 'string', 'description': 'Per-member `start-end` overrides, semicolon-separated and aligned with `members`; leave a slot empty to keep the default (e.g. "540-1080;;420-720").'}, 'start': {'type': 'number', 'description': 'Default local working-window start for every member, minutes from midnight (default 540 = 09:00).'}, 'members': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, each optionally `CC@IANA/Zone` (e.g. "GB,JP,US@America/Chicago").'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'days': {'type': 'object'}, 'year': {'type': 'number'}, 'hours': {'type': 'object'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'members': {'type': 'array', 'items': {'type': 'object'}}, 'attribution': {'type': 'object'}, 'sharedWorkingHoursPerYear': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'TH'}], 'properties': {'band': {'enum': ['free', 'restricted', 'leasehold-only', 'prohibited'], 'type': 'string', 'description': 'Restrict the ranking to one ownership band.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code.'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'source': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'checkedOn': {'type': 'string'}, 'attribution': {'type': 'object'}, 'restrictions': {'type': 'string'}, 'transferTaxPct': {'type': 'number'}, 'foreignOwnership': {'type': 'string'}}}
入力スキーマ
{'type': 'object', 'examples': [{'maxBudget': 3000, 'minInternet': 80}], 'properties': {'budget': {'type': 'number', 'default': 3000, 'minimum': 0, 'description': 'Monthly budget (USD) — drives lifestyle labels and visa eligibility.'}, 'weights': {'type': 'string', 'description': 'Five comma-separated 0–10 weights: internet,safety,healthcare,air,english (default 5,5,5,5,5).'}, 'maxBudget': {'type': 'number', 'minimum': 0, 'description': 'Filter: keep countries whose monthly essentials cost ≤ this (USD).'}, 'minSafety': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Filter: minimum safety score, 0–100.'}, 'minInternet': {'type': 'number', 'minimum': 0, 'description': 'Filter: minimum median broadband, Mbps (e.g. 80).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'visa': {'type': 'object'}, 'entry': {'type': 'object'}, 'composite': {'type': 'number'}, 'lifestyle': {'enum': ['out of budget', 'comfortable', 'very comfortable', 'like royalty'], 'type': 'string'}, 'valueScore': {'type': 'number'}, 'essentialsUsd': {'type': 'number'}, 'taxThresholdDays': {'type': 'number'}}}}, 'excluded': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'to': 'IN', 'from': 'GB', 'amount': 500}], 'properties': {'to': {'type': 'string', 'description': 'Receiving country, ISO alpha-2 (e.g. "IN").'}, 'from': {'type': 'string', 'description': 'Sending country, ISO alpha-2 (e.g. "GB").'}, 'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'lowest', 'description': 'Ranking direction when only one of `from`/`to` is given.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many corridors in a ranking.'}, 'amount': {'type': 'number', 'minimum': 1, 'description': "Amount to send, USD. Optional; without it the corridor's survey figures are returned unquoted."}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'quote': {'type': 'object'}, 'period': {'type': 'string'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'corridor': {'type': 'object'}, 'providers': {'type': 'number'}, 'attribution': {'type': 'object'}, 'avgCost200Pct': {'type': 'number'}, 'avgCost500Pct': {'type': 'number'}, 'cheapestCost200Pct': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'US', 'weeksOff': 6, 'desiredNet': 100000, 'utilization': 0.7}], 'required': ['desiredNet'], 'properties': {'hours': {'type': 'number', 'description': 'Hours per week (default 40).'}, 'health': {'type': 'number', 'description': 'Annual self-paid health insurance (USD); defaults to the country preset.'}, 'country': {'enum': ['US', 'GB', 'DE', 'FR', 'ES', 'NL', 'PT', 'EE', 'CA', 'AU', 'IN', 'AE', 'IT', 'GR', 'IE', 'DK', 'SE', 'NO', 'CH', 'CZ', 'PL', 'HU', 'TR', 'JP', 'KR', 'CN', 'SG', 'MY', 'TH', 'VN', 'ID', 'PH', 'NZ', 'SA', 'EG', 'ZA', 'NG', 'MX', 'BR', 'AR', 'CL', 'CO'], 'type': 'string', 'default': 'US'}, 'taxRate': {'type': 'number', 'description': 'Override effective tax rate, percent (e.g. 32).'}, 'expenses': {'type': 'number', 'description': 'Annual business expenses (USD, default 0).'}, 'weeksOff': {'type': 'number', 'description': 'Unpaid weeks off per year (default 4).'}, 'desiredNet': {'type': 'number', 'minimum': 1, 'description': 'Desired annual net take-home (USD).'}, 'utilization': {'type': 'number', 'description': 'Billable share of working hours, 0–1 (default 0.75).'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'dayRate': {'type': 'number'}, 'hourlyRate': {'type': 'number'}, 'billableHours': {'type': 'number'}, 'requiredGross': {'type': 'number'}}}
入力スキーマ
{'type': 'object', 'examples': [{'amount': 1500, 'currency': 'GBP'}], 'properties': {'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries.'}, 'amount': {'type': 'number', 'default': 1500, 'minimum': 1, 'description': 'Monthly pension, in `currency`.'}, 'currency': {'type': 'string', 'default': 'GBP', 'description': 'ISO 4217 code of `amount`.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'pension': {'type': 'object'}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'users': 'US-East:40,UK:30,Germany:30'}], 'required': ['users'], 'properties': {'hosts': {'type': 'string', 'description': "Optional comma-separated host region ids to restrict candidates (e.g. 'us-east-1,eu-west-2')."}, 'users': {'type': 'string', 'description': "Comma-separated region:percent pairs (percentages auto-normalize), e.g. 'US-East:40,UK:30,Germany:30'. Region ids: US-East, US-West, Canada, Brazil, UK, Germany, France, Spain, Nigeria, South-Africa, UAE, India, Singapore, China, Japan, Australia."}, 'provider': {'enum': ['AWS', 'GCP', 'Azure'], 'type': 'string', 'description': 'Optional cloud provider filter, applied before the hosts whitelist.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'best': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'city': {'type': 'string'}, 'provider': {'type': 'string'}, 'weightedMs': {'type': 'number'}}}, 'split': {'type': 'object', 'properties': {'hostsUsed': {'type': 'array', 'items': {'type': 'string'}}, 'weightedMs': {'type': 'number'}, 'improvementMs': {'type': 'number'}}}, 'ranking': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'weightedMs': {'type': 'number'}}}}}}
入力スキーマ
{'type': 'object', 'examples': [{'country': 'TH'}], 'properties': {'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'lowest', 'description': 'Ranking direction when neither `country` nor `countries` is given: lowest = least restricted first.'}, 'limit': {'type': 'number', 'minimum': 1, 'description': 'Return at most this many countries in a ranking.'}, 'country': {'type': 'string', 'description': 'One ISO alpha-2 code for the full advice (e.g. "TH").'}, 'countries': {'type': 'string', 'description': 'Comma-separated ISO alpha-2 codes, two or more, for a side-by-side. Ignored when `country` is given.'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'us': {'type': 'object'}, 'fcdo': {'type': 'object'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'excluded': {'type': 'array', 'items': {'type': 'string'}}, 'attribution': {'type': 'object'}}}
入力スキーマ
{'type': 'object', 'examples': [{'to': 'GB', 'from': 'TH'}], 'properties': {'to': {'type': 'string', 'description': "ISO alpha-2 code of the recipient's country; unlocks the treaty rate."}, 'from': {'type': 'string', 'description': "ISO alpha-2 code of the paying company's country."}, 'sort': {'enum': ['lowest', 'highest'], 'type': 'string', 'default': 'lowest'}, 'type': {'enum': ['dividends', 'interest', 'royalties', 'technicalFees'], 'type': 'string', 'default': 'dividends', 'description': 'Income type to rank by when `from` is not given.'}, 'limit': {'type': 'number', 'minimum': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'properties': {'ok': {'type': 'boolean'}, 'to': {'type': 'object'}, 'rows': {'type': 'array', 'items': {'type': 'object'}}, 'lines': {'type': 'array', 'items': {'type': 'object'}}, 'treaty': {'type': 'object'}, 'caveats': {'type': 'array', 'items': {'type': 'string'}}, 'standard': {'type': 'object'}, 'attribution': {'type': 'object'}}}
最近のツール変更
類似のMCPサーバー
mcp-server
Provides immigration, citizenship and residency programme research alongside tax, wealth structuring, banking, visa, treaty and c…
AI 代理人任務中樞
Aggregates Taiwan-focused tools for AI service comparisons, cryptocurrency data, game information, health guidance, and other con…
Good Turn Studio (all tools)
Offers consumer utilities for insurance claim appeals, subscription cancellation, flight fare research, financial recovery resour…
FalaZuki Finance BR
Provides Brazil-focused financial calculations and rules for investments, credit, taxes, payroll, labor costs, debt, budgeting, a…
XBOSS
Accesses Korean tax, social insurance, payroll, cash receipt, e-tax invoice, and certificate filing services.
Sirenic
Provides European company registry, financial, procurement, sanctions, regulatory, insolvency, ownership, and ongoing due-diligen…
taxsort-mcp
Classifies personal tax transactions, applies user-defined rules, manages tax-year sessions, and provides account, usage, and cre…
mcp
Analyzes medical bills and insurance denials, estimates healthcare costs, identifies assistance options, and supports appeals and…