Skip to main content
Glama

Mirabello Immigration Intelligence

Generate Personalised Briefing

generate_briefing
Destructive

Generate a personalised Mirabello briefing: given a client profile (nationality, budget, family, goals), returns a ranked shortlist with full family cost math AND a shareable branded briefing page URL (valid 90 days). Optionally registers the client for specialist follow-up (email + consent): that sends a follow-up request to Mirabello. Each call creates a new briefing link, and with email + consent repeating the call sends another request.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

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

Input Schema

NameRequiredDescriptionDefault
goalNoprimary goal in own words
typeNocitizenship or residency preference (omit for both)
emailNooptional — to register for specialist follow-up
adultsNoadult applicants incl. spouse (default 1)
consentNorequired true if email given (GDPR)
websiteNoleave blank (spam honeypot)
tax_goalNoTrue when the applicant's main objective is a tax outcome rather than mobility.
budget_maxNomaximum investment budget in USD
nationalityNoclient nationality (country name)
programme_idsNooptional: specific programmes to brief on (max 3) instead of auto-shortlist
children_16plusNoNumber of dependent children aged 16 or over — usually priced higher than under-16s.
children_under16NoNumber of dependent children aged under 16 — priced separately by most Caribbean programmes.
mobility_priorityNoTrue when visa-free travel is the applicant's main objective.
timeline_max_monthsNoMaximum acceptable time to the outcome, in MONTHS.

Output Schema

NameRequiredDescriptionDefault
errorNo
termsNo
sourceNo
book_urlNo
providerNo
disclaimerNo
data_updatedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedOutput schema / description
      Previous value: -"Mirabello response envelope. Tool-specific fields vary; the provenance/disclaimer envelope is always present."New value: +"Mirabello envelope; tool fields vary; error only on failure."
    • removedOutput schema / properties / book_url / description
      Removed value: -"Link to request a consultation with a Mirabello specialist, for a personal case."
    • removedOutput schema / properties / data_updated / description
      Removed value: -"Date the underlying dataset was last updated."
    • removedOutput schema / properties / disclaimer / description
      Removed value: -"Information, not legal/tax/financial/immigration advice; figures indicative."
    • removedOutput schema / properties / error / description
      Removed value: -"Present only when the request could not be fulfilled."
    • removedOutput schema / properties / provider / description
      Removed value: -"Always \"Mirabello Consultancy\"."
    • removedOutput schema / properties / source / description
      Removed value: -"Attribution for the data, when it is not Mirabello Consultancy itself."
    • removedOutput schema / properties / terms / description
      Removed value: -"Acceptable-use and information-not-advice terms."
  2. 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."
  3. Changed8 schema fields changed
    • addedInput schema / properties / children_16plus / description
      Added value: +"Number of dependent children aged 16 or over — usually priced higher than under-16s."
    • addedInput schema / properties / children_16plus / examples
      Added value: +[
      +  1
      +]
    • addedInput schema / properties / children_under16 / description
      Added value: +"Number of dependent children aged under 16 — priced separately by most Caribbean programmes."
    • addedInput schema / properties / children_under16 / examples
      Added value: +[
      +  1
      +]
    • addedInput schema / properties / mobility_priority / description
      Added value: +"True when visa-free travel is the applicant's main objective."
    • addedInput schema / properties / tax_goal / description
      Added value: +"True when the applicant's main objective is a tax outcome rather than mobility."
    • addedInput schema / properties / timeline_max_months / description
      Added value: +"Maximum acceptable time to the outcome, in MONTHS."
    • addedInput schema / properties / timeline_max_months / examples
      Added value: +[
      +  12
      +]
  4. 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"
      +}
  5. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-idempotent, destructive; the description adds real value beyond them — each call creates a new briefing link, email + consent triggers an outbound follow-up request to Mirabello, and the page URL expires in 90 days. It doesn't explain why destructiveHint is true, but this is a create-and-share operation with side effects that are otherwise well disclosed.

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-loads what you get back (shortlist, cost math, URL) before the optional follow-up path. It is slightly redundant — the follow-up side effect is stated twice in the final sentence — but still compact and well ordered.

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

Completeness4/5

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

With an output schema and full annotations, the description is more than sufficient: it covers the return artifacts, URL lifetime, and the outbound-request side effect of email + consent. Only a mapping to alternative shortlist/comparison 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 coverage is 100%, so the baseline is 3. The description adds some cross-parameter semantics (email must be paired with consent under GDPR; programme_ids overrides auto-shortlisting) and groups the client profile fields, but most per-field meaning is already carried by the schema.

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

Purpose4/5

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

States a specific verb (generate) and a concrete artifact (a personalised briefing with ranked shortlist, cost math, and a shareable URL). It is distinguishable from siblings like recommend_programmes or compare_programmes because it produces a shareable branded page, though it doesn't name any sibling explicitly.

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?

Gives clear triggering context: supply a client profile and optionally email + consent to register for follow-up, with the noted consequence that repeat calls create new links and repeat requests. It lacks explicit when-not-to-use guidance or pointers to alternatives such as recommend_programmes for a plain shortlist.

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.