Skip to main content
Glama

Plan Path — Freedom Compass

plan_path
Read-only

The Mirabello Freedom Compass — ORIGIN-AWARE migration path planner. Given the client's STARTING POINT — current citizenship(s) + tax residence — plus their goal, returns ranked end-to-end options. The origin is the constraint: it sets the MOBILITY DELTA (what a passport actually ADDS over the one they hold — a Caribbean passport adds little to a US/EU citizen, lots to others), eligibility/restrictions, and tax-exit/reporting considerations (e.g. US citizenship-based tax & §877A, German AStG §6 — generic, sourced, CHECK-OFFICIAL-SOURCE). Each path carries fit_score + rationale, mobility_delta, eligibility, min_investment, processing_time. Informational only, not advice. Use for "I am a [nationality], I want [goal] — what should I do?". Pass from_citizenship (ISO alpha-2 array) + goal.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
goalNoWhat the applicant is optimising for, in plain words: visa-free travel, tax residence, family relocation.
familyNoFamily composition object, e.g. { "adults": 2, "children_under16": 1, "children_16plus": 0 }.
budget_usdNoTotal budget the applicant has available for the investment itself, in USD (fees are additional).
timeline_monthsNoTarget time to the outcome, in MONTHS.
from_citizenshipYescurrent citizenship(s), ISO alpha-2 e.g. ["US"]
from_tax_residenceNoISO alpha-2 tax residence (defaults to first citizenship)
physical_presence_toleranceNoHow much time the applicant can spend in-country: "none", "minimal", "flexible", "relocating".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent only when the request could not be fulfilled.
termsNoAcceptable-use and information-not-advice terms.
sourceNoAttribution for the data, when it is not Mirabello Consultancy itself.
book_urlNoLink to request a consultation with a Mirabello specialist, for a personal case.
providerNoAlways "Mirabello Consultancy".
disclaimerNoInformation, not legal/tax/financial/immigration advice; figures indicative.
data_updatedNoDate the underlying dataset was last updated.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • removedOutput schema / properties / book_a_consultation
      Removed value: -{
      -  "description": "URL to book a Mirabello consultation.",
      -  "type": "string"
      -}
    • addedOutput schema / properties / book_url
      Added value: +{
      +  "description": "Link to request a consultation with a Mirabello specialist, for a personal case.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / source / description
      Previous value: -"Attribution for the data."New value: +"Attribution for the data, when it is not Mirabello Consultancy itself."
  2. Changed9 schema fields changed
    • addedInput schema / properties / budget_usd / description
      Added value: +"Total budget the applicant has available for the investment itself, in USD (fees are additional)."
    • addedInput schema / properties / budget_usd / examples
      Added value: +[
      +  300000
      +]
    • addedInput schema / properties / family / description
      Added value: +"Family composition object, e.g. { \"adults\": 2, \"children_under16\": 1, \"children_16plus\": 0 }."
    • addedInput schema / properties / goal / description
      Added value: +"What the applicant is optimising for, in plain words: visa-free travel, tax residence, family relocation."
    • addedInput schema / properties / goal / examples
      Added value: +[
      +  "visa-free travel"
      +]
    • addedInput schema / properties / physical_presence_tolerance / description
      Added value: +"How much time the applicant can spend in-country: \"none\", \"minimal\", \"flexible\", \"relocating\"."
    • addedInput schema / properties / physical_presence_tolerance / examples
      Added value: +[
      +  "minimal"
      +]
    • addedInput schema / properties / timeline_months / description
      Added value: +"Target time to the outcome, in MONTHS."
    • addedInput schema / properties / timeline_months / examples
      Added value: +[
      +  9
      +]
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Mirabello response envelope. Tool-specific fields vary; the provenance/disclaimer envelope is always present.",
      +  "properties": {
      +    "book_a_consultation": {
      +      "description": "URL to book a Mirabello consultation.",
      +      "type": "string"
      +    },
      +    "data_updated": {
      +      "description": "Date the underlying dataset was last updated.",
      +      "type": "string"
      +    },
      +    "disclaimer": {
      +      "description": "Information, not legal/tax/financial/immigration advice; figures indicative.",
      +      "type": "string"
      +    },
      +    "error": {
      +      "description": "Present only when the request could not be fulfilled.",
      +      "type": "string"
      +    },
      +    "provider": {
      +      "description": "Always \"Mirabello Consultancy\".",
      +      "type": "string"
      +    },
      +    "source": {
      +      "description": "Attribution for the data.",
      +      "type": "string"
      +    },
      +    "terms": {
      +      "description": "Acceptable-use and information-not-advice terms.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  4. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safe-read profile (readOnlyHint/destructiveHint false), and the description adds substantial behavioral context: it is informational only, not advice; data is generic and sourced and should be CHECK-OFFICIAL-SOURCE; it discloses the tax-exit/reporting logic (US §877A, German AStG §6) it will surface. That is real value beyond structured fields, though no rate/limit behavior is discussed.

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

Conciseness4/5

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

Front-loaded with the core identity and the key constraint concept, then the return fields, then the usage cue. Dense but every sentence carries content; the heavy CAPS emphasis and stacked tax references make it slightly noisy rather than wasteful.

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

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return-value explanation is not strictly required, yet the description partly covers it. With annotations carrying safety and a rich 7-param schema, the description supplies the remaining context an agent needs — the informational caveat and the origin-constraint framing — leaving little meaningfully missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds semantic weight the schema does not: it frames from_citizenship as 'the constraint' that drives mobility delta and eligibility, and explains why a second passport's value depends on origin. It also re-states the ISO alpha-2 array format for from_citizenship.

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 — an 'ORIGIN-AWARE migration path planner' — and immediately names the differentiating concept (the origin/mobility delta) that separates it from generic pathway tools like find_pathways or recommend_programmes. An agent can tell what it returns (ranked end-to-end options with fit_score) without opening the schema.

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?

Provides a clear trigger phrase ("I am a [nationality], I want [goal] — what should I do?") and states exactly what to pass (from_citizenship + goal). It does not explicitly name which sibling to use when origin-awareness is NOT the point (e.g. find_pathways, recommend_programmes), so routing against alternatives is left implicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.